国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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確實是非常有必要的一件事。原文轉載于: 網絡,直接來源電子產品世界

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

    關注

    9

    文章

    3209

    瀏覽量

    76357
  • RTOS
    +關注

    關注

    25

    文章

    866

    瀏覽量

    122975
  • 裸機
    +關注

    關注

    0

    文章

    42

    瀏覽量

    6960

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    搞嵌入式的為啥要一定要學習RTOS

    專業的最后大部分都進入嵌入式這個領域,入門首先接觸的是單片機編程,尤其是C51單片機,基礎的單片機編程通常都是指裸機編程,即不加入任何 RTOS(Real Time Operating System
    發表于 01-05 06:42

    RTOS在嵌入式開發中的作用

    嵌入式系統中,有很多方式實現任務調度。功能有限的小系統中,無限循環足夠實現系統功能。當軟件設計變得龐大且復雜時,設計師應該考慮使用RTOS(實時操作系統)。 下面給大家分享使用RTOS的8
    發表于 12-26 07:53

    使用RTOS時需要注意的幾點內容分享

    的處理器速度總是有幫助的,多內核平臺也能改善響應速度。對開發人員來說,竅門在于把系統需求與硬件和軟件匹配起來,然后才是RTOS在嵌入式應用中的重要性。 一RTOS可以實現一系列調度
    發表于 12-23 06:34

    嵌入式基礎知識-系統調度

    ,操作系統會進行進程調度就緒隊列中重新選擇一進程執行; 當一進程就緒態變成運行態,則意味著操作系統將之前運行的進行切換,當前的進
    發表于 12-16 08:15

    選擇RTOS的要點

    的響應要求。更快的處理器速度總是有幫助的,多內核平臺也能改善響應速度。對開發人員來說,竅門在于把系統需求與硬件和軟件匹配起來,然后才是RTOS在嵌入式應用中的重要性。 一RTOS可以實現一系列
    發表于 12-12 08:00

    什么是嵌入式操作系統?

    要理解嵌入式操作系統(Embedded Operating System,簡稱 RTOS/EOS),我們可以本質定義→核心區別→實際作用→典型特征→嵌入式開發場景適配,五維度來拆解, 一
    發表于 12-09 10:33

    RTOS Crash 問題全維度分析與解決指南

    RTOS Crash往往伴隨硬件級異常、任務調度紊亂、資源耗盡等核心問題,需結合RTOS內核特性、硬件架構、應用邏輯分層定位。 一、RTOS Crash的核心誘因分類
    發表于 12-08 03:56

    請問rtos效率能有裸機的多少啊?

    rtos效率能有裸機的多少啊?
    發表于 12-05 07:37

    RTOS 必學概念:任務、信號量、隊列一次搞懂

    FIFO緩沖區?”這些問題聽起來基礎,但又總是繞在初學者腦子里。很多人直接拿FreeRTOS、RTX這樣的RTOS例程開搞,能跑起來,卻完全沒理解任務調度、信號
    的頭像 發表于 11-17 10:53 ?465次閱讀
    <b class='flag-5'>RTOS</b> 必學概念:任務、信號量、隊列一次搞懂

    嵌入式rtos中哪一更加值得去學習?

    嵌入式圈里聊 RTOS,總有人揪著任務調度的那點差異爭得面紅耳赤,可實際上這東西做透了大家都大差不差 —— 優先級調度、時間片輪轉,核心邏輯翻來覆去就那些,真到項目里誰也沒比誰快出多少,哪怕是所謂
    的頭像 發表于 11-05 10:48 ?706次閱讀
    嵌入式<b class='flag-5'>rtos</b>中哪一<b class='flag-5'>個</b>更加值得去學習?

    深度技術解析nRF Connect SDK裸機選項方案

    設計,例如需要連接功能的直接數據交換應用(如醫療設備、運動可穿戴設備、追蹤器或信標等場景),此類應用毋須使用RTOS或高級功能。 裸機選項已集成至nRF Connect for VS Code開發環境
    發表于 10-31 23:11

    深度技術解析低功耗藍牙廠商nordic的nRF Connect SDK裸機選項方案

    SDK 環境 支持裸機選項升級至Zephyr RTOS,完全具備nRF Connect SDK全部功能 上市時可用示例: 低功耗藍牙:心率服務、LED按鈕服務、Nordic UART服務、外設功耗分析
    發表于 10-29 21:17

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

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

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

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

    RTOS如何在FX3中工作?

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