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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

[RTOS]--uCOS、FreeRTOS、RTThread、RTX等RTOS的对比之特点

發(fā)布時(shí)間:2024/8/1 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [RTOS]--uCOS、FreeRTOS、RTThread、RTX等RTOS的对比之特点 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本篇博客就來細(xì)數(shù)這幾個(gè)RTOS的特點(diǎn)。?
 ?
以下內(nèi)容均來自官方網(wǎng)站或者官方手冊(cè)Feature的Google翻譯的加了我的一些調(diào)整,沒有任何主觀成分。


1. FreeRTOS

??FreeRTOS是專為小型嵌入式系統(tǒng)設(shè)計(jì)的可擴(kuò)展的實(shí)時(shí)內(nèi)核。?
亮點(diǎn)包括:

  • 微小的封裝形式。
  • 免費(fèi)的RTOS調(diào)度程序
  • 免費(fèi)嵌入式軟件源代碼。
  • 免版稅。
  • 搶占式,協(xié)作式和混合配置選項(xiàng),可選時(shí)間分片。
  • SafeRTOS衍生產(chǎn)品對(duì)代碼完整性提供了高度的信心。
  • 包括一個(gè)為低功耗應(yīng)用設(shè)計(jì)的tickless模式。
  • 可以使用動(dòng)態(tài)或靜態(tài)分配的RAM來創(chuàng)建RTOS對(duì)象(任務(wù),隊(duì)列,信號(hào)量,軟件定時(shí)器,互斥體和事件組)。
  • 官方支持>30個(gè)嵌入式系統(tǒng)架構(gòu)(以ARM7和ARM Cortex-M3為一體架構(gòu))。
  • FreeRTOS-MPU支持ARM Cortex-M3內(nèi)存保護(hù)單元(MPU)。
  • 設(shè)計(jì)小巧,簡單易用。通常,RTOS內(nèi)核二進(jìn)制映像將在4K到9K字節(jié)的區(qū)域內(nèi)。
  • 可移植性非常好的源代碼結(jié)構(gòu),主要用C.
  • 支持實(shí)時(shí)任務(wù)和協(xié)同程序。
  • 直接到任務(wù)通知,隊(duì)列,二進(jìn)制信號(hào)量,計(jì)數(shù)信號(hào)量,遞歸信號(hào)量和互斥體,用于任務(wù)之間的通信和同步,或?qū)崟r(shí)任務(wù)和中斷之間。
  • 創(chuàng)新事件組(或事件標(biāo)志)實(shí)施。
  • 具有優(yōu)先級(jí)繼承的互斥體。
  • 高效的軟件定時(shí)器。
  • 強(qiáng)大的執(zhí)行跟蹤功能。
  • 堆棧溢出檢測(cè)選項(xiàng)。
  • 免費(fèi)監(jiān)控的論壇支持或可選的商業(yè)支持和許可。
  • 對(duì)可創(chuàng)建的實(shí)時(shí)任務(wù)數(shù)量沒有軟件限制。
  • 對(duì)可以使用的任務(wù)優(yōu)先級(jí)的數(shù)量沒有軟件限制。
  • 對(duì)任務(wù)優(yōu)先級(jí)分配沒有限制 - 可以為多個(gè)實(shí)時(shí)任務(wù)分配相同的優(yōu)先級(jí)。
  • 許多支持的架構(gòu)的免費(fèi)開發(fā)工具。
  • 從標(biāo)準(zhǔn)的Windows主機(jī)開發(fā)。

2. uCOS家族(I/II/III)

??μC/ OS-II和μC/ OS-III是搶占式,高度便攜式和可擴(kuò)展的實(shí)時(shí)內(nèi)核。這些內(nèi)核旨在便于在大量CPU架構(gòu)上使用,這些內(nèi)核是μC/ OS實(shí)時(shí)操作系統(tǒng)的關(guān)鍵組件。

