當前位置:
首頁 > 最新 > 關於μC/OS嵌入式操作系統,原來大家有這麼多心得!

關於μC/OS嵌入式操作系統,原來大家有這麼多心得!

上周五

借著Jean J. Labrosse的技術文章

小編呼籲嵌友說說對μC/OS操作系統的看法

讓更多朋友能夠借鑒

福利雖然有限

但是

嵌友分享的熱情無限

而且大家講得都特別好

GIF/1K

所以小編必須總結一下

讓更多的人從中受益!

在此再次感謝所有參與的朋友

你們的經驗才是給所有嵌友最大的福利!

齊點

μC/OS-III是一個搶佔的多任務內核,支持優先順序相同的任務輪詢調度。它可以移植到許多不同的CPU架構。μC/OS-III是專為嵌入式系統設計,可以與應用程序代碼一起固化到ROM中。μC/OS-III可在運行時配置實時操作系統。所有內核對象,如任務,堆棧,信號量,事件標誌組,消息隊列,消息數量,互斥信號量,內存分區和定時器,由用戶在運行時進行分配。這可以防止在編譯的時候分配過多資源。μC/OS-III允許有任意數量的任務,信號量,互斥信號量,事件標誌,消息隊列,定時器和內存分區(僅受限於處理器可用的RAM大小)。

μC/OS-III添加了許多非常有用的功能,如:可嵌套互斥信號量,可嵌套任務暫停,不需要信號量可發信號給任務,不需要消息隊列可發送消息給任務,等待多個內核對象,針對"errno 或其他任務的特定狀況的任務註冊,內置的性能測量,死鎖預防,用戶定義的鉤函數等。μC/OS-III還內置了支持內核感知調試。允許內核感知調試器以用戶友好的方式檢測和顯示μC/OS-III的變數和數據結構,也允許uC/Probe在運行時顯 μCOS-III是可以搶佔的多任務內核,始終運行進入就緒態的最重要的任務。

μC/OS-III支持無限數量的任務,並允許在運行時,監測堆棧增長的任務。它還支持無限數量的優先順序。然而,通常情況下,對於大多數應用,32至256個不同的優先順序是足夠的。

#include

記得大二那會啥都不懂就跟著老師做項目,用的是ARM Cortex M3裸板編程,很痛苦地做了半年,後來我問老師為什麼不上操作系統,老師說這樣實時性強,然後我說可是μC/OS-II不是實時操作系統嗎?於是,後來我的研究方向就變成嵌入式操作系統移植了。

μC/OS-III帶來了一些新特性,但其實並不是所有控制器都適合用,而且用μC/OS-II的設備還很多呢。事實上,這個世界上存在很多的嵌入式操作系統,比如VxWorks、Linux、μCLinux、ITRON、Android、Brillo、eCOS、SylixOS、Nucleus、FreeRTOS、ruff、mbed、RT-Thread、liteOS、MiCO、Zepheyr……(太多了列不完 ≧v≦)。可以說是百花齊放、百家爭鳴。

那μC/OS-II/III的優勢是什麼呢?我覺得一是它經受了時間的考驗,通過了安全認證;二是它的代碼風格很好,文檔做得很好,並且很多被翻譯成中文了;三是它有很多配套的中間件和調試工具(比如μC/Probe);四是對於學習者來說它是免費的,商用的話要一些費用。總而言之,對於很多嵌入式設備和應用場合來說,μC/OS-II/III是一個不錯的選擇。

Lujun

μC/OS-II實時多任務操作系統內核,它被廣泛應用於微處理器、微控制器和數字信號處理器。μC/OS-II 的前身是μC/OS,最早出自於1992 年美國嵌入式系統專家Jean J.Labrosse 在《嵌入式系統編程》雜誌的5 月和6 月刊上刊登的文章連載,並把μC/OS 的源碼發布在該雜誌的BBS上。

μC/OS-III(Micro C OS Three 微型的C 語言編寫的操作系統第3版)是一個可升級的、可固化的、基於優先順序的實時內核,它對任務的個數無限制。μC/OS-III 是一個第3 代的系統內核,支持現代的實時內核所期待的大部分功能,例如資源管理,同步,任務間的通信等等。然而,μC/OS-III 提供的特色功能在其它的實時內核中是找不到的,比如說完備的運行時間測量性能,直接地發送信號或者消息到任務,任務可以同時等待多個內核對象等。

王聰

