chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

從裸機(jī)調(diào)度過(guò)渡到RTOS的7個(gè)小技巧

lilihe92 ? 來(lái)源:最后一個(gè)bug ? 作者:最后一個(gè)bug ? 2022-11-29 11:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

正文

實(shí)時(shí)操作系統(tǒng)已經(jīng)成為許多嵌入式系統(tǒng)中的關(guān)鍵組件,從裸機(jī)調(diào)度過(guò)渡到RTOS可能是一件棘手的事情。這里有七個(gè)小技巧可以幫助嵌入式開(kāi)發(fā)人員更輕松地完成過(guò)渡。

1

首先規(guī)劃你的架構(gòu)

如果你從未使用過(guò)UML或者對(duì)軟件架構(gòu)不感興趣,現(xiàn)在是時(shí)候?qū)W習(xí)一下了。 使用RTOS時(shí),開(kāi)發(fā)人員仔細(xì)考慮每項(xiàng)任務(wù)、同步和通信機(jī)制是至關(guān)重要的。這些細(xì)節(jié)不能僅僅存儲(chǔ)在工程師的頭腦中,而是需要以圖表的形式記錄下來(lái),以便在需要時(shí)可以查看和更新。開(kāi)發(fā)一個(gè)基于RTOS的應(yīng)用程序會(huì)很快變得復(fù)雜,考慮清楚應(yīng)用程序的行為是很重要的。

2

仔細(xì)跟蹤內(nèi)存的使用情況

與開(kāi)發(fā)裸機(jī)應(yīng)用程序不同,RTOS任務(wù)和同步結(jié)構(gòu)會(huì)很快耗盡資源受限設(shè)備中的內(nèi)存。開(kāi)發(fā)人員需要非常小心地監(jiān)控內(nèi)存,并跟蹤內(nèi)存的去向。

創(chuàng)建幾個(gè)任務(wù)、幾個(gè)信號(hào)量和互斥體,卻發(fā)現(xiàn)malloc因?yàn)樗卸芽臻g都已被使用而失敗,這種情況并不罕見(jiàn)。

3

預(yù)先創(chuàng)建所有的任務(wù)

RTOS為嵌入式開(kāi)發(fā)人員提供了廣泛的功能,例如創(chuàng)建任務(wù)和銷毀任務(wù)的能力。關(guān)心內(nèi)存使用的開(kāi)發(fā)人員可能傾向于只在需要時(shí)創(chuàng)建任務(wù),然后在任務(wù)完成后銷毀它們。雖然這在概念上很棒,但在資源受限的系統(tǒng)中,通常沒(méi)有復(fù)雜的堆管理器可以處理堆碎片。結(jié)果可能是一個(gè)碎片堆,在程序執(zhí)行過(guò)程中的某個(gè)時(shí)刻突然沒(méi)有內(nèi)存可以分配。 建議在系統(tǒng)初始化期間創(chuàng)建所有使用堆的對(duì)象。結(jié)果似乎是靜態(tài)分配的對(duì)象,如果存在內(nèi)存問(wèn)題,該問(wèn)題將在系統(tǒng)啟動(dòng)時(shí)顯現(xiàn)出來(lái)。

4

盡量不要關(guān)閉堆棧保護(hù)

裸機(jī)開(kāi)發(fā)者通常癡迷于編寫盡可能高效的代碼。意識(shí)到存在使用時(shí)鐘周期的堆棧監(jiān)視器成為優(yōu)化和移除的誘人目標(biāo)。盡量不要這樣做!

堆棧監(jiān)視器用于檢測(cè)堆棧溢出和其他與堆棧相關(guān)的問(wèn)題。雖然它確實(shí)使用了幾個(gè)時(shí)鐘周期,但好處遠(yuǎn)遠(yuǎn)超過(guò)了性能成本。

5

優(yōu)化任務(wù)堆棧

不要依賴默認(rèn)的堆棧大小。在許多RTOS中,任務(wù)的默認(rèn)堆棧大小大約是0x200。這通常是堆棧深度,而不是使用的字節(jié)數(shù)!僅僅是一個(gè)閃爍的LED的任務(wù)就可能使用了整整千字節(jié)的堆空間! 嵌入式開(kāi)發(fā)人員確保執(zhí)行最壞情況堆棧分析,并適當(dāng)?shù)卮_定每個(gè)任務(wù)堆棧的大小。從長(zhǎng)遠(yuǎn)來(lái)看,這將有助于節(jié)省內(nèi)存!

6

啟動(dòng)RTOS感知調(diào)試

現(xiàn)代微控制器有一些非常酷的調(diào)試功能,如實(shí)時(shí)跟蹤和RTOS感知調(diào)試。在微控制器和RTOS中啟用這些功能。它們將允許開(kāi)發(fā)人員跟蹤哪些任務(wù)運(yùn)行了多長(zhǎng)時(shí)間,以什么順序運(yùn)行,并且可以幫助識(shí)別許多與RTOS相關(guān)的常見(jiàn)問(wèn)題。

