0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

μC/OS實(shí)時(shí)RTOS技術(shù)線上講座匯總問答

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 作者:麥克泰技術(shù) ? 2022-11-15 11:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

10月底我們與Weston-embedded和Embedded office專家們成功舉辦μC/OS實(shí)時(shí)操作系統(tǒng)系列技術(shù)線上講座。

第二講是由麥克泰軟件技術(shù)總監(jiān)張愛華主講的μC/OS-II 和 μC/OS-III 內(nèi)核原理,我們課后整理匯總了一些問答,方便學(xué)員以及感興趣的朋友了解μC/OS,下面就來一起看看有沒有你想了解的!

Q是否有μC/OS移植相關(guān)的參考資料?

A將μC/OS移植到具體的處理器,需要了解處理器的寄存器現(xiàn)場,堆棧處理方式,以實(shí)現(xiàn)正確的任務(wù)現(xiàn)場保存;需基于處理器匯編指令架構(gòu)實(shí)現(xiàn)任務(wù)的上下文切換工作。

建議新手基于官方提供的開發(fā)例程,通過分析相同架構(gòu)的處理器移植代碼,完成移植、驗(yàn)證工作。

QμC/OS-III中沒有消息郵箱,那用什么服務(wù)替代?

A郵箱相當(dāng)于長度為1的消息隊(duì)列,μC/OS-III中可以使用隊(duì)列服務(wù)替代郵箱的應(yīng)用場景。

QμC/OS支持創(chuàng)建相同優(yōu)先級的任務(wù)嗎?

AμC/OS-III提供時(shí)間片輪詢算法,允許創(chuàng)建相同優(yōu)先級的任務(wù)。μC/OS-II僅支持搶占調(diào)度算法,任務(wù)必須設(shè)置獨(dú)立的優(yōu)先級別。

QμC/OS中如何實(shí)現(xiàn)低功耗?

A用戶任務(wù)阻塞時(shí),μC/OS會運(yùn)行最低優(yōu)先級的系統(tǒng)任務(wù),即空閑任務(wù)。空閑任務(wù)執(zhí)行一個(gè)無限循環(huán),每次循環(huán)調(diào)用OSTaskIdleHook()。為了節(jié)省空閑任務(wù)的功耗,可以在hook函數(shù)中配置處理器工作在低功耗模式。μC/OS-III為滿足低功耗應(yīng)用場景需求,增加了tickless模式和動(dòng)態(tài)節(jié)拍模式。

Q使用μC/OS-II切換為μC/OS-III,要注意什么?

A將應(yīng)用從μC/OS-II升級到μC/OS-III需要完成的工作。

Q內(nèi)核配置是配置哪些內(nèi)容?

AμC/OS配置文件的內(nèi)容涉及具體應(yīng)用需要的系統(tǒng)服務(wù),支持的任務(wù)/優(yōu)先級等信息,獲取各個(gè)配置項(xiàng)的具體信息。

Q支持多核嗎?

A目前μC/OS還不支持SMP架構(gòu)運(yùn)行。

Q有支持cpu任務(wù)負(fù)載統(tǒng)計(jì)嗎?有棧大小的估計(jì)方法和自動(dòng)化分析工具?

AμC/OS提供了統(tǒng)計(jì)任務(wù),跟蹤任務(wù)的CPU利用率。用戶可以借助IDE提供的內(nèi)核感知插件,可視化分析工具等獲取任務(wù)相關(guān)的信息。一些IDE提供了堆棧使用分析,可以幫助確定每個(gè)任務(wù)需要多少堆??臻g。還可以借助RTOS的可視化分析工具,如Tracealyzer,在運(yùn)行時(shí)監(jiān)控堆棧使用情況,優(yōu)化任務(wù)堆棧設(shè)置。

Q內(nèi)核怎樣訪問任務(wù)列表?

AμC/OS應(yīng)用中定義了一個(gè)數(shù)據(jù)結(jié)構(gòu),即任務(wù)控制塊TCB,保存任務(wù)的關(guān)鍵信息,如優(yōu)先級,任務(wù)堆棧等,通過內(nèi)核提供的全局變量,訪問列表結(jié)構(gòu),管理所有任務(wù)。具體內(nèi)容可以參閱內(nèi)核調(diào)度原理。

Q同等優(yōu)先級任務(wù)有分時(shí)間片執(zhí)行嗎?

AμC/OS-III中同等優(yōu)先級可以配置不同的時(shí)間片長度,在任務(wù)創(chuàng)建時(shí)設(shè)置。

