日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 技術讓夢想更偉大
[導讀]1.為什么學習 RTOS? 作為基于 ARM7、Cortex-M3 硬件開發(fā)的嵌入式工程師,我一直反對使用 RTOS。不僅因為不恰當?shù)氖褂?RTOS 會給項目帶來額外的穩(wěn)定性風險,更重要的是我認為絕大多數(shù)基于 ARM7、Cortex-M3 硬件的項目,還沒復雜到使用 RTOS 的地步,使用狀態(tài)

1.為什么學習 RTOS?

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

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

  1. 大多數(shù) RTOS 代碼都具有一定規(guī)模,任何代碼都可能帶來 BUG,何況是代碼具有一定規(guī)模的 RTOS,因此引入 RTOS 的同時也可能會引入該 RTOS 的 BUG,這些 RTOS 本身的 BUG 一旦被觸發(fā),影響可能是是災難性的。
  2. 熟練的使用 RTOS 是一項技能,需要專業(yè)的知識儲備和長期的經(jīng)驗積累。不將 RTOS 分析透徹,很容易為項目埋下錯誤。典型的,像中斷優(yōu)先級、任務堆棧分配、可重入等,都是更容易出錯的地方。
  3. RTOS 的優(yōu)先級嵌套使得任務執(zhí)行順序、執(zhí)行時序更難分析,甚至變成不可能。任務嵌套對所需的最大堆棧 RAM 大小估計也變得困難。這對于很多對安全有嚴格要求的場合是不可想象的。
  4. RTOS 應該用于任務復雜的場合,以至于對任務調(diào)度的需求可以抵消 RTOS 所帶來的穩(wěn)定性影響,但大部分的應用并非復雜到需要 RTOS。

以上原因是我拒絕在實際項目中使用 RTOS 的理由,但是否使用 RTOS 跟是否學習 RTOS 完全是兩碼事。我認為任何嵌入式軟件設計人員都應該至少學習一種 RTOS,不僅是需要掌握 RTOS 背后的操作系統(tǒng)原理、學習 RTOS 的編程方式,更是為將來做準備。

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

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

2.為什么選用 FreeRTOS?

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

  1. SafeRTOS 便是基于 FreeRTOS 而來,前者是經(jīng)過安全認證的 RTOS,因此對于 FreeRTOS 的安全性也有了信心。
  2. 大量開發(fā)者使用,并保持高速增長趨勢。2011、2012、2013、2014、2015、2017 年(暫時沒有 2016 年的數(shù)據(jù))的 EEtimes 雜志嵌入式系統(tǒng)市場報告顯示,F(xiàn)reeRTOS 在 RTOS 內(nèi)核使用榜和 RTOS 內(nèi)核計劃使用榜上都名列前茅。更多的人使用可以促進發(fā)現(xiàn) BUG,增強穩(wěn)定性。
  3. 簡單。內(nèi)核只有 3 個.c 文件,全部圍繞著任務調(diào)度,沒有任何其它干擾,便于理解學習。而且,我根本不需要其它繁多的功能,只要任務調(diào)度就夠了。
  4. 文檔齊全。在 FreeRTOS 官方網(wǎng)站上,可以找到所有你需要的資料。
  5. 免費、開放源碼。完全可以免費用于商業(yè)產(chǎn)品,開放源碼更便于學習操作系統(tǒng)原理、從全局掌握 FreeRTOS 運行機理、以及對操作系統(tǒng)進行深度裁剪以適應自己的硬件。
  6. 2017 年底,F(xiàn)reeRTOS 作者加入亞馬遜,擔任首席工程師,F(xiàn)reeRTOS 也由亞馬遜管理。同時修改了用戶許可證,F(xiàn)reeRTOS 變得更加開放和自由。背靠亞馬遜,相信未來 FreeRTOS 會更加穩(wěn)定可靠。此外,以前價格不菲的《實時內(nèi)核指南》和《參考手冊》也免費開放下載,這使得學習更加容易。

學習的資料來源主要是 FreeRTOS 的官方網(wǎng)站(www.freertos.org)和源代碼。FreeRTOS 的創(chuàng)始人 RichardBarry 編寫了大量的移植代碼和配套文檔,我只不過是沿著 Richard Barry 鋪好的路前進,所以,這沒什么困難的。

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

附錄 1:

2010~2017 年 EEtimes 雜志嵌入式市場調(diào)查報告有關 RTOS 使用榜截圖

  • 附錄 1.1  2010 和 2011 年 RTOS 使用榜
  • 附錄 1.2  2012 和 2013 年 RTOS 使用榜
  • 附錄 1.3   2013 年和 2014 年 RTOS 使用榜
  • 附錄 1.4   2014 年和 2015 年 RTOS 使用榜
  • 附錄 1.5   2017 年 RTOS 使用榜

本文已獲取「CSDN」作者獨家授權,請勿二次轉載,請獲取作者授權。

聲明:本公眾號授權轉載本文僅傳播相關知識,無任何盈利和商業(yè)行為,部分內(nèi)容有刪改。

原文地址:https://blog.csdn.net/zhzht19861011/article/details/49819109

作者:zhzht19861011

   

推薦閱讀

(點擊標題可跳轉閱讀)

【編程之美】用C語言實現(xiàn)狀態(tài)機(實用)

【編程之美】超時重傳,滑動窗口,可靠性傳輸原理C語言實現(xiàn)

【編程之美】論嵌入式架構的重要性

免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