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

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

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

3天內不再提示

從裸機調度過渡到RTOS的7個小技巧

lilihe92 ? 來源:最后一個bug ? 作者:最后一個bug ? 2022-11-29 11:09 ? 次閱讀

正文

實時操作系統已經成為許多嵌入式系統中的關鍵組件,從裸機調度過渡到RTOS可能是一件棘手的事情。這里有七個小技巧可以幫助嵌入式開發人員更輕松地完成過渡。

1

首先規劃你的架構

如果你從未使用過UML或者對軟件架構不感興趣,現在是時候學習一下了。 使用RTOS時,開發人員仔細考慮每項任務、同步和通信機制是至關重要的。這些細節不能僅僅存儲在工程師的頭腦中,而是需要以圖表的形式記錄下來,以便在需要時可以查看和更新。開發一個基于RTOS的應用程序會很快變得復雜,考慮清楚應用程序的行為是很重要的。

2

仔細跟蹤內存的使用情況

與開發裸機應用程序不同,RTOS任務和同步結構會很快耗盡資源受限設備中的內存。開發人員需要非常小心地監控內存,并跟蹤內存的去向。

創建幾個任務、幾個信號量和互斥體,卻發現malloc因為所有堆空間都已被使用而失敗,這種情況并不罕見。

3

預先創建所有的任務

RTOS為嵌入式開發人員提供了廣泛的功能,例如創建任務和銷毀任務的能力。關心內存使用的開發人員可能傾向于只在需要時創建任務,然后在任務完成后銷毀它們。雖然這在概念上很棒,但在資源受限的系統中,通常沒有復雜的堆管理器可以處理堆碎片。結果可能是一個碎片堆,在程序執行過程中的某個時刻突然沒有內存可以分配。 建議在系統初始化期間創建所有使用堆的對象。結果似乎是靜態分配的對象,如果存在內存問題,該問題將在系統啟動時顯現出來。

4

盡量不要關閉堆棧保護

裸機開發者通常癡迷于編寫盡可能高效的代碼。意識到存在使用時鐘周期的堆棧監視器成為優化和移除的誘人目標。盡量不要這樣做!

堆棧監視器用于檢測堆棧溢出和其他與堆棧相關的問題。雖然它確實使用了幾個時鐘周期,但好處遠遠超過了性能成本。

5

優化任務堆棧

不要依賴默認的堆棧大小。在許多RTOS中,任務的默認堆棧大小大約是0x200。這通常是堆棧深度,而不是使用的字節數!僅僅是一個閃爍的LED的任務就可能使用了整整千字節的堆空間! 嵌入式開發人員確保執行最壞情況堆棧分析,并適當地確定每個任務堆棧的大小。從長遠來看,這將有助于節省內存!

6

啟動RTOS感知調試