關(guān)鍵價(jià)值(Key Values):

  • 可移植性。 提供前所未有的易用性,μC/OS內(nèi)核提供完整的源代碼和深入的文檔。 μC/ OS內(nèi)核運(yùn)行在大量處理器架構(gòu)上,端口可供下載。
  • 可擴(kuò)展性。 μC/ OS內(nèi)核允許無限制的任務(wù)和內(nèi)核對(duì)象。內(nèi)核的內(nèi)存占用可以縮小,僅包含應(yīng)用程序所需的功能,通常為6-24 KB的代碼空間和1KB的數(shù)據(jù)空間。
  • 可靠。 μC/ OS內(nèi)核包括減少開發(fā)時(shí)間的調(diào)試功能。內(nèi)核提供廣泛的范圍檢查,包括檢查API調(diào)用中傳遞的指針,來自ISR的任務(wù)級(jí)服務(wù),允許范圍內(nèi)的參數(shù)以及有效的指定選項(xiàng)。
  • 高效。 Micrium的內(nèi)核還包括有價(jià)值的運(yùn)行時(shí)統(tǒng)計(jì)信息,使您的應(yīng)用程序的內(nèi)部可視化。 識(shí)別性能瓶頸,并在開發(fā)周期的早期優(yōu)化電源使用。

μC/ OS內(nèi)核的特性包括以下亮點(diǎn)(Highlights):

  • 搶占式多任務(wù)實(shí)時(shí)內(nèi)核,可選擇循環(huán)調(diào)度
  • 提供完整,干凈,一致的源代碼,具有深入的文檔。
  • 高可擴(kuò)展性:無限數(shù)量的任務(wù),優(yōu)先級(jí)和內(nèi)核對(duì)象
  • 同時(shí)等待多個(gè)內(nèi)核對(duì)象
  • 直接向任務(wù)發(fā)送信號(hào)/消息
  • 資源高效:6K至24K字節(jié)代碼空間,1K +字節(jié)數(shù)據(jù)空間)
  • 非常低的中斷禁用時(shí)間
  • 廣泛的性能測(cè)量指標(biāo)(可配置)
  • 可用于關(guān)注安全型應(yīng)用

下表顯示了μC/OS 多年來的演變, 比較了每個(gè)版本中可用的功能。

特點(diǎn)(Features)μC/OSμC/OSIIμC/OSIII
發(fā)布年份199219982009
提供源代碼
書(Book)
搶占式多任務(wù)
最大任務(wù)量64255無限
每個(gè)優(yōu)先級(jí)別的任務(wù)數(shù)11無限
時(shí)間片輪轉(zhuǎn)調(diào)度××
信號(hào)量
互斥信號(hào)量×√(可嵌套)
事件標(biāo)志組×
消息郵箱×(不需要)
消息隊(duì)列
固定大小的內(nèi)存管理×
直接向任務(wù)發(fā)送信號(hào)量××
無需調(diào)度的信號(hào)發(fā)送選項(xiàng)××
直接向任務(wù)發(fā)送消息××
軟件定時(shí)器×
任務(wù)掛起/恢復(fù)×√(可嵌套)
防止死鎖
可裁剪
代碼量3K-8K6K-26K6K-24K
數(shù)據(jù)量1K+1K+1K+
代碼可固化
運(yùn)行時(shí)可配置××
編譯時(shí)可配置
支持內(nèi)核對(duì)象的 ASCII 命名×
同時(shí)等待多個(gè)內(nèi)核對(duì)象×
任務(wù)寄存器×
內(nèi)置性能測(cè)試×基本增強(qiáng)
內(nèi)置追蹤點(diǎn)××
用戶可定義的鉤子函數(shù)×
POST 操作可加時(shí)間戳××
內(nèi)核察覺式調(diào)試×
用匯編語言優(yōu)化的調(diào)度器××
捕獲退出的任務(wù)××
任務(wù)級(jí)時(shí)鐘節(jié)拍處理×
系統(tǒng)服務(wù)函數(shù)的數(shù)目~20~90~75

3. RT-Thread

Tips:在markdown中實(shí)現(xiàn)段落縮進(jìn)?
-?半方大的空白 或 ?
-?全方大的空白 或 ?
-?不斷行的空白格 或 

