色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

分析一下CesiμmRTOS與FreeRTOS的差異

麥克泰技術 ? 來源:麥克泰技術 ? 2023-02-12 10:17 ? 次閱讀

μC/OS的商業版Cesiμm RTOS,和FreeRTOS是嵌入式軟件領域流行的兩種實時內核。雖然這兩款RTOS功能相似,并且具有可比較的執行指標,但它們都有各自的優點和缺點,本文將分析一下其差異。

功能區別

Cesiμm RTOS和FreeRTOS的API之間存在比較大的差異。以信號量創建為例,FreeRTOS提供了下列對象創建函數:

1d7e0cf0-a983-11ed-bfe3-dac502259ad0.png

與信號量創建函數一樣,互斥信號量和隊列也使用類似的函數變體,而非一個統一的函數來創建這些內核對象,導致用戶必須熟悉更多的API。

雖然FreeRTOS這些函數使得在應用程序中查找相應的信號量創建函數更容易,但用戶需要付出更多努力理解每個函數的具體用途。相反,使用Cesiμm RTOS,信號量或互斥量創建更簡單。

1d931ab4-a983-11ed-bfe3-dac502259ad0.png

傳遞給函數的參數將決定用戶創建的對象類型。這種方法非常簡單,用戶不需要象FreeRTOS一樣,在調試時執行多個重定向創建函數。

通過OSSemCreate()函數,根據參數值可以創建二值、計數或靜態信號量,設置初始計數并將信號量數據對象定義為靜態變量或非靜態變量。

通過傳入創建函數的不同參數,創建與FreeRTOS相同類型的對象,而無需為每個對象單獨提供函數。

從使用上講,Cesiμm RTOS的功能沒有缺失,但調試時需要了解、管理和維護的API更少。

調試特性

FreeRTOS中,信號量創建函數將映射到等效隊列函數實例中。例如:

1da2c090-a983-11ed-bfe3-dac502259ad0.png

隨著函數嵌套深度的增加,在調試期間跟蹤錯誤將變得更加困難。而在Cesiμm RTOS中調試信號量、隊列或互斥信號量的創建更簡單,更容易找到故障點或錯誤配置。

例如xSemaphoreTake()函數將調用xQueueSemaphoreTake()函數,后者將根據調用來自信號量還是隊列,實現后續操作。

額外的條件處理使函數在調試時的跟蹤更加復雜。相比之下,Cesiμm RTOS中的創建函數更直接、簡短,并且能更快的調試并識別問題。

在性能方面,兩者幾乎相同,但從開發人員的角度來看,Cesiμm RTOS代碼將更容易跟蹤。

特性區別

盡管兩個內核提供的功能相似,但Cesiμm RTOS提供了更高的代碼質量和一些獨特的特性。

其中包括更具描述性的錯誤返回代碼、與現成的Cesiμm軟件棧的兼容性以及整體代碼的清潔度。

錯誤返回碼

FreeRTOS函數返回碼非常簡單。通常會給出兩個返回代碼值給其調用API。大多數函數的返回值為pdPASS, pdFAIL, pdTRUE和pdFALSE。

對于描述性稍強的返回代碼,一些函數可能返回值errCOULD_NOT_ALLOCATE_REQUIRED_

MEMORY、errQUEUE_BLOCKED、errQUEUE_YIELD、errQUEUE_BLOCKED或errQUEUE_YIELD。

當試圖檢測代碼以實現故障恢復或更復雜的錯誤處理時,這些返回值無法提供更多詳細的反饋。

如vSemaphoreDelete(),這個函數調用了vQueueDelete(),其返回代碼是void,這使得測試該函數的結果是成功還是失敗變得很棘手。

1db4266e-a983-11ed-bfe3-dac502259ad0.png

相比之下,Cesiμm RTOS提供了豐富的錯誤返回值和消息,供開發人員在API中使用。所有用戶調用的OS函數都提供了(OS_ERR *)類型參數。

該變量在執行完成時被賦予一個值來反映成功或失敗的原因。這些細節可以提供更精確的調試體驗。

當調試一個大型應用程序時,這個特性將顯著影響開發時間。

vSemaphoreDelete()的等效函數,在Cesiμm RTOS 為OSSemDel(),此函數接受(OS_ERR *)類型參數,該參數可以返回以下值之一。