7

仔細(xì)選擇任務(wù)優(yōu)先級(jí)

預(yù)先開(kāi)發(fā)一個(gè)軟件非常有用的一個(gè)原因是,它提供了系統(tǒng)中發(fā)生的所有事情的大畫面。有了這個(gè)大圖,決定系統(tǒng)中每個(gè)任務(wù)的優(yōu)先級(jí)就變得更容易了。必須仔細(xì)選擇優(yōu)先級(jí),以確保任務(wù)不會(huì)耗盡CPU時(shí)間,并確保系統(tǒng)中不會(huì)出現(xiàn)優(yōu)先級(jí)反轉(zhuǎn)等問(wèn)題。

8

最后

使用RTOS對(duì)嵌入式開(kāi)發(fā)人員來(lái)說(shuō)是非常有益的,并且有助于加快開(kāi)發(fā)周期。許多中間件、庫(kù)和框架依賴于RTOS,掌握RTOS確實(shí)是非常有必要的一件事。原文轉(zhuǎn)載于: 網(wǎng)絡(luò),直接來(lái)源電子產(chǎn)品世界

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    9

    文章

    3197

    瀏覽量

    76276
  • RTOS
    +關(guān)注

    關(guān)注

    25

    文章

    866

    瀏覽量

    122796
  • 裸機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    42

    瀏覽量

    6938

原文標(biāo)題:嵌入式裸機(jī)過(guò)渡到RTOS七點(diǎn)建議~

