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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(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ù)和銷(xiāo)毀任務(wù)的能力。關(guān)心內(nèi)存使用的開(kāi)發(fā)人員可能傾向于只在需要時(shí)創(chuàng)建任務(wù),然后在任務(wù)完成后銷(xiāo)毀它們。雖然這在概念上很棒,但在資源受限的系統(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ā)者通常癡迷于編寫(xiě)盡可能高效的代碼。意識(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ù)堆棧

不要依賴(lài)默認(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ā)生的所有事情的大畫(huà)面。有了這個(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ù)和框架依賴(lài)于RTOS,掌握RTOS確實(shí)是非常有必要的一件事。原文轉(zhuǎn)載于: 網(wǎng)絡(luò),直接來(lái)源電子產(chǎn)品世界

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)注

    8

    文章

    3052

    瀏覽量

    74276
  • RTOS
    +關(guān)注

    關(guān)注

    22

    文章

    819

    瀏覽量

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

    關(guān)注

    0

    文章

    39

    瀏覽量

    6424

原文標(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)推薦

    “國(guó)產(chǎn)雙系統(tǒng)”出爐!復(fù)旦微FMQL20SM非對(duì)稱(chēng)AMP:Linux + 裸機(jī)

    Linux + RTOS/裸機(jī),但需一個(gè)主核心來(lái)控制整個(gè)系統(tǒng)以及其它從核心。每個(gè)處理器核心相互隔離,擁有屬于自己的內(nèi)存,既可各自獨(dú)立運(yùn)行不同的任務(wù),又可多個(gè)核心之間進(jìn)行核間通信。 圖 1 FMQL20SM AMP異構(gòu)多核框架示意
    的頭像 發(fā)表于 01-24 13:46 ?100次閱讀
    “國(guó)產(chǎn)雙系統(tǒng)”出爐!復(fù)旦微FMQL20SM非對(duì)稱(chēng)AMP:Linux + <b class='flag-5'>裸機(jī)</b>

    EE-130:ADSP-21xx快速過(guò)渡到ADSP-219x

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

    RZ T2H PCIe裸機(jī)程序開(kāi)發(fā)和Linux下的配置介紹

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

    韓國(guó)裸機(jī)云服務(wù)器是什么?

    韓國(guó)裸機(jī)云服務(wù)器是一種結(jié)合了裸機(jī)服務(wù)器與云端技術(shù),提供多IP地址分配和高性能網(wǎng)絡(luò)服務(wù)的云計(jì)算解決方案。主機(jī)推薦小編為您整理發(fā)布韓國(guó)裸機(jī)云服務(wù)器的詳細(xì)解釋。
    的頭像 發(fā)表于 11-06 10:11 ?154次閱讀

    用GNU構(gòu)建裸機(jī)系統(tǒng)

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

    freertos和rtos區(qū)別是什么

    FreeRTOS 和 RTOS(實(shí)時(shí)操作系統(tǒng))是兩個(gè)不同的概念,但它們之間有緊密的聯(lián)系。FreeRTOS 是一個(gè)特定的開(kāi)源實(shí)時(shí)操作系統(tǒng),而 RTOS 是實(shí)時(shí)操作系統(tǒng)的一般概念。 概念定
    的頭像 發(fā)表于 09-02 14:18 ?1478次閱讀

    freertos和裸機(jī)有什么區(qū)別

    FreeRTOS 和裸機(jī)編程是兩種不同的嵌入式系統(tǒng)開(kāi)發(fā)方法,它們?cè)谠O(shè)計(jì)理念、資源使用、功能實(shí)現(xiàn)等方面有著顯著的差異。 1. 基本概念 1.1 FreeRTOS FreeRTOS 是一個(gè)小型的、可裁剪
    的頭像 發(fā)表于 09-02 14:13 ?1815次閱讀

    RTOS的特性和類(lèi)型

    實(shí)時(shí)操作系統(tǒng)(RTOS)是一種可運(yùn)行實(shí)時(shí)計(jì)算應(yīng)用程序的軟件平臺(tái),用于處理具有明確時(shí)間約束的事件和數(shù)據(jù)。與通用操作系統(tǒng)(GPOS)不同,RTOS必須在有限的硬件資源上調(diào)度應(yīng)用程序之間的處理和數(shù)據(jù)共享
    的頭像 發(fā)表于 08-20 11:29 ?684次閱讀

    如何將PSoC4000部件的設(shè)計(jì)過(guò)渡到PSoC4000T部件?

    英飛凌提供哪些支持,幫助客戶(hù)將現(xiàn)有 PSoC 設(shè)計(jì)轉(zhuǎn)移到新產(chǎn)品中? 如何將 PSoC4000 部件的設(shè)計(jì)過(guò)渡到 PSoC4000T 部件? PSoC4000 部件僅支持 PSoC Creator
    發(fā)表于 05-29 06:35

    請(qǐng)問(wèn)CMSIS-RTOS RTX的任務(wù)調(diào)度鎖在哪里?

    請(qǐng)問(wèn)一下,CMSIS-RTOS RTX的任務(wù)調(diào)度鎖在哪里?謝謝!
    發(fā)表于 05-13 08:28

    請(qǐng)問(wèn)cortex-M7核單片機(jī)主要應(yīng)用在哪些領(lǐng)域?

    看到st和nxp的M7核單片機(jī),動(dòng)不動(dòng)幾百兆的主頻,有的還要外置DDR,還有的成本低于1刀。想知道這些單片機(jī)的目標(biāo)應(yīng)用場(chǎng)合是哪些? 單片機(jī)發(fā)展,51過(guò)渡到cortex m3,現(xiàn)在又要從cortex m3
    發(fā)表于 04-17 07:49

    MCU友好過(guò)渡MPU,米爾基于STM32MP135開(kāi)發(fā)板裸機(jī)開(kāi)發(fā)應(yīng)用筆記

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

    0開(kāi)始創(chuàng)建AWTK應(yīng)用程序】編譯應(yīng)用到RTOS平臺(tái)

    AWTK是基于C語(yǔ)言開(kāi)發(fā)的跨平臺(tái)GUI框架。本系列文章介紹如何0開(kāi)始創(chuàng)建AWTK應(yīng)用程序,包括搭建開(kāi)發(fā)調(diào)試環(huán)境、使用AWTK創(chuàng)建Hello工程并在模擬器上運(yùn)行、將AWTK應(yīng)用程序移植到其它平臺(tái)。在
    的頭像 發(fā)表于 03-21 08:23 ?663次閱讀
    【<b class='flag-5'>從</b>0開(kāi)始創(chuàng)建AWTK應(yīng)用程序】編譯應(yīng)用到<b class='flag-5'>RTOS</b>平臺(tái)

    STM32mp135裸機(jī)開(kāi)發(fā)無(wú)法使用DDR嗎?

    /STM32CubeMP13_Package_-_Getting_started#Integrating_AzureRTOS_middleware 咨詢(xún)一下關(guān)于DDR的使用問(wèn)題: 1.只有RTOS的才能對(duì)DDR進(jìn)行配置嗎? 2.單純裸機(jī)開(kāi)發(fā)(無(wú)
    發(fā)表于 03-11 07:01

    何時(shí)選擇裸機(jī)?何時(shí)選擇RTOS?何時(shí)選擇GPOS?

    在每個(gè)開(kāi)發(fā)項(xiàng)目的初期,你都必須選擇軟件開(kāi)發(fā)的基礎(chǔ)。雖然有很多選擇,但它們通常分為三類(lèi):裸機(jī)、實(shí)時(shí)操作系統(tǒng)(RTOS)或通用操作系統(tǒng)(GPOS)。
    的頭像 發(fā)表于 02-27 11:42 ?1288次閱讀
    主站蜘蛛池模板: 国内精品视频一区二区在线观看 | 国产免费人成在线看视频 | 高清欧美性猛交xxxx黑人猛交 | 免费人成网站在线观看10分钟 | 亚洲免费综合色视频 | 69国产精品人妻无码免费 | 人妻熟妇乱又伦精品视频中文字幕 | 91精品国产免费入口 | 97精品免费视频 | 九九热这里都是精品 | 有码在线播放 | 国产精品嫩草免费视频 | 国产美熟女乱又伦AV | 国产一级特黄a大片99 | 亚洲日本一区二区三区在线不卡 | 91次元黄色观看 | 花季v3.0.2黄在线观看 | 亚洲欧美中文日韩v在线 | 美娇妻的性奴史1一4 | xx69欧美| 鲁一鲁亚洲无线码 | 久久九九精品国产自在现线拍 | 久久精品一本到东京热 | 色中色最新地址登陆 | 石原莉奈rbd806中文字幕 | 国产精品色午夜视频免费看 | 直插下身完整的欧美版 | 日韩高清一区二区三区不卡 | 蜜臀AV999无码精品国产 | 午夜国产视频 | 高清日本片免费观看 | chinese帅哥gv在线看 | 哒哒哒影院在线观看免费高清 | 国产亚洲精品久久久久久白晶晶 | 韩国电影real在线观看完整版 | 色久悠悠无码偷拍自怕 | 青青娱乐网 | 一二三区乱码不卡手机版 | 麻豆AV无码精品一区二区 | 亚洲黄色在线播放 | 欧美性猛交xxxxxxxx软件 |