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)不再提示

哪些工具可以實(shí)現(xiàn)基于RTOS的程序bug?

strongerHuang ? 來(lái)源:麥克泰技術(shù) ? 作者:麥克泰技術(shù) ? 2021-05-03 12:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

越來(lái)越多的嵌入式系統(tǒng)依賴于實(shí)時(shí)操作系統(tǒng)(RTOS)的使用,以滿足實(shí)時(shí)需求,減少上市時(shí)間,簡(jiǎn)化開(kāi)發(fā),增加代碼可移植性。盡管RTOS有許多好處,但它也有其缺點(diǎn),如可能引入分配不當(dāng)?shù)娜蝿?wù)優(yōu)先級(jí)、堆棧溢出、饑餓、死鎖、優(yōu)先級(jí)反轉(zhuǎn)等bug。

一些專門設(shè)計(jì)的工具,可以幫助基于RTOS的程序開(kāi)發(fā)人員發(fā)現(xiàn)一些難以發(fā)現(xiàn)的錯(cuò)誤。

RTOS是什么?

實(shí)時(shí)操作系統(tǒng)(RTOS或?qū)崟r(shí)內(nèi)核)是有效地管理CPU時(shí)間的軟件。大多數(shù)內(nèi)核使用C編寫,僅需匯編語(yǔ)言編寫小部分代碼,使內(nèi)核適配不同的CPU體系結(jié)構(gòu)。在使用RTOS內(nèi)核設(shè)計(jì)應(yīng)用程序時(shí),只需將工作分成任務(wù),每個(gè)任務(wù)負(fù)責(zé)工作的一部分。任務(wù)(也稱為線程)是一個(gè)簡(jiǎn)單的程序,認(rèn)為自己完全擁有CPU。在單核CPU上,在任何給定時(shí)間內(nèi)只能執(zhí)行一個(gè)任務(wù)。應(yīng)用代碼還需要根據(jù)任務(wù)重要性為每個(gè)任務(wù)分配優(yōu)先級(jí)以及任務(wù)堆棧(RAM)。一般來(lái)說(shuō),增加低優(yōu)先級(jí)任務(wù)不會(huì)影響系統(tǒng)對(duì)高優(yōu)先級(jí)任務(wù)的響應(yīng)。任務(wù)實(shí)現(xiàn)通常是一個(gè)無(wú)限循環(huán),內(nèi)核負(fù)責(zé)任務(wù)的管理,稱為多任務(wù)處理。多任務(wù)處理是在幾個(gè)順序任務(wù)之間調(diào)度和切換CPU的過(guò)程。多任務(wù)處理提供了具有多個(gè)CPU的錯(cuò)覺(jué),最大化地使用CPU,如圖1所示。多任務(wù)處理還有助于創(chuàng)建模塊化的應(yīng)用程序。使用實(shí)時(shí)內(nèi)核后,應(yīng)用程序更容易設(shè)計(jì)和維護(hù)。

8aec703c-9ff4-11eb-8b86-12bb97331649.png

大多數(shù)商業(yè)RTOS都是搶占式調(diào)度方式,內(nèi)核總是運(yùn)行就緒的最重要的任務(wù)。搶占式內(nèi)核也是事件驅(qū)動(dòng)的,任務(wù)被設(shè)計(jì)為等待事件發(fā)生后才能執(zhí)行。如果任務(wù)等待的事件沒(méi)有發(fā)生,內(nèi)核將運(yùn)行其它任務(wù)。等待狀態(tài)的任務(wù)不消耗CPU時(shí)間。通過(guò)內(nèi)核API調(diào)用來(lái)完成事件的發(fā)生和等待操作,避免輪詢操作,提高CPU時(shí)間的利用率。典型的任務(wù)實(shí)現(xiàn)示例,如下所示:

8b22bab6-9ff4-11eb-8b86-12bb97331649.png

實(shí)時(shí)內(nèi)核提供了許多服務(wù),如多任務(wù)處理、中斷管理、任務(wù)間通信與同步、資源管理、時(shí)間管理、內(nèi)存分區(qū)管理等。RTOS可以用于少量任務(wù)的簡(jiǎn)單應(yīng)用,在需要復(fù)雜和耗時(shí)的通信的應(yīng)用中,如TCP/IP、USB(主機(jī)和/或設(shè)備)、CAN、藍(lán)牙Zigbee應(yīng)用等,RTOS是一個(gè)必備工具。當(dāng)應(yīng)用程序需要文件系統(tǒng)來(lái)存儲(chǔ)和檢索數(shù)據(jù),以及當(dāng)產(chǎn)品配備了圖形顯示(黑白、灰度或彩色)時(shí),也強(qiáng)烈推薦使用RTOS。