QμC/OS-III有提供空間隔離和時(shí)間隔離嗎?

AμC/OS-III暫時(shí)沒有發(fā)布MPU版本,不支持空間隔離實(shí)現(xiàn)。μC/OS-II有提供空間隔離和時(shí)間監(jiān)控的版本,具體信息可以訪問https://www.embedded-office.com/products/flexible-safety-rtos。

QμC/OS-II還會繼續(xù)維護(hù)么?

AWeston Embedded Solutions公司負(fù)責(zé)μC/OS-II的更新及商業(yè)服務(wù),關(guān)于版本更新信息。

QμC/OS有相關(guān)RISC-V架構(gòu)的移植么?

AμC/OS支持RISC-V的移植示例,可以訪問

https://github.com/weston-embedded/uC-OS3/tree/develop/Ports/RISC-V/RV32/GCC

https://github.com/RISCV-on-Microsemi-FPGA/uCOS

Q浮點(diǎn)寄存器是默認(rèn)任務(wù)切換時(shí)都進(jìn)行保護(hù)和恢復(fù)嗎?

A如果處理器支持FPU,那移植代碼中包含對浮點(diǎn)寄存器的保護(hù)和恢復(fù)設(shè)置,這部分代碼通過配置開關(guān)控制,默認(rèn)情況下不使能包含。

Q空閑任務(wù)里運(yùn)行什么代碼?可以放功能進(jìn)去嗎?

A空閑任務(wù)是一個(gè)空循環(huán),μC/OS-III中的實(shí)現(xiàn)如下:

5bbfd18c-6492-11ed-8abf-dac502259ad0.png

用戶可以在OSIdleTaskHook()函數(shù)中增加用戶功能,注意,空閑任務(wù)不能調(diào)用阻塞服務(wù)函數(shù)。

QNKA KA中斷類型是什么意思?OS中斷向量表重定向了嗎?

ANKA指Non-kernel aware中斷,無需內(nèi)核參與的中斷。KA指Kernel Aware中斷,即受OS管理的中斷。中斷處理方式不同。無需內(nèi)核參與的中斷處理方式與裸機(jī)系統(tǒng)相同。受OS管理的中斷服務(wù)中,需要通知OS,示意代碼如下:

5be0038a-6492-11ed-8abf-dac502259ad0.png

審核編輯:湯梓紅

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

    關(guān)注

    3

    文章

    1415

    瀏覽量

    41245
  • 移植
    +關(guān)注

    關(guān)注

    1

    文章

    396

    瀏覽量

    28634
  • RTOS
    +關(guān)注

    關(guān)注

    24

    文章

    845

    瀏覽量

    120935

原文標(biāo)題:μC/OS實(shí)時(shí)RTOS技術(shù)線上講座匯總問答②

