資料介紹
作為基于ARM7、Cortex-M3硬件開發(fā)的嵌入式工程師,本人一直反對使用RTOS。不僅因?yàn)椴磺‘?dāng)?shù)氖褂肦TOS會給項(xiàng)目帶來額外的穩(wěn)定性風(fēng)險,更重要的是個人認(rèn)為絕大多數(shù)基于ARM7、Cortex-M3硬件的項(xiàng)目,還沒復(fù)雜到使用RTOS的地步,使用狀態(tài)機(jī)就足夠了。
對于現(xiàn)代的微處理器,特別是資源相對豐富ARM7、Cortex-M3硬件來說,RTOS占用的硬件資源已經(jīng)越來越可以忽略。所以在當(dāng)今環(huán)境下,我們無需擔(dān)心RTOS會拖累性能。相反,RTOS提供的事件驅(qū)動型設(shè)計方式,使得RTOS只是在處理實(shí)際任務(wù)時才會運(yùn)行,這能夠更合理的利用CPU。
在實(shí)際項(xiàng)目中,如果程序等待一個超時事件,傳統(tǒng)的無RTOS情況下,要么在原地一直等待而不能執(zhí)行其它任務(wù),要么使用復(fù)雜(相對RTOS提供的任務(wù)機(jī)制而言)的狀態(tài)機(jī)機(jī)制。如果使用RTOS,則可以很方便的將當(dāng)前任務(wù)阻塞在該事件下,然后自動去執(zhí)行別的任務(wù),這顯然更方便,并且可以高效的利用CPU。處理這類事件,是使用RTOS的最大動力,但考慮到系統(tǒng)的穩(wěn)定性,不得不再三權(quán)衡RTOS可能帶來的一些弊端:
1、大多數(shù)RTOS代碼都具有一定規(guī)模,任何代碼都可能帶來BUG,何況是代碼具有一定規(guī)模的RTOS,因此引入RTOS的同時也可能會引入該RTOS的BUG,這些RTOS本身的BUG一旦被觸發(fā),影響可能是是災(zāi)難性的。
2、熟練的使用RTOS是一項(xiàng)技能,需要專業(yè)的知識儲備和長期的經(jīng)驗(yàn)積累。不將RTOS分析透徹,很容易為項(xiàng)目埋下錯誤。典型的,像中斷優(yōu)先級、任務(wù)堆棧分配、可重入等,都是更容易出錯的地方。
3、RTOS的優(yōu)先級嵌套使得任務(wù)執(zhí)行順序、執(zhí)行時序更難分析,甚至變成不可能。任務(wù)嵌套對所需的最大堆棧RAM大小估計也變得困難。這對于很多對安全有嚴(yán)格要求的場合是不可想象的。
4、RTOS應(yīng)該用于任務(wù)復(fù)雜的場合,以至于對任務(wù)調(diào)度的需求可以抵消RTOS所帶來的穩(wěn)定性影響,但大部分的應(yīng)用并非復(fù)雜到需要RTOS。
以上原因是本人拒絕在實(shí)際項(xiàng)目中使用RTOS的理由,但是否使用RTOS跟是否學(xué)習(xí)RTOS完全是兩碼事。個人認(rèn)為任何嵌入式軟件設(shè)計人員都應(yīng)該至少學(xué)習(xí)一種RTOS,不僅是需要掌握RTOS背后的操作系統(tǒng)原理、學(xué)習(xí)RTOS的編程方式,更是為將來做準(zhǔn)備。
即便個人認(rèn)為現(xiàn)在的物聯(lián)網(wǎng)有點(diǎn)言過其實(shí),但依然看好物聯(lián)網(wǎng)的發(fā)展前景。隨著物聯(lián)網(wǎng)的發(fā)展,未來的嵌入式產(chǎn)品必然更為復(fù)雜、連接性更強(qiáng)以及需要更豐富的用戶界面。當(dāng)處理這些任務(wù)時,一個好的RTOS就變得不可缺少了。
書到用時方恨少,希望大家永遠(yuǎn)不會有這種感覺。
為什么選用FreeRTOS?
對比了許多RTOS,最后選擇FreeRTOS,原因是多方面的:
1、SafeRTOS便是基于FreeRTOS而來,前者是經(jīng)過安全認(rèn)證的RTOS,因此對于FreeRTOS的安全性也有了信心。
2、大量開發(fā)者使用,并保持高速增長趨勢。2011、2012、2013、2014、2015連續(xù)5年的EEtimes雜志嵌入式系統(tǒng)市場報告顯示,F(xiàn)reeRTOS在RTOS內(nèi)核使用榜和RTOS內(nèi)核計劃使用榜上都名列前茅。更多的人使用可以促進(jìn)發(fā)現(xiàn)BUG,增強(qiáng)穩(wěn)定性。
3、簡單。內(nèi)核只有3個.c文件,全部圍繞著任務(wù)調(diào)度,沒有任何其它干擾,便于理解學(xué)習(xí)。而且,根本不需要其它繁多的功能,只要任務(wù)調(diào)度就夠了。
4、文檔齊全。在FreeRTOS官方網(wǎng)站上,可以找到所有你需要的資料。
5、免費(fèi)、開放源碼。完全可以免費(fèi)用于商業(yè)產(chǎn)品,開放源碼更便于學(xué)習(xí)操作系統(tǒng)原理、從全局掌握FreeRTOS運(yùn)行機(jī)理、以及對操作系統(tǒng)進(jìn)行深度裁剪以適應(yīng)自己的硬件。
學(xué)習(xí)的資料來源主要是FreeRTOS的官方網(wǎng)站()和源代碼。FreeRTOS的創(chuàng)始人RichardBarry編寫了大量的移植代碼和配套文檔,只不過是沿著Richard Barry鋪好的路前進(jìn),所以,這沒什么困難的。
附錄1:2010~2014年嵌入式市場調(diào)查報告有關(guān)RTOS使用榜截圖
↑↑2010和2011年RTOS使用榜 ↑↑2012和2013年RTOS使用榜↑↑2013年和2014年RTOS使用榜↑↑2014年和2015年RTOS使用榜(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式工程師月薪有多少?零基礎(chǔ)學(xué)嵌入式要多久?
- 嵌入式工程師培訓(xùn)技能 嵌入式開發(fā)學(xué)什么?
- 嵌入式Linux要學(xué)哪些?
- freertos和嵌入式linux區(qū)別,嵌入式工程師,你知道為什么要學(xué)RTOS?為什么要選用FreeRTOS?...
- 學(xué)軟件嵌入式需要學(xué)c語言嗎,嵌入式軟件工程師需要學(xué)什么?
- 基于FreeRTOS的嵌入式云臺控制系統(tǒng)設(shè)計
- 編程規(guī)范及原則對于嵌入式開發(fā)的工程師來說真的很重要資料下載
- 10年研發(fā)嵌入式工程師悟出的道理資料下載
- 選擇電機(jī)型號時,工程師要考慮的三個首要因素資料下載
- 嵌入式工程師分享:學(xué)習(xí)單片機(jī)必備的八大步驟資料下載
- 成為高級嵌入式系統(tǒng)硬件工程師要具備的技能資料下載
- 高級PCB工程師要會些什么?資料下載
- 如何成為高級嵌入式工程師?資料下載
- 怎么樣才能入門嵌入式嵌入式未來的發(fā)展方向是怎樣的
- 嵌入式開發(fā)要學(xué)什么嵌入式開發(fā)的一些入門教材推薦 27次下載
- 嵌入式軟件工程師常用的 690次閱讀
- STM32嵌入式開發(fā)中的RTOS,你用過哪些? 2251次閱讀
- RA FreeRTOS任務(wù)創(chuàng)建 733次閱讀
- 嵌入式系統(tǒng)的這11個特點(diǎn)你知道嗎 6938次閱讀
- 學(xué)習(xí)嵌入式技術(shù)的重點(diǎn)分享 2794次閱讀
- 英創(chuàng)信息技術(shù)關(guān)于嵌入式工程師建議 1727次閱讀
- 詳細(xì)盤點(diǎn)工程師嵌入式開發(fā)必備工具讓工作事半功倍 5737次閱讀
- 你不知道嵌入式工程師,耍起C語言的萬能“三板斧”! 1082次閱讀
- 新手學(xué)嵌入式學(xué)習(xí)路線大綱分享 嵌入式學(xué)習(xí)路線怎么學(xué) 3574次閱讀
- FreeRTOS知識解密:我們?yōu)槭裁?b class="flag-6" style="color: red">要學(xué)習(xí)RTOS?為什么要選用FreeRTOS? 2.6w次閱讀
- 嵌入式Linux工程師的學(xué)習(xí)發(fā)展步驟,如何測試工程師之間的區(qū)別 4302次閱讀
- 嵌入式軟件工程師和嵌入式硬件工程師有什么區(qū)別 7.1w次閱讀
- 學(xué)嵌入式開發(fā)難嗎_學(xué)好嵌入式開發(fā)需要多久 1.5w次閱讀
- 成為一個正式的嵌入式開發(fā)工程師,需要知道的嵌入式系統(tǒng)開發(fā)7大技巧 1w次閱讀
- 基于FreeRTOS的嵌入式實(shí)時操作系統(tǒng)的原理和實(shí)現(xiàn) 6715次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論