硬件調(diào)試端口

ARM Cortex-M內(nèi)核配備了強(qiáng)大的調(diào)試硬件。CoreSight提供了非侵入性的功能,允許工具在不停止CPU的情況下監(jiān)視和控制實(shí)時(shí)系統(tǒng),例如:

動(dòng)態(tài)內(nèi)存/外設(shè)訪問(wèn)(讀寫)

指令跟蹤(芯片需包括一個(gè)執(zhí)行跟蹤宏單元,ETM)

數(shù)據(jù)跟蹤

下圖顯示了Core Sight調(diào)試端口、CPU和內(nèi)存外設(shè)之間的關(guān)系簡(jiǎn)化框圖。

8b5a0f0c-9ff4-11eb-8b86-12bb97331649.png

系統(tǒng)測(cè)試/調(diào)試工具

下圖顯示了CoreSight如何連接到開(kāi)發(fā)環(huán)境:

8b6ab65e-9ff4-11eb-8b86-12bb97331649.png

1、嵌入式開(kāi)發(fā)通常使用集成開(kāi)發(fā)環(huán)境(IDE),IDE中通常包含代碼編輯器、編譯器、匯編器、鏈接器、調(diào)試器等工具。

IDE內(nèi)置的調(diào)試器只提供了最基本的功能:下載代碼、啟動(dòng)/停止應(yīng)用、設(shè)置斷點(diǎn)等功能。一些調(diào)試器允許在目標(biāo)運(yùn)行時(shí)顯示和更改變量(如Live Watch),但這些功能僅限于數(shù)值。許多調(diào)試器內(nèi)置RTOS插件,但通常需要停止應(yīng)用程序才能檢查RTOS的狀態(tài)(對(duì)于調(diào)試實(shí)時(shí)系統(tǒng)不太實(shí)用)。

2、通過(guò)調(diào)試器,例如Segger J-Link,將代碼下載到目標(biāo)系統(tǒng)。

3、J-Link連接到CoreSight調(diào)試端口,啟動(dòng)/停止CPU,下載代碼,編程板載Flash等。即使目標(biāo)系統(tǒng)正在執(zhí)行代碼,J-Link也可以讀寫內(nèi)存。

4、Micrium的μC/Probe是一個(gè)獨(dú)立的、與CPU無(wú)關(guān)的Windows應(yīng)用程序,它讀取工具鏈生成的ELF文件。ELF文件包含下載到目標(biāo)系統(tǒng)的代碼以及所有全局變量的名稱、數(shù)據(jù)類型和內(nèi)存位置。

5、μC/Probe允許用戶在運(yùn)行時(shí)顯示或更改連接的嵌入式目標(biāo)上的變量或內(nèi)存位置(包括I/O端口)的值。用戶只需在μC/Probe圖形環(huán)境填充量規(guī)、數(shù)字指示器、表格、圖表、虛擬LED、條形圖、滑塊、開(kāi)關(guān)、按鈕等控件,并將控件與嵌入設(shè)備中的變量或內(nèi)存位置相關(guān)聯(lián),即可在運(yùn)行時(shí)顯示或更改變量。通過(guò)μC/Probe圖形界面中添加的虛擬滑塊或開(kāi)關(guān),你可以輕松地更改運(yùn)行系統(tǒng)的參數(shù)(如過(guò)濾系數(shù)和PID回路增益)或啟動(dòng)設(shè)備并測(cè)試I/O端口。

6、μC/Probe向J-Link發(fā)送讀取或?qū)懭雰?nèi)存的請(qǐng)求。

7、J-Link請(qǐng)求將轉(zhuǎn)換為CoreSight命令,獲取變量值并顯示到μC/Probe圖形界面。

8、測(cè)試/調(diào)試實(shí)時(shí)嵌入式系統(tǒng)的另一個(gè)非常有用的工具是SEGGER的SystemView。此工具通常與RTOS一起工作,按時(shí)間順序顯示任務(wù)和ISR的執(zhí)行,可以查看每個(gè)任務(wù)需要執(zhí)行的時(shí)間(最小/平均/最大),任務(wù)何時(shí)就緒,每個(gè)任務(wù)實(shí)際開(kāi)始執(zhí)行時(shí)間,ISR何時(shí)執(zhí)行等。SystemView可以幫助你發(fā)現(xiàn)不易發(fā)現(xiàn)的錯(cuò)誤。但SystemView需要向目標(biāo)系統(tǒng)添加記錄RTOS事件和ISR的駐留代碼(由SEGGER免費(fèi)提供),SystemView還會(huì)消耗少量的RAM來(lái)緩存這些事件。

