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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

1.為什么學習RTOS?

???????? 作為基于ARM7、Cortex-M3硬件開發的嵌入式工程師,我一直反對使用RTOS。不僅因為不恰當的使用RTOS會給項目帶來額外的穩定性風險,更重要的是我認為絕大多數基于ARM7、Cortex-M3硬件的項目,還沒復雜到使用RTOS的地步,使用狀態機就足夠了。

???????? 對于現代的微處理器,特別是資源相對豐富ARM7、Cortex-M3硬件來說,RTOS占用的硬件資源已經越來越可以忽略。所以在當今環境下,我們無需擔心RTOS會拖累性能。相反,RTOS提供的事件驅動型設計方式,使得RTOS只是在處理實際任務時才會運行,這能夠更合理的利用CPU。在實際項目中,如果程序等待一個超時事件,傳統的無RTOS情況下,要么在原地一直等待而不能執行其它任務,要么使用復雜(相對RTOS提供的任務機制而言)的狀態機機制。如果使用RTOS,則可以很方便的將當前任務阻塞在該事件下,然后自動去執行別的任務,這顯然更方便,并且可以高效的利用CPU。處理這類事件,是我使用RTOS的最大動力,但考慮到系統的穩定性,我不得不再三權衡RTOS可能帶來的一些弊端:

  • 大多數RTOS代碼都具有一定規模,任何代碼都可能帶來BUG,何況是代碼具有一定規模的RTOS,因此引入RTOS的同時也可能會引入該RTOS的BUG,這些RTOS本身的BUG一旦被觸發,影響可能是是災難性的。
  • 熟練的使用RTOS是一項技能,需要專業的知識儲備和長期的經驗積累。不將RTOS分析透徹,很容易為項目埋下錯誤。典型的,像中斷優先級、任務堆棧分配、可重入等,都是更容易出錯的地方。
  • RTOS的優先級嵌套使得任務執行順序、執行時序更難分析,甚至變成不可能。任務嵌套對所需的最大堆棧RAM大小估計也變得困難。這對于很多對安全有嚴格要求的場合是不可想象的。
  • RTOS應該用于任務復雜的場合,以至于對任務調度的需求可以抵消RTOS所帶來的穩定性影響,但大部分的應用并非復雜到需要RTOS。
  • ???????? 以上原因是我拒絕在實際項目中使用RTOS的理由,但是否使用RTOS跟是否學習RTOS完全是兩碼事。我認為任何嵌入式軟件設計人員都應該至少學習一種RTOS,不僅是需要掌握RTOS背后的操作系統原理、學習RTOS的編程方式,更是為將來做準備。

    ???????? 即便我認為現在的物聯網有點言過其實,但我依然看好物聯網的發展前景。隨著物聯網的發展,未來的嵌入式產品必然更為復雜、連接性更強以及需要更豐富的用戶界面。當處理這些任務時,一個好的RTOS就變得不可缺少了。

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

    2.為什么選用FreeRTOS?

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

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

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


    附錄1:2010~2014年EEtimes雜志嵌入式市場調查報告有關RTOS使用榜截圖


    2010和2011年RTOS使用榜


    2012和2013年RTOS使用榜


    2013年和2014年RTOS使用榜



    2014年和2015年RTOS使用榜

    總結

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

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。