RM新时代网站-首页

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

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

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

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

麥克泰技術(shù) ? 來(lái)源:麥克泰技術(shù) ? 作者:麥克泰技術(shù) ? 2022-11-15 11:27 ? 次閱讀

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

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

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

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

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

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

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

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

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

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

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

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

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

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

AμC/OS配置文件的內(nèi)容涉及具體應(yīng)用需要的系統(tǒng)服務(wù),支持的任務(wù)/優(yōu)先級(jí)等信息,獲取各個(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ù)需要多少堆棧空間。還可以借助RTOS的可視化分析工具,如Tracealyzer,在運(yùn)行時(shí)監(jiān)控堆棧使用情況,優(yōu)化任務(wù)堆棧設(shè)置。

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

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

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

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

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

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

QμC/OS-II還會(huì)繼續(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的移植示例,可以訪問(wèn)

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,那移植代碼中包含對(duì)浮點(diǎn)寄存器的保護(hù)和恢復(fù)設(shè)置,這部分代碼通過(guò)配置開(kāi)關(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中斷,無(wú)需內(nèi)核參與的中斷。KA指Kernel Aware中斷,即受OS管理的中斷。中斷處理方式不同。無(wú)需內(nèi)核參與的中斷處理方式與裸機(jī)系統(tǒng)相同。受OS管理的中斷服務(wù)中,需要通知OS,示意代碼如下:

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

審核編輯:湯梓紅

聲明:本文內(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)注

    3

    文章

    1372

    瀏覽量

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

    關(guān)注

    1

    文章

    379

    瀏覽量

    28124
  • RTOS
    +關(guān)注

    關(guān)注

    22

    文章

    811

    瀏覽量

    119592

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

    ,Zephyr OS在嵌入式開(kāi)發(fā)中的知名度逐漸增加,新的微控制器和開(kāi)發(fā)板都支持Zephyr。本文將深入討論Zephyr RTOS技術(shù)細(xì)節(jié)。
    的頭像 發(fā)表于 10-22 16:47 ?497次閱讀
    深入解析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)之爭(zhē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 ?761次閱讀
    <b class='flag-5'>RTOS</b>正在縮小與Linux的差距

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

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

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

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

    RTOS的特性和類型

    實(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)用程序之間的處
    的頭像 發(fā)表于 08-20 11:29 ?569次閱讀

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

    RTOS(Real Time Operating System,實(shí)時(shí)操作系統(tǒng))是一種專門(mén)設(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 ?2685次閱讀

    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):對(duì)“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

    請(qǐng)問(wèn)STM32上有跑RTOS實(shí)時(shí)操作系統(tǒng)的嗎?

    親們最近在鼓搗實(shí)時(shí)操作系統(tǒng),有什么好的經(jīng)驗(yàn)請(qǐng)不吝賜教,嘿嘿。 我在摸索uT/OS。社區(qū)有在STM32幾款芯片上的移植。
    發(fā)表于 05-16 07:16

    keil用c++編譯含有rtos模塊時(shí)的錯(cuò)誤問(wèn)題怎么解決?

    rtos,設(shè)置使用cpp編譯,c99通過(guò)的程序編譯錯(cuò)誤一大堆,主要在usb和cmsis_os里,這里隨便粘貼其中一條錯(cuò)誤C:/Users/ME/STM32Cube/Reposito
    發(fā)表于 05-09 08:29

    帶你認(rèn)識(shí)實(shí)時(shí)操作系統(tǒng)(rtos)

    實(shí)時(shí)操作系統(tǒng)(RTOS)是為嵌入式系統(tǒng)和實(shí)時(shí)應(yīng)用提供一個(gè)穩(wěn)定、可預(yù)測(cè)和高效運(yùn)行環(huán)境的操作系統(tǒng)。實(shí)時(shí)操作系統(tǒng)確保了系統(tǒng)能夠在嚴(yán)格的時(shí)間限制內(nèi)響應(yīng)外部事件和處理任務(wù),這是許多關(guān)鍵應(yīng)用領(lǐng)域所
    的頭像 發(fā)表于 04-16 16:30 ?1247次閱讀
    帶你認(rèn)識(shí)<b class='flag-5'>實(shí)時(shí)</b>操作系統(tǒng)(<b class='flag-5'>rtos</b>)
    RM新时代网站-首页