9、J-Link允許多個(gè)進(jìn)程同時(shí)訪問(wèn)CoreSight,因此你可以同時(shí)使用這三個(gè)工具。

基于RTOS應(yīng)用中的問(wèn)題

堆棧溢出

在基于實(shí)時(shí)內(nèi)核的應(yīng)用中,每個(gè)任務(wù)都需要自己的堆棧。任務(wù)所需堆棧的大小取決于應(yīng)用程序。如果堆棧大于任務(wù)要求,則會(huì)浪費(fèi)內(nèi)存。如果堆棧太小,堆棧可能溢出。我們可以通過(guò)分配更多內(nèi)存來(lái)減少堆棧溢出的機(jī)會(huì),通常需要25-50%的額外堆??臻g。一些CPU,比如基于ARMv8M架構(gòu)的CPU,內(nèi)置了堆棧溢出檢測(cè)機(jī)制。然而,該特性并不能幫助確定合適的堆棧大小,它只是防止堆棧溢出的負(fù)面后果。

堆棧分配時(shí),首先為任務(wù)堆棧分配更多空間,然后在已知最壞情況下運(yùn)行應(yīng)用程序,監(jiān)視實(shí)際堆棧使用情況。

下圖顯示了μC/Probe對(duì)測(cè)試應(yīng)用程序的μ/OS-III內(nèi)核感知的截圖。Stack Usage列顯示每個(gè)任務(wù)在給定時(shí)間的最大堆棧使用情況。μC/Probe將更新并實(shí)時(shí)顯示堆棧使用信息,無(wú)需停止目標(biāo)應(yīng)用。綠色表示最大堆棧使用量一直保持在70%。黃色表示堆棧使用量在70%到90%之間。紅色表示堆棧使用量已超過(guò)90%。顯然,使用92%堆棧的任務(wù)應(yīng)該增大堆棧,使其回到70%以下。

8beda6c2-9ff4-11eb-8b86-12bb97331649.png

中斷響應(yīng)

在臨界代碼處理時(shí),RTOS和應(yīng)用程序代碼通常必須禁用中斷。關(guān)中斷會(huì)影響系統(tǒng)對(duì)事件的響應(yīng),RTOS應(yīng)用中盡量減少中斷禁用時(shí)間。

μC/OS-III會(huì)監(jiān)測(cè)每個(gè)任務(wù)最壞情況下的中斷禁用時(shí)間,下圖所示。如果應(yīng)用需要滿足實(shí)時(shí)截止時(shí)間,這些信息非常有用。

中斷被禁用的時(shí)間很大程度上取決于CPU、其時(shí)鐘速率、應(yīng)用程序和調(diào)用的RTOS服務(wù)。禁用中斷最長(zhǎng)的任務(wù)用紅色高亮顯示,幫助用戶快速識(shí)別潛在的異常值。

8c00be9c-9ff4-11eb-8b86-12bb97331649.png

如果最大中斷禁用時(shí)間是由RTOS引起的,可以:

查找并使用中斷禁用時(shí)間較低的RTOS API。

增加CPU的時(shí)鐘速率。

使用非內(nèi)核感知中斷來(lái)處理高度時(shí)間敏感的代碼。

優(yōu)先級(jí)反轉(zhuǎn)

優(yōu)先級(jí)反轉(zhuǎn)發(fā)生在低優(yōu)先級(jí)任務(wù)持有高優(yōu)先級(jí)任務(wù)需要的資源時(shí)。當(dāng)中等優(yōu)先級(jí)的任務(wù)搶占占用資源的低優(yōu)先級(jí)的任務(wù)時(shí),問(wèn)題就會(huì)加劇?!皟?yōu)先級(jí)反轉(zhuǎn)”一詞指的是,低優(yōu)先級(jí)任務(wù)似乎比高優(yōu)先級(jí)任務(wù)具有更高的優(yōu)先權(quán),至少在共享該資源時(shí)是如此。