μC/OS-II/III,特喜歡其統一的編碼格式,代碼閱讀性很好,且隨代碼有詳細的注釋。特別佩服在任務就緒表中查找最高優先順序任務的查表演算法——高效,查找時間不以任務的多寡而變化,且直接促成了Cortex-M架構引進前導零指令的實現。經歷十多年的μC/OS-II得到了在相關行業中廣泛的驗證和錘鍊,值得信耐。μC/OS-III的更新,更進一步提高性能並擴展了時間片輪轉調度演算法。學習RTOS,uC/OS絕對首選。

榮豐宇

大三時的嵌入式系統課程講解的就是μC/OS-II系統,1.0版本,現在還記憶猶新的藍色封面的一本書,還第一次自己編譯系統,然後在x86的平台上運行起來,心裡別提多高興啦,後來的課程實踐,是在STM32的晶元上允許μC/OS-II系統,雖然說簡單的LED,顯示屏,按鍵外設,但是讓我對系統調度消息通信中斷等有了比較深刻的入門,現在的工作是做嵌入式Linux系統開發相關的工作,很感恩在讀書時和μC/OS-II的相遇。

殘月醉竹

1、一份齊全易懂的文字資料和配套視頻;網上關於μC/OS-II操作系統的資料實在太多,每一份都去看一下是不現實的,時間不夠不說,精力也有限。對於新手而言,操作系統的知識點很多,體系有點複雜,看一份配套的視頻就是最佳選擇。王華斌老師的關於μC/OS-II操作系統的課件和視頻不錯。

2、學習或者補習一下c語言知識;μC/OS-II操作系統對c語言能力的要求很高,尤其是經常會用到鏈表方面的知識; 鏈表方面的知識也非常重要,這對理解μC/OS-II操作系統的原理非常重要!以前我覺得μC/OS-II操作系統不好學就是因為不懂單向鏈表和雙向鏈表的知識。

3、通過例子來理解μC/OS-II操作系統的各個函數的真實概念;並不斷的在DOS環境下模擬分析。通過例子來加深理解μC/OS-II操作系統的各個函數的使用方法是最好最便捷的學習方式。同時,還要多分析代碼,熟悉μC/OS-II操作系統的流程。

4、多練習, 有志者,事竟成;只要努力去干一件事,就沒有幹不成的!

光偉

一直freertos,缺點就是組件沒有μC/OS全,花錢用μC/OS應該會省下很多組件移植與調試時間,對公司來說是划算的。

astrol

記得在學校學習這個系統的時候,作者是把系統移植到DOS系統上,很不方便,後來自己試著把他關鍵代碼重寫,移植到x86平台,也就是成了裸機程序,可以用bochs模擬器跑,這樣就完全可以一步一步跟蹤代碼了。

xdl

最早那會入手μC/OS,當時是從移植開始的,參考了網上楊屹大俠的51移植,費了好大的勁理解底層的東西。現在發現如果只單純用,會調用API就行,但問題是如果對rtos理解不深的話,出了問題都不好找。建議從μC/OS-II開始看源碼學習,網上資料也很多。

xden

當初為了把μC/OS-II移植到LPC1114上廢了不少時間,其根本原因在於對μC/OS內核不熟悉,只想著移植了,沒深入了解其根本,比如信號量,郵箱,消息隊列等。

小磁針

本人畢業之後從事WinCE嵌入式系統開發工作一年,工作內容:WinCE系統定製開發,WinCE應用開發,期間自學Linux,做uboot、Kernel、驅動、FileSystem移植定製開發,stm32下檢測環境檢測模塊開發(跑系統)【不是為了炫耀自己技術多厲害,要為自己留條後路,不要讓所有人都能代替你的工作】,走來這一路子的坑,回想做過的諸多項目,只想給大家來一句,萬丈高樓平地起,勿在浮沙築高台。基礎很重要, 再就是在開發這條路上走,必定少不了Go!Go!Go!伸手黨想在嵌入式這行里混出屬於自己的一片天,可謂難比登天!

讀你

在STM32上跑μC/OS還是不錯的。

海林

參加了麥克泰的培訓,學會μC/OS,終於解放了自己,不用操心如何調度任務,現在只管專心寫任務了。

看到海林的留言,小編禁不住要提醒各位嵌友,一定要看第二條微信哦:)

6.6大常用感測器,它們的原理你知道嗎?

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嵌入式資訊精選 的精彩文章:

這才是優秀工程師的正確打開方式!

TAG:嵌入式資訊精選 |