現代微控制器有一些非??岬恼{試功能,如實時跟蹤和RTOS感知調試。在微控制器和RTOS中啟用這些功能。它們將允許開發人員跟蹤哪些任務運行了多長時間,以什么順序運行,并且可以幫助識別許多與RTOS相關的常見問題。

7

仔細選擇任務優先級

預先開發一個軟件非常有用的一個原因是,它提供了系統中發生的所有事情的大畫面。有了這個大圖,決定系統中每個任務的優先級就變得更容易了。必須仔細選擇優先級,以確保任務不會耗盡CPU時間,并確保系統中不會出現優先級反轉等問題。

8

最后

使用RTOS對嵌入式開發人員來說是非常有益的,并且有助于加快開發周期。許多中間件、庫和框架依賴于RTOS,掌握RTOS確實是非常有必要的一件事。原文轉載于: 網絡,直接來源電子產品世界

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

    關注

    8

    文章

    3019

    瀏覽量

    74003
  • RTOS
    +關注

    關注

    22

    文章

    811

    瀏覽量

    119593
  • 裸機
    +關注

    關注

    0

    文章

    39

    瀏覽量

    6372

原文標題:嵌入式裸機過渡到RTOS七點建議~

文章出處:【微信號:最后一個bug,微信公眾號:最后一個bug】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    用GNU構建裸機系統

    基于AT91SAM7S平臺,介紹裸機開發,以閃燈為藍本,涉及匯編、鏈接、C/C++、中斷等。   無處不在的ARM處理器家族得到了GNU C/C++工具鏈的良好支持。雖然許多在線和印刷資源關注
    發表于 10-16 17:34 ?0次下載

    freertos和rtos區別是什么

    FreeRTOS 和 RTOS(實時操作系統)是兩不同的概念,但它們之間有緊密的聯系。FreeRTOS 是一特定的開源實時操作系統,而 RTOS 是實時操作系統的一般概念。 概念定
    的頭像 發表于 09-02 14:18 ?1168次閱讀

    freertos和裸機有什么區別

    FreeRTOS 和裸機編程是兩種不同的嵌入式系統開發方法,它們在設計理念、資源使用、功能實現等方面有著顯著的差異。 1. 基本概念 1.1 FreeRTOS FreeRTOS 是一小型的、可裁剪
    的頭像 發表于 09-02 14:13 ?1333次閱讀

    RTOS的特性和類型

    實時操作系統(RTOS)是一種可運行實時計算應用程序的軟件平臺,用于處理具有明確時間約束的事件和數據。與通用操作系統(GPOS)不同,RTOS必須在有限的硬件資源上調度應用程序之間的處理和數據共享
    的頭像 發表于 08-20 11:29 ?571次閱讀

    如何將PSoC4000部件的設計過渡到PSoC4000T部件?

    英飛凌提供哪些支持,幫助客戶將現有 PSoC 設計轉移到新產品中? 如何將 PSoC4000 部件的設計過渡到 PSoC4000T 部件? PSoC4000 部件僅支持 PSoC Creator
    發表于 05-29 06:35

    請問CMSIS-RTOS RTX的任務調度鎖在哪里?

    請問一下,CMSIS-RTOS RTX的任務調度鎖在哪里?謝謝!
    發表于 05-13 08:28

    請問cortex-M7核單片機主要應用在哪些領域?

    看到st和nxp的M7核單片機,動不動幾百兆的主頻,有的還要外置DDR,還有的成本低于1刀。想知道這些單片機的目標應用場合是哪些? 單片機發展,51過渡到cortex m3,現在又要從cortex m3
    發表于 04-17 07:49

    MCU友好過渡MPU,米爾基于STM32MP135開發板裸機開發應用筆記

    以前微處理器(MPU)與微控制器(MCU)是截然不同的兩種設備,MPU支持豐富的軟件系統,如Linux和相關的軟件堆棧,而MCU通常將專注于裸機RTOS。近年來,隨著MCU的性能越來越高,MCU
    發表于 03-29 18:35

    STM32mp135裸機開發無法使用DDR嗎?

    /STM32CubeMP13_Package_-_Getting_started#Integrating_AzureRTOS_middleware 咨詢一下關于DDR的使用問題: 1.只有RTOS的才能對DDR進行配置嗎? 2.單純裸機開發(無
    發表于 03-11 07:01

    何時選擇裸機?何時選擇RTOS?何時選擇GPOS?

    在每個開發項目的初期,你都必須選擇軟件開發的基礎。雖然有很多選擇,但它們通常分為三類:裸機、實時操作系統(RTOS)或通用操作系統(GPOS)。
    的頭像 發表于 02-27 11:42 ?1146次閱讀

    我們該如何選擇最適合的實時操作系統?

    隨著越來越多的團隊轉向32位微控制器并持續去采用物聯網技術,對RTOS的需求只會不斷增長。如果您正在過渡到RTOS或最近已經這樣做了,您就會知道選擇RTOS是一項重大挑戰。那么,該如何
    發表于 01-31 16:47 ?486次閱讀

    分享幾點RTOS相比裸機的優勢

    嵌入式系統中,有很多方式實現任務調度。功能有限的小系統中,無限循環足夠實現小系統的功能。當軟件設計變得龐大且復雜時,開發者應該考慮使用實時操作系統RTOS
    的頭像 發表于 01-24 18:23 ?1613次閱讀
    分享幾點<b class='flag-5'>RTOS</b>相比<b class='flag-5'>裸機</b>的優勢

    幾點RTOS相比裸機的優勢分享

    相比前后臺系統中后臺順序執行的程序主體,在多線程系統中,根據程序的功能,我們把這個程序主體分割成一個個獨立的,無限循環且不能返回的小程序,這個小程序我們稱之為線程。
    發表于 01-24 18:21 ?818次閱讀
    幾點<b class='flag-5'>RTOS</b>相比<b class='flag-5'>裸機</b>的優勢分享

    DeepSleep模式過渡到活動模式時,IMO和ECO時鐘在喚醒過程中是如何運行的呢?

    我正在使用 CYT2B95。 我在主動模式下使用 ECO 作為 FLL/PLL 參考時鐘。 DeepSleep 模式過渡到活動模式時,IMO 和 ECO 時鐘在喚醒過程中是如何運行的? 問題 1
    發表于 01-24 07:52

    光模塊溫度過高的影響 光模塊溫度過低的影響

    光模塊溫度過高的影響 光模塊溫度過低的影響 造成光模塊工作溫度過高或過低的原因有哪些? 光模塊溫度過高的影響 光模塊的溫度是一非常重要的指
    的頭像 發表于 12-27 10:56 ?1547次閱讀
    主站蜘蛛池模板: 中文字幕免费视频精品一| 欧美人禽Zozo动人物杂交| 97精品视频在线观看| 日本国产成人精品无码区在线网站| 高跟丝袜岳第一次| 亚洲黄视频在线观看| 老少配xxxxx欧美| 边摸边吃奶玩乳尖视频| 亚洲福利网站| 欧美深夜0000XXXX疯狂| 国产高清精品国语特黄A片| 亚洲三级视频在线| 欧美高清video mr.sexo| 国产成人亚洲综合无| 亚洲午夜无码久久久久蜜臀av| 麻豆XXXX乱女少妇精品| 丰满五十老女人性视频| 亚洲永久精品AV在线观看| 欧美黑人经典片免费观看| 国产精品无码麻豆放荡AV| 在线 无码 中文 强 乱| 轻轻挺进女教师的身体| 国产亚洲精品99一区二区| 97国产露脸精品国产麻豆| 偷拍久久国产视频免费| 久久亚洲精品专区蓝色区| wwwwwwwww日本电影| 亚洲精品无码葡京AV天堂 | 亚洲精品天堂在线| 免费看国产精品麻豆| 国产交换丝雨巅峰| 1313久久国产午夜精品理论片| 色琪琪久久热在线| 久久久精品久久久久三级| 大屁股妇女流出白浆| 与子敌伦刺激对白亂輪亂性| 色www精品视频在线观看| 久久久久青草大香线综合精品| 高清国产在线播放成人| 中文字幕A片视频一区二区| 翁公吮她的花蒂和奶水|