日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FreeRTOS系列第1篇---为什么选择FreeRTOS?

發(fā)布時間:2025/3/12 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FreeRTOS系列第1篇---为什么选择FreeRTOS? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.為什么學(xué)習(xí)RTOS?

???????? 作為基于ARM7、Cortex-M3硬件開發(fā)的嵌入式工程師,我一直反對使用RTOS。不僅因為不恰當(dāng)?shù)氖褂肦TOS會給項目帶來額外的穩(wěn)定性風(fēng)險,更重要的是我認(rèn)為絕大多數(shù)基于ARM7、Cortex-M3硬件的項目,還沒復(fù)雜到使用RTOS的地步,使用狀態(tài)機(jī)就足夠了。

???????? 對于現(xiàn)代的微處理器,特別是資源相對豐富ARM7、Cortex-M3硬件來說,RTOS占用的硬件資源已經(jīng)越來越可以忽略。所以在當(dāng)今環(huán)境下,我們無需擔(dān)心RTOS會拖累性能。相反,RTOS提供的事件驅(qū)動型設(shè)計方式,使得RTOS只是在處理實際任務(wù)時才會運行,這能夠更合理的利用CPU。在實際項目中,如果程序等待一個超時事件,傳統(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可能帶來的一些弊端:

  • 大多數(shù)RTOS代碼都具有一定規(guī)模,任何代碼都可能帶來BUG,何況是代碼具有一定規(guī)模的RTOS,因此引入RTOS的同時也可能會引入該RTOS的BUG,這些RTOS本身的BUG一旦被觸發(fā),影響可能是是災(zāi)難性的。
  • 熟練的使用RTOS是一項技能,需要專業(yè)的知識儲備和長期的經(jīng)驗積累。不將RTOS分析透徹,很容易為項目埋下錯誤。典型的,像中斷優(yōu)先級、任務(wù)堆棧分配、可重入等,都是更容易出錯的地方。
  • RTOS的優(yōu)先級嵌套使得任務(wù)執(zhí)行順序、執(zhí)行時序更難分析,甚至變成不可能。任務(wù)嵌套對所需的最大堆棧RAM大小估計也變得困難。這對于很多對安全有嚴(yán)格要求的場合是不可想象的。
  • RTOS應(yīng)該用于任務(wù)復(fù)雜的場合,以至于對任務(wù)調(diào)度的需求可以抵消RTOS所帶來的穩(wěn)定性影響,但大部分的應(yīng)用并非復(fù)雜到需要RTOS。
  • ???????? 以上原因是我拒絕在實際項目中使用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)有點言過其實,但我依然看好物聯(lián)網(wǎng)的發(fā)展前景。隨著物聯(lián)網(wǎng)的發(fā)展,未來的嵌入式產(chǎn)品必然更為復(fù)雜、連接性更強(qiáng)以及需要更豐富的用戶界面。當(dāng)處理這些任務(wù)時,一個好的RTOS就變得不可缺少了。

    ???????? 書到用時方恨少,我希望自己永遠(yuǎn)不會有這種感覺。所以從現(xiàn)在起,我要開始深入一個RTOS,探索它背后的原理,掌握其編程方法,避免其缺陷和陷阱,并將它安全的用在將來的項目中。

    2.為什么選用FreeRTOS?

    ???????? 對比了許多RTOS,最終選擇FreeRTOS,原因是多方面的:

  • SafeRTOS便是基于FreeRTOS而來,前者是經(jīng)過安全認(rèn)證的RTOS,因此對于FreeRTOS的安全性也有了信心。
  • ?大量開發(fā)者使用,并保持高速增長趨勢。2011、2012、2013、2014、2015連續(xù)5年的EEtimes雜志嵌入式系統(tǒng)市場報告顯示,FreeRTOS在RTOS內(nèi)核使用榜和RTOS內(nèi)核計劃使用榜上都名列前茅。更多的人使用可以促進(jìn)發(fā)現(xiàn)BUG,增強(qiáng)穩(wěn)定性。
  • 簡單。內(nèi)核只有3個.c文件,全部圍繞著任務(wù)調(diào)度,沒有任何其它干擾,便于理解學(xué)習(xí)。而且,我根本不需要其它繁多的功能,只要任務(wù)調(diào)度就夠了。
  • 文檔齊全。在FreeRTOS官方網(wǎng)站上,可以找到所有你需要的資料。
  • 免費、開放源碼。完全可以免費用于商業(yè)產(chǎn)品,開放源碼更便于學(xué)習(xí)操作系統(tǒng)原理、從全局掌握FreeRTOS運行機(jī)理、以及對操作系統(tǒng)進(jìn)行深度裁剪以適應(yīng)自己的硬件。
  • ???????? 學(xué)習(xí)的資料來源主要是FreeRTOS的官方網(wǎng)站(www.freertos.org)和源代碼。FreeRTOS的創(chuàng)始人RichardBarry編寫了大量的移植代碼和配套文檔,我只不過是沿著Richard Barry鋪好的路前進(jìn),所以,這沒什么困難的。

    ???????? 最后,感謝RichardBarry的付出,感謝Richard Barry的無私開源精神!


    附錄1:2010~2014年EEtimes雜志嵌入式市場調(diào)查報告有關(guān)RTOS使用榜截圖


    2010和2011年RTOS使用榜


    2012和2013年RTOS使用榜


    2013年和2014年RTOS使用榜



    2014年和2015年RTOS使用榜

    總結(jié)

    以上是生活随笔為你收集整理的FreeRTOS系列第1篇---为什么选择FreeRTOS?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。