文章出處:【微信號(hào):最后一個(gè)bug,微信公眾號(hào):最后一個(gè)bug】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    搞嵌入式的為啥要一定要學(xué)習(xí)RTOS

    專業(yè)的最后大部分都進(jìn)入嵌入式這個(gè)領(lǐng)域,入門首先接觸的是單片機(jī)編程,尤其是C51單片機(jī),基礎(chǔ)的單片機(jī)編程通常都是指裸機(jī)編程,即不加入任何 RTOS(Real Time Operating System
    發(fā)表于 01-05 06:42

    RTOS在嵌入式開(kāi)發(fā)中的作用

    嵌入式系統(tǒng)中,有很多方式實(shí)現(xiàn)任務(wù)調(diào)度。功能有限的小系統(tǒng)中,無(wú)限循環(huán)足夠?qū)崿F(xiàn)系統(tǒng)功能。當(dāng)軟件設(shè)計(jì)變得龐大且復(fù)雜時(shí),設(shè)計(jì)師應(yīng)該考慮使用RTOS(實(shí)時(shí)操作系統(tǒng))。 下面給大家分享使用RTOS的8個(gè)
    發(fā)表于 12-26 07:53

    使用RTOS時(shí)需要注意的幾點(diǎn)內(nèi)容分享

    的處理器速度總是有幫助的,多內(nèi)核平臺(tái)也能改善響應(yīng)速度。對(duì)開(kāi)發(fā)人員來(lái)說(shuō),竅門在于把系統(tǒng)需求與硬件和軟件匹配起來(lái),然后才是RTOS在嵌入式應(yīng)用中的重要性。 一個(gè)RTOS可以實(shí)現(xiàn)一系列調(diào)度
    發(fā)表于 12-23 06:34

    嵌入式基礎(chǔ)知識(shí)-系統(tǒng)調(diào)度

    ,操作系統(tǒng)會(huì)進(jìn)行進(jìn)程調(diào)度就緒隊(duì)列中重新選擇一個(gè)進(jìn)程執(zhí)行; 當(dāng)一個(gè)進(jìn)程就緒態(tài)變成運(yùn)行態(tài),則意味著操作系統(tǒng)將之前運(yùn)行的進(jìn)行切換,當(dāng)前的進(jìn)
    發(fā)表于 12-16 08:15

    選擇RTOS的要點(diǎn)

    的響應(yīng)要求。更快的處理器速度總是有幫助的,多內(nèi)核平臺(tái)也能改善響應(yīng)速度。對(duì)開(kāi)發(fā)人員來(lái)說(shuō),竅門在于把系統(tǒng)需求與硬件和軟件匹配起來(lái),然后才是RTOS在嵌入式應(yīng)用中的重要性。 一個(gè)RTOS可以實(shí)現(xiàn)一系列
    發(fā)表于 12-12 08:00

    什么是嵌入式操作系統(tǒng)?

    要理解嵌入式操作系統(tǒng)(Embedded Operating System,簡(jiǎn)稱 RTOS/EOS),我們可以本質(zhì)定義→核心區(qū)別→實(shí)際作用→典型特征→嵌入式開(kāi)發(fā)場(chǎng)景適配,五個(gè)維度來(lái)拆解, 一
    發(fā)表于 12-09 10:33

    RTOS Crash 問(wèn)題全維度分析與解決指南

    ,RTOS Crash往往伴隨硬件級(jí)異常、任務(wù)調(diào)度紊亂、資源耗盡等核心問(wèn)題,需結(jié)合RTOS內(nèi)核特性、硬件架構(gòu)、應(yīng)用邏輯分層定位。 一、RTOS Crash的核心誘因分類
    發(fā)表于 12-08 03:56

    請(qǐng)問(wèn)rtos效率能有裸機(jī)的多少???

    rtos效率能有裸機(jī)的多少???
    發(fā)表于 12-05 07:37

    RTOS 必學(xué)概念:任務(wù)、信號(hào)量、隊(duì)列一次搞懂

    個(gè)FIFO緩沖區(qū)?”這些問(wèn)題聽(tīng)起來(lái)基礎(chǔ),但又總是繞在初學(xué)者腦子里。很多人直接拿FreeRTOS、RTX這樣的RTOS例程開(kāi)搞,能跑起來(lái),卻完全沒(méi)理解任務(wù)調(diào)度、信號(hào)
    的頭像 發(fā)表于 11-17 10:53 ?408次閱讀
    <b class='flag-5'>RTOS</b> 必學(xué)概念:任務(wù)、信號(hào)量、隊(duì)列一次搞懂

    嵌入式rtos中哪一個(gè)更加值得去學(xué)習(xí)?

    嵌入式圈里聊 RTOS,總有人揪著任務(wù)調(diào)度的那點(diǎn)差異爭(zhēng)得面紅耳赤,可實(shí)際上這東西做透了大家都大差不差 —— 優(yōu)先級(jí)調(diào)度、時(shí)間片輪轉(zhuǎn),核心邏輯翻來(lái)覆去就那些,真到項(xiàng)目里誰(shuí)也沒(méi)比誰(shuí)快出多少,哪怕是所謂
    的頭像 發(fā)表于 11-05 10:48 ?674次閱讀
    嵌入式<b class='flag-5'>rtos</b>中哪一<b class='flag-5'>個(gè)</b>更加值得去學(xué)習(xí)?

    深度技術(shù)解析nRF Connect SDK裸機(jī)選項(xiàng)方案

    設(shè)計(jì),例如需要連接功能的直接數(shù)據(jù)交換應(yīng)用(如醫(yī)療設(shè)備、運(yùn)動(dòng)可穿戴設(shè)備、追蹤器或信標(biāo)等場(chǎng)景),此類應(yīng)用毋須使用RTOS或高級(jí)功能。 裸機(jī)選項(xiàng)已集成至nRF Connect for VS Code開(kāi)發(fā)環(huán)境
    發(fā)表于 10-31 23:11

    深度技術(shù)解析低功耗藍(lán)牙廠商nordic的nRF Connect SDK裸機(jī)選項(xiàng)方案

    SDK 環(huán)境 支持裸機(jī)選項(xiàng)升級(jí)至Zephyr RTOS,完全具備nRF Connect SDK全部功能 上市時(shí)可用示例: 低功耗藍(lán)牙:心率服務(wù)、LED按鈕服務(wù)、Nordic UART服務(wù)、外設(shè)功耗分析
    發(fā)表于 10-29 21:17

    【STM32單片機(jī)學(xué)習(xí)進(jìn)階路線】FreeRTOS嵌入式開(kāi)發(fā)指南:入門到智能循跡避障小車項(xiàng)目實(shí)戰(zhàn)(含文檔代碼)

    STM32的學(xué)習(xí)路徑一般是先掌握裸機(jī)開(kāi)發(fā),再進(jìn)階學(xué)習(xí)RTOS。簡(jiǎn)單的功能可通過(guò)裸機(jī)實(shí)現(xiàn),而復(fù)雜產(chǎn)品則需借助RTOS來(lái)完成。隨著RTOS應(yīng)用場(chǎng)
    的頭像 發(fā)表于 05-29 11:46 ?1180次閱讀
    【STM32單片機(jī)學(xué)習(xí)進(jìn)階路線】FreeRTOS嵌入式開(kāi)發(fā)指南:<b class='flag-5'>從</b>入門到智能循跡避障小車項(xiàng)目實(shí)戰(zhàn)(含文檔代碼)

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

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

    RTOS如何在FX3中工作?

    大家好, 我正在使用 FX3 進(jìn)行一個(gè)項(xiàng)目。 我想知道 RTOS 調(diào)度是如何工作的。 我知道調(diào)用“CyU3PKernelEntry();”后 RTOS 就會(huì)開(kāi)始工作。 如果我只注冊(cè)
    發(fā)表于 05-06 13:20