??RT-Thread是一款來自中國的開源嵌入式實(shí)時(shí)操作系統(tǒng),由國內(nèi)一些專業(yè)開發(fā)人員從2006年開始開發(fā)、維護(hù),除了類似FreeRTOS和UCOS的實(shí)時(shí)操作系統(tǒng)內(nèi)核外,也包括一系列應(yīng)用組件和驅(qū)動(dòng)框架,如TCP/IP協(xié)議棧,虛擬文件系統(tǒng),POSIX接口,圖形用戶界面,FreeModbus主從協(xié)議棧,CAN框架,動(dòng)態(tài)模塊等,因?yàn)橄到y(tǒng)穩(wěn)定,功能豐富的特性被廣泛用于新能源,電網(wǎng),風(fēng)機(jī)等高可靠性行業(yè)和設(shè)備上,已經(jīng)被驗(yàn)證是一款高可靠的實(shí)時(shí)操作系統(tǒng)。?
??RT-Thread實(shí)時(shí)操作系統(tǒng)遵循GPLv2+許可證,實(shí)時(shí)操作系統(tǒng)內(nèi)核及所有開源組件可以免費(fèi)在商業(yè)產(chǎn)品中使用,不需要公布應(yīng)用源碼,沒有任何潛在商業(yè)風(fēng)險(xiǎn)。?
??RT-Thread實(shí)時(shí)操作系統(tǒng)核心是一個(gè)高效的硬實(shí)時(shí)核心,它具備非常優(yōu)異的實(shí)時(shí)性、穩(wěn)定性、可剪裁性,當(dāng)進(jìn)行最小配置時(shí),內(nèi)核體積可以到 3k ROM 占用、1k RAM 占用。

  • 任務(wù)/線程調(diào)度

??在RT-Thread中線程是最小的調(diào)度單位,線程調(diào)度算法是基于優(yōu)先級(jí)的全搶占式多線程調(diào)度算法,支持256個(gè)線程優(yōu)先級(jí)(也能通過配置文件更改為最大支持32個(gè)或8個(gè)線程優(yōu)先級(jí)),0優(yōu)先級(jí)代表最高優(yōu)先級(jí),255優(yōu)先級(jí)留給空閑線程使用;支持創(chuàng)建相同優(yōu)先級(jí)線程,相同優(yōu)先級(jí)的線程采用可設(shè)置時(shí)間片的輪轉(zhuǎn)調(diào)度算法;調(diào)度器尋找下一個(gè)最高優(yōu)先級(jí)就緒線程的時(shí)間是恒定的(時(shí)間復(fù)雜度是1,即O(1))。系統(tǒng)不限制線程數(shù)量的多少,只和硬件平臺(tái)的具體內(nèi)存相關(guān)。

  • 任務(wù)同步機(jī)制

??系統(tǒng)支持semaphore(信號(hào)量)、mutex(互斥鎖)作為線程間同步機(jī)制。mutex采用優(yōu)先級(jí)繼存方式以解決優(yōu)先級(jí)翻轉(zhuǎn)問題。semaphore的釋放動(dòng)作可安全用于中斷服務(wù)例程中。同步機(jī)制支持線程按優(yōu)先級(jí)等待或按先進(jìn)先出方式獲取信號(hào)量或互斥鎖。

  • 任務(wù)間通信機(jī)制

??系統(tǒng)支持event(事件)、mbox(郵箱)和MessageQueue(消息隊(duì)列)等通信機(jī)制。event支持多事件”或觸發(fā)”及”與觸發(fā)”,適合于線程等待多個(gè)事件情況。mbox中一封郵件的長度固定為4字節(jié),效率較MessageQueue更為高效。通信設(shè)施中的發(fā)送動(dòng)作可安全用于中斷服務(wù)例程中。通信機(jī)制支持線程按優(yōu)先級(jí)等待或按先進(jìn)先出方式獲取。

  • 時(shí)間管理