1dc6c1a2-a983-11ed-bfe3-dac502259ad0.png

支持的軟件棧

Cesiμm RTOS的另一個優勢是其豐富的中間件支持。中間件與RTOS基于相同的規范設計和標準。使開發人員的學習體驗更加順暢。

廣泛使的用FreeRTOS,也支持許多第三方軟件棧。然而,這些產品具有不同的代碼設計標準,使得產品集成更具挑戰性。開發人員不僅要學習新產品,還必須熟悉其代碼風格。移植和集成工作更具挑戰性。Cesiμm RTOS全系列軟件產品在設計時考慮到了互操作性。這有助于加快開發人員在集成新軟件堆棧時的學習曲線。Cesiμm RTOS提供以下產品棧:

· 文件系統Cs/FS

· 網絡協議棧Cs/NET,其中應用協議如HTTP、DHCP等

· USB設備棧Cs/USBD

· USB主機棧Cs/USBH

· Modbus棧Cs/Modbus

此時,Cesiμm還支持SSL解決方案、圖形用戶接口和其他第三方產品。

潔凈的代碼

在查看代碼時,將代碼和注釋混合在一起時中,將很難將兩者分開并只關注其中一個。因此,Cesiμm RTOS代碼被劃分為左邊的代碼和右邊的注釋。當然,這并沒有真正的改進性能,完全是為了用戶體驗。結構越清晰,就越容易學習、使用和支持。這使得理解Cesiμm RTOS代碼更容易,從而節省了進入開發階段的時間。

雖然FreeRTOS和Cesiμm RTOS解決方案在性能和功能上相似,但Cesium RTOS提供了的更佳的用戶體驗。為應用程序選擇最佳的RTOS涉及許多因素,例如性能、功能和可靠性。對開發人員來說,同樣重要的是精通RTOS特性所需的努力程度及其易用性(其中包括應用程序調試,這是開發周期中經常被忽視的階段)。

隨著應用的增長,會添加新的特性集,整個項目的復雜性也會增加。Cesiμm RTOS內置的用戶體驗增強功能使用戶在復雜應用程序中更高效,并幫助提高工作效率。







審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RTOS
    +關注

    關注

    22

    文章

    811

    瀏覽量

    119595
  • FreeRTOS
    +關注

    關注

    12

    文章

    484

    瀏覽量

    62144
  • Err
    Err
    +關注

    關注

    0

    文章

    6

    瀏覽量

    6504
  • API串口
    +關注

    關注

    0

    文章

    13

    瀏覽量

    4841

原文標題:【內核對比】CesiμmRTOS vs FreeRTOS