優(yōu)先級(jí)反轉(zhuǎn)是實(shí)時(shí)系統(tǒng)中的一個(gè)問(wèn)題,當(dāng)使用基于優(yōu)先級(jí)的搶占式內(nèi)核時(shí)會(huì)發(fā)生。如下圖所示,SystemView展示了一個(gè)優(yōu)先級(jí)反轉(zhuǎn)場(chǎng)景。

App HPT具有最高優(yōu)先級(jí),App MPT 具有中優(yōu)先級(jí),App LPT優(yōu)先級(jí)最低。

8ced1a62-9ff4-11eb-8b86-12bb97331649.png

可以使用RTOS的互斥量機(jī)制來(lái)解決上面描述的優(yōu)先級(jí)反轉(zhuǎn)問(wèn)題。優(yōu)先級(jí)反轉(zhuǎn)被限定為L(zhǎng)PT訪問(wèn)共享資源所需的時(shí)間,下圖所示。LPT和HPT都使用互斥量而非信號(hào)量來(lái)獲得對(duì)共享資源的訪問(wèn)權(quán)。如果沒(méi)有SystemView這樣的工具,優(yōu)先級(jí)反轉(zhuǎn)將很難識(shí)別和校正。

8cf8731c-9ff4-11eb-8b86-12bb97331649.png

注意,如果LPT只是HPT的下一個(gè)優(yōu)先級(jí)級(jí)別,則可以使用信號(hào)量。在這種情況下,RTOS不需要更改LPT的優(yōu)先級(jí),信號(hào)量是首選項(xiàng),它比互斥信號(hào)量快。

死鎖

死鎖是至少兩個(gè)任務(wù)相互等待另一個(gè)任務(wù)擁有的資源。死鎖可能不會(huì)立即發(fā)生,它很大程度上取決于兩個(gè)任務(wù)何時(shí)需要彼此的資源。如圖8所示,μC/Probe的內(nèi)核感知視圖有一列,顯示每個(gè)任務(wù)的執(zhí)行頻率(RTOS切換任務(wù)的頻率)。通過(guò)監(jiān)視此列可以檢測(cè)死鎖。如果至少兩個(gè)任務(wù)的計(jì)數(shù)已停止(μC/Prboe在CPU運(yùn)行時(shí)更新這些計(jì)數(shù)器),則可能存在死鎖。對(duì)于這種情況,不需要使用μC/Probe等工具也可以判定鎖定行為,該工具使它更加明顯。

8d073262-9ff4-11eb-8b86-12bb97331649.png

可以通過(guò)以下方法來(lái)避免死鎖:

1、任務(wù)先獲取所有必需的資源,以相同的順序獲取它們,以相反的順序釋放它們。

2、在RTOS API調(diào)用中使用超時(shí)機(jī)制,以避免永遠(yuǎn)等待資源可用。檢查RTOS API返回的錯(cuò)誤代碼,以確保對(duì)所需資源的請(qǐng)求成功。

任務(wù)饑餓

饑餓指高優(yōu)先級(jí)任務(wù)消耗了所有CPU帶寬,低優(yōu)先級(jí)任務(wù)沒(méi)有CPU時(shí)間或很少。饑餓的影響是響應(yīng)性和產(chǎn)品特性的下降,例如嵌入式目標(biāo)的顯示更新緩慢、通信堆棧中的數(shù)據(jù)包丟失、操作界面響應(yīng)遲緩等。為解決饑餓問(wèn)題,可以:

1、優(yōu)化消耗大多數(shù)CPU帶寬的代碼。

2、提高CPU的時(shí)鐘速度。

8d171ede-9ff4-11eb-8b86-12bb97331649.png

總結(jié)

IDE內(nèi)置的調(diào)試器通常不足以調(diào)試基于RTOS的實(shí)時(shí)系統(tǒng)。

幸運(yùn)的是,有專門為調(diào)試基于RTOS的系統(tǒng)而設(shè)計(jì)的工具。其中一個(gè)工具是Segger的SystemView,它會(huì)按時(shí)間順序顯示ISR和任務(wù)的執(zhí)行,收集運(yùn)行時(shí)統(tǒng)計(jì)數(shù)據(jù),如最小和最大執(zhí)行時(shí)間、ISR與任務(wù)之間的關(guān)系、CPU負(fù)載等。