文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    揭秘LuatOS:實(shí)時(shí)操作系統(tǒng)RTOS核心庫的關(guān)鍵技術(shù)剖析!

    電機(jī)控制、傳感器采集等實(shí)時(shí)數(shù)據(jù)處理場景。 在LuatOS開發(fā)中, 用于實(shí)時(shí)操作系統(tǒng)(RTOS)相關(guān)功能的核心庫 ——提供了定時(shí)器管理、系統(tǒng)控制、內(nèi)存監(jiān)控、路徑配置等底層操作接口,為物聯(lián)網(wǎng)設(shè)備提供可靠的
    的頭像 發(fā)表于 05-21 16:02 ?167次閱讀
    揭秘LuatOS:<b class='flag-5'>實(shí)時(shí)</b>操作系統(tǒng)<b class='flag-5'>RTOS</b>核心庫的關(guān)鍵<b class='flag-5'>技術(shù)</b>剖析!

    如何在Eclipse ThreadX RTOS中集成SystemView

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

    Flexible Safety RTOS技術(shù)特征

    Embedded Office的Flexible Safety RTOS是專為具有嚴(yán)格功能安全要求的嵌入式系統(tǒng)量身定制的、先進(jìn)的實(shí)時(shí)操作系統(tǒng)。該RTOS專為工業(yè)自動(dòng)化、汽車、鐵路和醫(yī)療設(shè)備等行業(yè)而設(shè)
    的頭像 發(fā)表于 01-07 11:29 ?639次閱讀

    linux是實(shí)時(shí)系統(tǒng)還是分時(shí)操作系統(tǒng)

    大家平時(shí)玩單片機(jī)基本上對于μC/OS、FreeRTOS、ThreadX這些操作系統(tǒng)非常熟悉了,他們都屬于實(shí)時(shí)操作系統(tǒng)(RTOS),在工業(yè)領(lǐng)域比較廣泛;然而對于linux這樣的基于時(shí)間片
    的頭像 發(fā)表于 11-11 11:43 ?1143次閱讀

    深入解析Zephyr RTOS技術(shù)細(xì)節(jié)

    ,Zephyr OS在嵌入式開發(fā)中的知名度逐漸增加,新的微控制器和開發(fā)板都支持Zephyr。本文將深入討論Zephyr RTOS技術(shù)細(xì)節(jié)。
    的頭像 發(fā)表于 10-22 16:47 ?2034次閱讀
    深入解析Zephyr <b class='flag-5'>RTOS</b>的<b class='flag-5'>技術(shù)</b>細(xì)節(jié)

    TMS320C6455/C6454功耗匯總

    電子發(fā)燒友網(wǎng)站提供《TMS320C6455/C6454功耗匯總.pdf》資料免費(fèi)下載
    發(fā)表于 10-16 11:21 ?0次下載
    TMS320<b class='flag-5'>C</b>6455/<b class='flag-5'>C</b>6454功耗<b class='flag-5'>匯總</b>

    TMS320C6452功耗匯總

    電子發(fā)燒友網(wǎng)站提供《TMS320C6452功耗匯總.pdf》資料免費(fèi)下載
    發(fā)表于 10-15 11:44 ?0次下載
    TMS320<b class='flag-5'>C</b>6452功耗<b class='flag-5'>匯總</b>

    RTOS正在縮小與Linux的差距

    RTOS與Linux的物聯(lián)網(wǎng)設(shè)備操作系統(tǒng)之爭已經(jīng)持續(xù)了很多年。Linux以其強(qiáng)大的計(jì)算能力和豐富的軟件生態(tài),在需要復(fù)雜處理和軟件支持的物聯(lián)網(wǎng)設(shè)備上占據(jù)一席之地;RTOS憑借實(shí)時(shí)響應(yīng)和資源節(jié)約的特性
    的頭像 發(fā)表于 09-10 08:07 ?1035次閱讀
    <b class='flag-5'>RTOS</b>正在縮小與Linux的差距

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

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

    RTOS與Linux有什么區(qū)別

    RTOS(Real-Time Operating System,實(shí)時(shí)操作系統(tǒng))與Linux是兩種在不同應(yīng)用場景下發(fā)揮重要作用的操作系統(tǒng),它們在設(shè)計(jì)理念、功能特性、應(yīng)用場景以及性能表現(xiàn)等方面存在顯著差異。以下是對RTOS與Linu
    的頭像 發(fā)表于 08-20 16:05 ?6461次閱讀

    RTOS的特性和類型

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

    簡單認(rèn)識RTOS實(shí)時(shí)操作系統(tǒng)

    RTOS(Real Time Operating System,實(shí)時(shí)操作系統(tǒng))是一種專門設(shè)計(jì)用于在嚴(yán)格時(shí)間限制內(nèi)處理任務(wù)的操作系統(tǒng)。它以其高實(shí)時(shí)性、多任務(wù)處理能力和資源管理能力在工業(yè)自動(dòng)化、醫(yī)療設(shè)備、航空航天、汽車電子等眾多領(lǐng)域
    的頭像 發(fā)表于 08-20 11:20 ?5043次閱讀

    ESP8266_RTOS_SDK編譯錯(cuò)誤的原因?

    /home/esp8266/ESP8266_RTOS_SDK/include/json uart.c 依賴: xtensa-lx106-elf-gcc -M -Os -g -Wpointer-arith
    發(fā)表于 07-12 08:04

    RTOS SDK v. 1.5編譯錯(cuò)誤的原因?

    /app_0.out c:/Espressif/ESP8266_RTOS_SDK/liblibespconn.a(espconn_buf.o):(.text.ringbuf_內(nèi)存0xc):對“os
    發(fā)表于 07-10 08:19

    為什么RTOS SDK的Rom指針比非OS SDK少?

    我不使用 NON-OS SDK,因?yàn)槲腋矚g RTOS 版本。 令我驚訝的是,這些函數(shù)在 RTOS SDK 中不存在。 有人可以告訴我RTOS_SDK中的等效函數(shù)名稱嗎? 為
    發(fā)表于 07-10 07:53

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品