資料介紹
作為基于ARM7、Cortex-M3硬件開發(fā)的嵌入式工程師,本人一直反對(duì)使用RTOS。不僅因?yàn)椴磺‘?dāng)?shù)氖褂肦TOS會(huì)給項(xiàng)目帶來額外的穩(wěn)定性風(fēng)險(xiǎn),更重要的是個(gè)人認(rèn)為絕大多數(shù)基于ARM7、Cortex-M3硬件的項(xiàng)目,還沒復(fù)雜到使用RTOS的地步,使用狀態(tài)機(jī)就足夠了。
對(duì)于現(xiàn)代的微處理器,特別是資源相對(duì)豐富ARM7、Cortex-M3硬件來說,RTOS占用的硬件資源已經(jīng)越來越可以忽略。所以在當(dāng)今環(huán)境下,我們無(wú)需擔(dān)心RTOS會(huì)拖累性能。相反,RTOS提供的事件驅(qū)動(dòng)型設(shè)計(jì)方式,使得RTOS只是在處理實(shí)際任務(wù)時(shí)才會(huì)運(yùn)行,這能夠更合理的利用CPU。
在實(shí)際項(xiàng)目中,如果程序等待一個(gè)超時(shí)事件,傳統(tǒng)的無(wú)RTOS情況下,要么在原地一直等待而不能執(zhí)行其它任務(wù),要么使用復(fù)雜(相對(duì)RTOS提供的任務(wù)機(jī)制而言)的狀態(tài)機(jī)機(jī)制。如果使用RTOS,則可以很方便的將當(dāng)前任務(wù)阻塞在該事件下,然后自動(dòng)去執(zhí)行別的任務(wù),這顯然更方便,并且可以高效的利用CPU。處理這類事件,是使用RTOS的最大動(dòng)力,但考慮到系統(tǒng)的穩(wěn)定性,不得不再三權(quán)衡RTOS可能帶來的一些弊端:
1、大多數(shù)RTOS代碼都具有一定規(guī)模,任何代碼都可能帶來BUG,何況是代碼具有一定規(guī)模的RTOS,因此引入RTOS的同時(shí)也可能會(huì)引入該RTOS的BUG,這些RTOS本身的BUG一旦被觸發(fā),影響可能是是災(zāi)難性的。
2、熟練的使用RTOS是一項(xiàng)技能,需要專業(yè)的知識(shí)儲(chǔ)備和長(zhǎng)期的經(jīng)驗(yàn)積累。不將RTOS分析透徹,很容易為項(xiàng)目埋下錯(cuò)誤。典型的,像中斷優(yōu)先級(jí)、任務(wù)堆棧分配、可重入等,都是更容易出錯(cuò)的地方。
3、RTOS的優(yōu)先級(jí)嵌套使得任務(wù)執(zhí)行順序、執(zhí)行時(shí)序更難分析,甚至變成不可能。任務(wù)嵌套對(duì)所需的最大堆棧RAM大小估計(jì)也變得困難。這對(duì)于很多對(duì)安全有嚴(yán)格要求的場(chǎng)合是不可想象的。
4、RTOS應(yīng)該用于任務(wù)復(fù)雜的場(chǎng)合,以至于對(duì)任務(wù)調(diào)度的需求可以抵消RTOS所帶來的穩(wěn)定性影響,但大部分的應(yīng)用并非復(fù)雜到需要RTOS。
以上原因是本人拒絕在實(shí)際項(xiàng)目中使用RTOS的理由,但是否使用RTOS跟是否學(xué)習(xí)RTOS完全是兩碼事。個(gè)人認(rèn)為任何嵌入式軟件設(shè)計(jì)人員都應(yīng)該至少學(xué)習(xí)一種RTOS,不僅是需要掌握RTOS背后的操作系統(tǒng)原理、學(xué)習(xí)RTOS的編程方式,更是為將來做準(zhǔn)備。
即便個(gè)人認(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ù)時(shí),一個(gè)好的RTOS就變得不可缺少了。
書到用時(shí)方恨少,希望大家永遠(yuǎn)不會(huì)有這種感覺。
為什么選用FreeRTOS?
對(duì)比了許多RTOS,最后選擇FreeRTOS,原因是多方面的:
1、SafeRTOS便是基于FreeRTOS而來,前者是經(jīng)過安全認(rèn)證的RTOS,因此對(duì)于FreeRTOS的安全性也有了信心。
2、大量開發(fā)者使用,并保持高速增長(zhǎng)趨勢(shì)。2011、2012、2013、2014、2015連續(xù)5年的EEtimes雜志嵌入式系統(tǒng)市場(chǎng)報(bào)告顯示,F(xiàn)reeRTOS在RTOS內(nèi)核使用榜和RTOS內(nèi)核計(jì)劃使用榜上都名列前茅。更多的人使用可以促進(jìn)發(fā)現(xiàn)BUG,增強(qiáng)穩(wěn)定性。
3、簡(jiǎn)單。內(nèi)核只有3個(gè).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ī)理、以及對(duì)操作系統(tǒng)進(jìn)行深度裁剪以適應(yīng)自己的硬件。
學(xué)習(xí)的資料來源主要是FreeRTOS的官方網(wǎng)站()和源代碼。FreeRTOS的創(chuàng)始人RichardBarry編寫了大量的移植代碼和配套文檔,只不過是沿著Richard Barry鋪好的路前進(jìn),所以,這沒什么困難的。
附錄1:2010~2014年嵌入式市場(chǎng)調(diào)查報(bà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語(yǔ)言嗎,嵌入式軟件工程師需要學(xué)什么?
- 基于FreeRTOS的嵌入式云臺(tái)控制系統(tǒng)設(shè)計(jì)
- 編程規(guī)范及原則對(duì)于嵌入式開發(fā)的工程師來說真的很重要資料下載
- 10年研發(fā)嵌入式工程師悟出的道理資料下載
- 選擇電機(jī)型號(hào)時(shí),工程師要考慮的三個(gè)首要因素資料下載
- 嵌入式工程師分享:學(xué)習(xí)單片機(jī)必備的八大步驟資料下載
- 成為高級(jí)嵌入式系統(tǒng)硬件工程師要具備的技能資料下載
- 高級(jí)PCB工程師要會(huì)些什么?資料下載
- 如何成為高級(jí)嵌入式工程師?資料下載
- 怎么樣才能入門嵌入式嵌入式未來的發(fā)展方向是怎樣的
- 嵌入式開發(fā)要學(xué)什么嵌入式開發(fā)的一些入門教材推薦 27次下載
- 嵌入式軟件工程師常用的 690次閱讀
- STM32嵌入式開發(fā)中的RTOS,你用過哪些? 2251次閱讀
- RA FreeRTOS任務(wù)創(chuàng)建 733次閱讀
- 嵌入式系統(tǒng)的這11個(gè)特點(diǎn)你知道嗎 6938次閱讀
- 學(xué)習(xí)嵌入式技術(shù)的重點(diǎn)分享 2794次閱讀
- 英創(chuàng)信息技術(shù)關(guān)于嵌入式工程師建議 1727次閱讀
- 詳細(xì)盤點(diǎn)工程師嵌入式開發(fā)必備工具讓工作事半功倍 5737次閱讀
- 你不知道嵌入式工程師,耍起C語(yǔ)言的萬(wàn)能“三板斧”! 1082次閱讀
- 新手學(xué)嵌入式學(xué)習(xí)路線大綱分享 嵌入式學(xué)習(xí)路線怎么學(xué) 3574次閱讀
- FreeRTOS知識(shí)解密:我們?yōu)槭裁?b class="flag-6" style="color: red">要學(xué)習(xí)RTOS?為什么要選用FreeRTOS? 2.6w次閱讀
- 嵌入式Linux工程師的學(xué)習(xí)發(fā)展步驟,如何測(cè)試工程師之間的區(qū)別 4302次閱讀
- 嵌入式軟件工程師和嵌入式硬件工程師有什么區(qū)別 7.1w次閱讀
- 學(xué)嵌入式開發(fā)難嗎_學(xué)好嵌入式開發(fā)需要多久 1.5w次閱讀
- 成為一個(gè)正式的嵌入式開發(fā)工程師,需要知道的嵌入式系統(tǒng)開發(fā)7大技巧 1w次閱讀
- 基于FreeRTOS的嵌入式實(shí)時(shí)操作系統(tǒng)的原理和實(shí)現(xiàn) 6715次閱讀
下載排行
本周
- 1涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 2錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 29次下載 | 1 積分
- 3錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 3次下載 | 1 積分
- 4蘋果iphone 11電路原理圖
- 4.98 MB | 3次下載 | 2 積分
- 5基礎(chǔ)模擬電子電路
- 3.80 MB | 3次下載 | 1 積分
- 6RA-Eco-RA6M4-100PIN-V1.0開發(fā)板資料
- 34.89 MB | 1次下載 | 免費(fèi)
- 7STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè)
- 3.32 MB | 1次下載 | 免費(fèi)
- 8聯(lián)想A820t手機(jī)維修圖紙包括主板原理圖 尾板原理圖 點(diǎn)位圖
- 0.62 MB | 次下載 | 5 積分
本月
- 1AI智能眼鏡產(chǎn)業(yè)鏈分析
- 4.43 MB | 383次下載 | 免費(fèi)
- 2蘇泊爾電磁爐線路的電路原理圖資料合集
- 2.02 MB | 296次下載 | 5 積分
- 3貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說明
- 0.50 MB | 94次下載 | 1 積分
- 4長(zhǎng)虹液晶電視R-HS310B-5HF01的電源板電路原理圖
- 0.46 MB | 91次下載 | 5 積分
- 5涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 6錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 29次下載 | 1 積分
- 7AO4803A雙P通道增強(qiáng)型場(chǎng)效應(yīng)晶體管的數(shù)據(jù)手冊(cè)
- 0.11 MB | 28次下載 | 2 積分
- 8長(zhǎng)虹液晶彩電LS29機(jī)芯的技術(shù)資料說明
- 3.42 MB | 16次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191388次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論