另一個(gè)可以補(bǔ)充SystemView的工具是Micrium的μC/Probe,這是一個(gè)通用工具,它允許開(kāi)發(fā)人員在不干擾CPU的情況下,可視化和改變正在運(yùn)行的嵌入式目標(biāo)的行為。μC/Probe可以用于裸機(jī)或基于RTOS的應(yīng)用中。對(duì)于基于RTOS的應(yīng)用程序,μC/Probe包括非侵入性的、實(shí)時(shí)內(nèi)核感知以及TCP/IP協(xié)議棧感知功能。SystemView和μC/Probe可以在整個(gè)開(kāi)發(fā)周期中使用,提供關(guān)于嵌入式目標(biāo)的運(yùn)行時(shí)行為的反饋。

原文標(biāo)題:幾種基于RTOS的實(shí)用工具

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

責(zé)任編輯:haq

聲明:本文內(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)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5175

    文章

    19973

    瀏覽量

    324380
  • RTOS
    +關(guān)注

    關(guān)注

    24

    文章

    856

    瀏覽量

    122194

原文標(biāo)題:幾種基于RTOS的實(shí)用工具

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    RTOS怎么實(shí)現(xiàn)共享內(nèi)存?

    K230的RTOS支持POSIX標(biāo)準(zhǔn)的共享內(nèi)存嗎 我嘗試使用卻失敗 還是說(shuō)需要源碼部分配置的開(kāi)啟才可以使用 求教大佬
    發(fā)表于 08-04 08:06

    請(qǐng)問(wèn)Linux+rtos的1.9版本sdk大核開(kāi)機(jī)自啟動(dòng)一個(gè)程序怎么關(guān)閉?

    編譯開(kāi)機(jī)大核心就出現(xiàn)一個(gè)程序報(bào)錯(cuò),01開(kāi)發(fā)板csi2上面默認(rèn)接的攝像頭是gc2093的,運(yùn)行的是ov5647 期待結(jié)果和實(shí)際結(jié)果 可以關(guān)閉這個(gè)自啟動(dòng)程序;也希望順帶知道我要開(kāi)啟自啟動(dòng)的程序
    發(fā)表于 07-22 06:07

    請(qǐng)問(wèn)編譯純rtos到底是選擇Linux+rtos的sdk編譯only rtos還是直接使用rtos sdk?

    編譯純rtos到底是選擇Linux+rtos的sdk編譯only rtos還是直接使用rtos sdk?
    發(fā)表于 07-11 07:22

    IAR平臺(tái)現(xiàn)已提供對(duì)Zephyr RTOS的量產(chǎn)級(jí)支持

    IAR宣布,其嵌入式開(kāi)發(fā)平臺(tái)正式推出對(duì)Zephyr RTOS的量產(chǎn)級(jí)支持。該支持自IAR的Arm開(kāi)發(fā)工具鏈v9.70起全面提供。
    的頭像 發(fā)表于 07-09 15:43 ?239次閱讀

    Lauterbach TRACE32開(kāi)發(fā)工具現(xiàn)在支持PX5 RTOS

    Lauterbach TRACE32開(kāi)發(fā)工具現(xiàn)在支持PX5 RTOS。這里TRACE32工具支持包括對(duì)PX5 RTOS內(nèi)部結(jié)構(gòu)和數(shù)據(jù)的訪問(wèn),使開(kāi)發(fā)人員能夠更深入地了解其應(yīng)用
    的頭像 發(fā)表于 06-12 16:38 ?678次閱讀

    瑞薩RA8系列教程 | 基于e2s在RA8上跑RTOS實(shí)現(xiàn)的方法

    我們今天教大家快速搭建FreeRTOS工程的方法。早期,軟件工具不那么成熟,搭建FreeRTOS工程都是需要一步一步手動(dòng)移植。很多小伙伴吐槽,移植過(guò)程太繁瑣。而現(xiàn)在,軟件工具越來(lái)越“先進(jìn)”了,我們搭建工程只需要?jiǎng)觿?dòng)鼠標(biāo)就能搭建一個(gè)完整的工程,很多人說(shuō)通過(guò)配置
    的頭像 發(fā)表于 06-11 17:22 ?1761次閱讀
    瑞薩RA8系列教程 | 基于e2s在RA8上跑<b class='flag-5'>RTOS</b><b class='flag-5'>實(shí)現(xiàn)</b>的方法

    如何在Eclipse ThreadX RTOS中集成SystemView

    SEGGER實(shí)時(shí)軟件分析工具SystemView已經(jīng)在ThreadX v6.4.2上進(jìn)行了測(cè)試。SystemView從v3.60c版本支持Eclipse ThreadX(Azure RTOS),用戶
    的頭像 發(fā)表于 05-06 17:11 ?1020次閱讀

    RTOS如何在FX3中工作?

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

    瑞薩RA8 MCU開(kāi)發(fā)教程:基于e2 studio在RA8上跑RTOS實(shí)現(xiàn)的方法

    今天教大家快速搭建FreeRTOS工程的方法?,F(xiàn)在, 軟件工具越來(lái)越“ 先進(jìn) ” 了,我們 搭建工程 只需要?jiǎng)觿?dòng)鼠標(biāo)就能 搭建一個(gè)完整的工程,很多人說(shuō)通過(guò)配置工具能更快入門RTOS。
    的頭像 發(fā)表于 04-02 18:16 ?1709次閱讀
    瑞薩RA8 MCU開(kāi)發(fā)教程:基于e2 studio在RA8上跑<b class='flag-5'>RTOS</b><b class='flag-5'>實(shí)現(xiàn)</b>的方法

    詳解RTOS中的Hook函數(shù)

    Hook函數(shù)是RTOS中的一個(gè)關(guān)鍵特性,通過(guò)該函數(shù),用戶可以增強(qiáng)對(duì)任務(wù)管理的控制,定義系統(tǒng)行為。
    的頭像 發(fā)表于 03-24 16:14 ?681次閱讀

    RTOS中的本地存儲(chǔ)指針使用

    本地存儲(chǔ)指針是RTOS中的一個(gè)重要特性,增強(qiáng)了任務(wù)管理和數(shù)據(jù)處理能力。在RTOS上下文中,本地存儲(chǔ)是指存儲(chǔ)在本地的特定任務(wù)或?qū)ο蟮臄?shù)據(jù)。通常與任務(wù)本地存儲(chǔ)(Task Local Storage,TLS)有關(guān),其中數(shù)據(jù)存儲(chǔ)在任務(wù)控制塊(TCB)中,允許每個(gè)任務(wù)具有私有的、特
    的頭像 發(fā)表于 02-28 16:33 ?1062次閱讀
    <b class='flag-5'>RTOS</b>中的本地存儲(chǔ)指針使用

    如何在STM32CubeMX中集成Flexible Safety RTOS

    使用STM32處理器的用戶,可以通過(guò)STM32Cube工具生成基礎(chǔ)工程,免費(fèi)評(píng)估功能安全操作系統(tǒng)Flexible Safety RTOS二進(jìn)制庫(kù)了。
    的頭像 發(fā)表于 01-17 11:31 ?2057次閱讀
    如何在STM32CubeMX中集成Flexible Safety <b class='flag-5'>RTOS</b>

    使用任務(wù)通知提高RTOS應(yīng)用的效率

    在實(shí)時(shí)嵌入式系統(tǒng)中,性能和資源效率是決定設(shè)計(jì)成敗的關(guān)鍵因素。傳統(tǒng)的實(shí)時(shí)操作系統(tǒng)(RTOS)提供了如隊(duì)列、信號(hào)量和事件組機(jī)制,實(shí)現(xiàn)任務(wù)之間的同步和通信。FreeRTOS/SAFERTOS還提供一種方法可以使這些過(guò)程更快、更輕量化,
    的頭像 發(fā)表于 12-27 14:54 ?923次閱讀

    一種實(shí)現(xiàn)亞毫秒定時(shí)分辨率的RTOS新方法

    你在使用實(shí)時(shí)操作系統(tǒng)(RTOS)時(shí)是否發(fā)現(xiàn)無(wú)法將任務(wù)調(diào)度或延遲精度降到毫秒以下?你可能不得不在RTOS之外編寫大量應(yīng)用代碼。雖然這種方式可行,但這會(huì)讓你懷疑應(yīng)用程序是否滿足其截止期限,是否可維護(hù)和可
    的頭像 發(fā)表于 12-17 13:58 ?639次閱讀
    一種<b class='flag-5'>實(shí)現(xiàn)</b>亞毫秒定時(shí)分辨率的<b class='flag-5'>RTOS</b>新方法

    全志T113雙核異構(gòu)處理器的使用基于Tina Linux5.0——RTOS簡(jiǎn)介

    、RTOS系統(tǒng)概述 1.1、概述 全志Tina Linux SDK中包含了RTOS系統(tǒng),該系統(tǒng)是基于FreeRTOS內(nèi)核的軟件開(kāi)發(fā)包,包含了系統(tǒng)開(kāi)發(fā)用到的內(nèi)核源碼、驅(qū)動(dòng)、工具、組件與應(yīng)用程序
    發(fā)表于 11-18 09:33