??系統(tǒng)使用時(shí)鐘節(jié)拍來完成同優(yōu)先級(jí)任務(wù)的時(shí)間片輪轉(zhuǎn)調(diào)度;線程對(duì)內(nèi)核對(duì)象的時(shí)間敏感性是通過系統(tǒng)定時(shí)器來實(shí)現(xiàn)的;定時(shí)器支持軟定時(shí)器及硬定時(shí)器(軟定時(shí)器的處理在系統(tǒng)線程的上下文中,硬定時(shí)器的處理在中斷的上下文中);定時(shí)器支持一次性超時(shí)及周期性超時(shí)。

  • 內(nèi)存管理

??系統(tǒng)支持靜態(tài)內(nèi)存池管理及動(dòng)態(tài)內(nèi)存堆管理。從靜態(tài)內(nèi)存池中獲取內(nèi)存塊時(shí)間恒定,當(dāng)內(nèi)存池為空時(shí),可把申請(qǐng)內(nèi)存塊的線程阻塞(或立刻返回,或等待一段時(shí)間后仍未獲得內(nèi)存塊返回。這取決于內(nèi)存塊申請(qǐng)時(shí)設(shè)置的等待時(shí)間),當(dāng)其他線程釋內(nèi)存塊到內(nèi)存池時(shí),將把相應(yīng)阻塞線程喚醒。動(dòng)態(tài)堆內(nèi)存管理對(duì)于不同的系統(tǒng)資源情況,提供了面向小內(nèi)存系統(tǒng)的小內(nèi)存管理算法及大內(nèi)存系統(tǒng)的SLAB內(nèi)存管理算法。

  • 設(shè)備管理

??系統(tǒng)實(shí)現(xiàn)了按名稱訪問的設(shè)備管理子系統(tǒng),可按照統(tǒng)一的API界面訪問硬件設(shè)備。在設(shè)備驅(qū)動(dòng)接口上,根據(jù)嵌入式系統(tǒng)的特點(diǎn),對(duì)不同的設(shè)備可以掛接相應(yīng)的事件,當(dāng)設(shè)備事件觸發(fā)時(shí),通知給上層的應(yīng)用程序。

RT-Thread這個(gè)系統(tǒng)還是有很多自己的想法在里面的,比如Finish,設(shè)備樹等都是參照Linux的思想來設(shè)計(jì)的。

4. RTX

??Keil RTX是為ARM和Cortex-M設(shè)備設(shè)計(jì)的免版稅,確定性的實(shí)時(shí)操作系統(tǒng)。它允許您創(chuàng)建同時(shí)執(zhí)行多個(gè)功能的程序,并幫助創(chuàng)建更好的結(jié)構(gòu)和更容易維護(hù)的應(yīng)用程序。

特征

  • 具有源代碼的免版權(quán),確定性RTOS
  • 靈活的調(diào)度:循環(huán),搶占和協(xié)作
  • 具有低中斷延遲的高速實(shí)時(shí)操作
  • 為資源有限的系統(tǒng)提供小封裝
  • 無限數(shù)量的任務(wù)每個(gè)具有254個(gè)優(yōu)先級(jí)
  • 無限數(shù)量的郵箱,信號(hào)量,互斥量和計(jì)時(shí)器
  • 支持多線程和線程安全操作
  • 內(nèi)核感知調(diào)試支持MDK-ARM
  • 使用μVision配置向?qū)У幕趯?duì)話框的設(shè)置

優(yōu)點(diǎn)

??盡管無需實(shí)時(shí)操作系統(tǒng)(通過在超級(jí)循環(huán)中執(zhí)行一個(gè)或多個(gè)功能)就可以創(chuàng)建實(shí)時(shí)程序,但KeilRTX為您解決的RTOS有許多調(diào)度,維護(hù)和計(jì)時(shí)問題。

注意事項(xiàng)?
??所有MDK-ARM版本都包含RTX源代碼。

這個(gè)系統(tǒng)我只是用過一次,感覺最大的特點(diǎn)就是用起來簡單,不需要那么多的注意事項(xiàng),拿來就用的感覺,還有就是沒有關(guān)中斷的操作,所以你懂的~

總結(jié)

以上是生活随笔為你收集整理的[RTOS]--uCOS、FreeRTOS、RTThread、RTX等RTOS的对比之特点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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