在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    3115

    瀏覽量

    75091
  • RTOS
    +關注

    關注

    24

    文章

    845

    瀏覽量

    120894
  • 裸機
    +關注

    關注

    0

    文章

    40

    瀏覽量

    6652

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【STM32單片機學習進階路線】FreeRTOS嵌入式開發指南:入門到智能循跡避障小車項目實戰(含文檔代碼)

    STM32的學習路徑一般是先掌握裸機開發,再進階學習RTOS。簡單的功能可通過裸機實現,而復雜產品則需借助RTOS來完成。隨著RTOS應用場
    的頭像 發表于 05-29 11:46 ?281次閱讀
    【STM32單片機學習進階路線】FreeRTOS嵌入式開發指南:<b class='flag-5'>從</b>入門到智能循跡避障小車項目實戰(含文檔代碼)

    STM32裸機及FreeRTOS項目分享:U575智能手表+F103智能循跡避障小車(附全套教程/代碼)

    初學者學STM32時,有一好的學習路線是非常重要的,推薦"裸機開發--裸機項目--RTOS開發--RTOS項目"這個體系化路線,
    的頭像 發表于 05-27 17:09 ?378次閱讀
    STM32<b class='flag-5'>裸機</b>及FreeRTOS項目分享:U575智能手表+F103智能循跡避障小車(附全套教程/代碼)

    RTOS如何在FX3中工作?

    大家好, 我正在使用 FX3 進行一項目。 我想知道 RTOS 調度是如何工作的。 我知道調用“CyU3PKernelEntry();”后 RTOS 就會開始工作。 如果我只注冊
    發表于 05-06 13:20

    詳解RTOS中的Hook函數

    Hook函數是RTOS中的一關鍵特性,通過該函數,用戶可以增強對任務管理的控制,定義系統行為。
    的頭像 發表于 03-24 16:14 ?323次閱讀

    “國產雙系統”出爐!復旦微FMQL20SM非對稱AMP:Linux + 裸機

    Linux + RTOS/裸機,但需一主核心來控制整個系統以及其它從核心。每個處理器核心相互隔離,擁有屬于自己的內存,既可各自獨立運行不同的任務,又可多個核心之間進行核間通信。 圖 1 FMQL20SM AMP異構多核框架示意
    的頭像 發表于 01-24 13:46 ?562次閱讀
    “國產雙系統”出爐!復旦微FMQL20SM非對稱AMP:Linux + <b class='flag-5'>裸機</b>

    EE-130:ADSP-21xx快速過渡到ADSP-219x

    電子發燒友網站提供《EE-130:ADSP-21xx快速過渡到ADSP-219x.pdf》資料免費下載
    發表于 01-14 15:04 ?0次下載
    EE-130:<b class='flag-5'>從</b>ADSP-21xx快速<b class='flag-5'>過渡到</b>ADSP-219x

    RZ T2H PCIe裸機程序開發和Linux下的配置介紹

    ,還提供2PCIe Gen3通道等高速外設。本文主要介紹PCIe外設的功能、裸機下EP模式的程序開發、以及在Linux下,如何編譯網卡的流程。
    的頭像 發表于 12-18 11:14 ?1599次閱讀
    RZ T2H PCIe<b class='flag-5'>裸機</b>程序開發和Linux下的配置介紹

    韓國裸機云服務器是什么?

    韓國裸機云服務器是一種結合了裸機服務器與云端技術,提供多IP地址分配和高性能網絡服務的云計算解決方案。主機推薦小編為您整理發布韓國裸機云服務器的詳細解釋。
    的頭像 發表于 11-06 10:11 ?333次閱讀

    用GNU構建裸機系統

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

    freertos和rtos區別是什么

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

    freertos和裸機有什么區別

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

    RTOS的特性和類型

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

    什么是實時操作系統(3)-在 RTOS 中可以期待什么?

    RTOS使用各種機制來管理任務、事件和內存,以確保嵌入式系統滿足時間約束。在本節中,您將了解構建嵌入式應用程序時需要考慮的RTOS功能,例如確定性、空間和時間分離、調度、內存管理和進程間通信。
    的頭像 發表于 07-23 12:00 ?1416次閱讀
    什么是實時操作系統(3)-在 <b class='flag-5'>RTOS</b> 中可以期待什么?

    請問哪里獲得ESP8266 RTOS SDK的SPI驅動程序?

    我計劃將ESP8266用作SPI設備,它可以根據功能從某些SPI主設備進行操作。我已經檢查了 NON OS SDK 中有 SPI 驅動程序ESP8266但 RTOS SDK ESP8266沒有任何源。 那么,有沒有人知道我可以
    發表于 07-12 07:28

    ESP8266如何保護時間關鍵部分免受RTOS中斷的影響?

    我使用ESP8266_RTOS_SDK和1-Wire總線連接DS18B20溫度傳感器。當 wifi 處于STATION_MODE狀態時,傳感器讀取溫度值時偶爾會出現 CRC 錯誤。當 wifi
    發表于 07-09 06:16
    主站蜘蛛池模板: 日韩一卡 二卡 三卡 四卡 免费视频 | 欧美1024性视频 | 国产精品 色| 欧美性性性性性ⅹxxbbbb | 天堂在线天堂最新版在线www | 国产欧美乱码在线看 | 午夜一级精品免费毛片 | 天天操综合视频 | 精品视频一区二区三区 | 91国内在线视频 | 国产一区二区三区在线观看视频 | 日本三级日本三级人妇三级四 | 福利在线播放 | 亚洲毛片基地4455ww | 国产成人永久免费视频 | 色多多视频在线观看播放 | 夜夜春色 | 精品国产柚木在线观看 | 电影天堂在线观看三级 | 成 人 免费 网站 | 99久久网站| 日本免费在线视频 | 国产一级特黄a大片免费 | 亚洲成a人片在线观看88 | 天天做天天爱夜夜爽女人爽宅 | 网友自拍区一区二区三区 | 久久久综合色 | 欧美成人免费夜夜黄啪啪 | 黄网站色视频免费看无下截 | 久久精品免费观看久久 | 五月天亚洲综合 | 色综合美国色农夫网 | 一区二区三区在线观看免费 | 天天插天天搞 | 韩国视频在线播放 | 免费看大尺度视频在线观看 | 一区二区三区无码高清视频 | 4388x17亚洲最大成人网 | 在线视频亚洲欧美 | 第三级视频在线观看 | 女人张开腿男人桶 |