文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    分析一下uC/OS-III和FreeRTOS的區別

    樣的,但是有個任務比較重要,我們希望讓它的CPU占用率高點,這時只要把它的時間片設置得大點即可。而在FreeRTOS中同優先級的每個任務對CPU的占用率都只能是
    發表于 12-17 10:31

    supervisor的第三方軟件Web統管理界面cesi

    supervisor進程管理(三_II):Web統管理界面cesi
    發表于 04-02 11:48

    關于FreeRTOS內存管理的疑問誰來解答一下

    今天看了原子哥講的FreeRTOS關于內存管理方面的書和視頻,看完之后有個疑問直不明白,貼出來大家分析一下。原子哥也講了,實際在應用中,尤其是簡單的單片機應用中,用的最多的內存管理方
    發表于 06-16 04:35

    請問一下FreeRTOS系統的LwIP-1.4.1是怎樣移植的

    請問一下FreeRTOS系統的LwIP-1.4.1是怎樣移植的?有哪些移植過程?
    發表于 11-03 07:06

    梳理一下FreeRTOS任務管理單元實現思路

    關注、星標嵌入式客棧,精彩及時送達[導讀] 學習梳理一下FreeRTOS任務管理單元實現思路,代碼分析基于V10.4.3。從本文開始計劃寫個圖解freeRTOS內核系列筆記分享給朋友們
    發表于 01-13 07:08

    梳理一下FreeRTOS內核代碼規范

    [導讀] 遇到些朋友感覺FreeRTOS內核代碼看起來很不習慣,不習慣其編碼風格,本文就來梳理一下其代碼規范,便于提高閱讀其代碼的效率。代碼基于FreeRTOS V10.4.3。FreeR...
    發表于 03-01 07:33

    能否幫忙介紹一下FreeRTOS分配SRAM和DDR的功能是什么,是如何工作的?

    能否幫忙介紹一下FreeRTOS分配SRAM和DDR的功能是什么,是如何工作的?
    發表于 04-28 07:00

    FreeRTOS對lwIP的移植程序

    FreeRTOS對 lwIP的移植程序。
    發表于 10-29 10:58 ?11次下載

    談談FreeRTOS及其授權方式

    FreeRTOS及其授權方式如果需要了解的可以看一下
    發表于 01-04 18:12 ?0次下載

    電磁爐加熱一下就停一下什么原因及解決辦法

    電磁爐有時會出現加熱故障,現象是熱一下一下在熱一下又停一下,基本隔
    發表于 03-18 09:02 ?27.5w次閱讀

    電磁爐加熱一下就停一下什么原因

    電磁爐加熱一下就停一下什么原因。
    的頭像 發表于 06-04 10:01 ?3.8w次閱讀

    初入FreeRTOS

    源碼3、FreeRTOS移植操作三、在STM32完成個基于FreeRTOS的多任務程序1、任務要求2、任務實施3、任務結果四、總結
    發表于 12-06 21:06 ?40次下載
    初入<b class='flag-5'>FreeRTOS</b>

    圖解FreeRTOS 原理系列之任務管理器基本框架

    [導讀] 學習梳理一下FreeRTOS任務管理單元實現思路,代碼分析基于V10.4.3。從本文開始計劃寫個圖解freeRTOS內核系列筆記分享給朋友們,...
    發表于 01-25 19:49 ?4次下載
    圖解<b class='flag-5'>FreeRTOS</b> 原理系列之任務管理器基本框架

    FreeRTOS高級篇2---FreeRTOS任務創建分析

    FreeRTOS基礎系列《FreeRTOS系列第10篇---FreeRTOS任務創建和刪除》中介紹了任務創建API函數xTaskCreate(),我們這里先回顧一下這個函...
    發表于 01-26 17:42 ?23次下載
    <b class='flag-5'>FreeRTOS</b>高級篇2---<b class='flag-5'>FreeRTOS</b>任務創建<b class='flag-5'>分析</b>

    分析一下SR鎖存器的原理

    作為電路設計者,鎖存器很多場合都會用到,今天和大家分析一下SR鎖存器的原理。
    的頭像 發表于 08-20 17:30 ?6881次閱讀
    <b class='flag-5'>分析</b><b class='flag-5'>一下</b>SR鎖存器的原理
    主站蜘蛛池模板: 亚洲精品久久无码AV片WWW| 亚洲 制服 欧美 中文字幕| 国产精品成人自拍| 夜色女人香| 色哦色哦哦色天天综合| 麻豆区蜜芽区| 国产ZZJJZZJJ视频全免费| 亚洲免费观看视频| 色色色999| 嫩草影院在线观看精品| 国精产品一区二区三区四区糖心| 99热这里只有 精品| 一个人看的WWW高清电影| 无码欧美XXXXX在线观看裸| 前后灌满白浆护士| 美女被黑人巨大进入| 精品无码国产AV一区二区三区| 高H高肉强J短篇NP| 啊灬啊灬啊灬快灬深高潮啦 | chinese情侣自拍啪hd| 一个人的视频全免费在线观看www| 受喷汁红肿抽搐磨NP双性| 欧洲精品一区二区不卡观看 | 臀精插宫NP文| 日本一卡精品视频免费| 免费成人小视频| 久久亚洲AV成人无码动态图| 国语自产拍大学生在线观看| 纯h超级大尺度小黄文| AV无码国产精品午夜A片麻豆| 有码在线播放| 中文字幕在线播放| 一级做a爰片久久毛片一| 亚洲 日韩 色 图网站| 午夜不卡av免费| 午夜理论在线观看不卡大地影院| 色戒2小时38分在线观看| 三级黄色在线| 天天久久影视色香综合网| 首页_亚洲AV色老汉影院| 婷婷久久无码欧美人妻|