精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

RTOS的系統(tǒng)節(jié)拍

倩倩 ? 來源:麥克泰技術(shù) ? 作者:麥克泰技術(shù) ? 2022-09-20 11:08 ? 次閱讀

RTOS的系統(tǒng)節(jié)拍

傳統(tǒng)的RTOS都是利用一個(gè)硬件定時(shí)器產(chǎn)生周期性的節(jié)拍中斷,作為系統(tǒng)的時(shí)基。在多數(shù)的應(yīng)用中,系統(tǒng)節(jié)拍的周期都是毫秒級(jí)的,RTOS的超時(shí)、延遲、定時(shí)的分辨率都是以節(jié)拍為單位。即使一個(gè)任務(wù)在幾個(gè)連續(xù)的節(jié)拍內(nèi)執(zhí)行,系統(tǒng)節(jié)拍中斷還是會(huì)周期性的發(fā)生,浪費(fèi)了CPU的執(zhí)行時(shí)間。下圖是一個(gè)示例,雖然某段時(shí)間內(nèi)只有IDLE任務(wù)在執(zhí)行,系統(tǒng)節(jié)拍中斷還是會(huì)如期發(fā)生。

ea3ca35a-3890-11ed-ba43-dac502259ad0.png

此外,任務(wù)延遲或超時(shí)等時(shí)間相關(guān)的功能都基于系統(tǒng)滴答中斷計(jì)時(shí),計(jì)時(shí)時(shí)間到后,通過系統(tǒng)節(jié)拍周期中斷觸發(fā)調(diào)度器。因此,如果任務(wù)的延遲時(shí)間小于一個(gè)系統(tǒng)節(jié)拍周期,則只能主動(dòng)等待,直到所需的時(shí)間結(jié)束。

ea76de62-3890-11ed-ba43-dac502259ad0.png ?

周期級(jí)分辨率的RTOS

SEGGER之前推出的embOS Ultra,改變了過去RTOS采用周期節(jié)拍中斷作為系統(tǒng)時(shí)基的工作方式,采用硬件定時(shí)器加計(jì)數(shù)器的方式,只在必要時(shí)產(chǎn)生中斷。這就消除了傳統(tǒng)的周期性節(jié)拍中斷,減少了不必要的CPU活動(dòng),同時(shí)能降低系統(tǒng)的功耗。embOS Ultra基于時(shí)間事件的調(diào)度都能以微秒指定。

eaa11f7e-3890-11ed-ba43-dac502259ad0.png ?

體驗(yàn)embOS Ultra微秒級(jí)調(diào)度

目前embOS Ultra支持CortexM/R/A,以及RISC-V架構(gòu)的處理器。從官網(wǎng)可以下載到基于SEGGER Embedded Studio的示例Demo,用于測(cè)試,內(nèi)核以二進(jìn)制庫(kù)提供。embOS Ultra的API完全兼容embOS,只是多了幾個(gè)任務(wù)管理的API,任務(wù)可以按照ms或us延遲。

ead43c9c-3890-11ed-ba43-dac502259ad0.png

先將Demo例程的任務(wù)做了修改,HPTask分別以1000us、2000us不等延遲,LPTask以80ms延遲。


static void HPTask(void) { while (1) {   BSP_SetLED(0);   OS_TASK_Delay_us(1000);   BSP_ClrLED(0);   OS_TASK_Delay_us(2000);   BSP_SetLED(0);   OS_TASK_Delay_us(3000);   BSP_ClrLED(0);   OS_TASK_Delay_us(4000); }}
static void LPTask(void) { while (1) {  BSP_ToggleLED(1);  OS_TASK_Delay_ms(80u); }}

下載代碼至目標(biāo)板上運(yùn)行,通過SystemView來觀測(cè)系統(tǒng)的執(zhí)行:

eb3fd6b4-3890-11ed-ba43-dac502259ad0.png

從OS事件視圖可以看到,系統(tǒng)不存在周期性的節(jié)拍中斷,只是在需要進(jìn)行任務(wù)調(diào)度時(shí)觸發(fā)一次中斷。從下面的Timeline視圖可以更直觀的看出,紅色涂抹的位置是系統(tǒng)中斷。

eb757ad0-3890-11ed-ba43-dac502259ad0.png

注意上圖中的時(shí)間(996.8us、1.9ms,2.9ms……)并不是任務(wù)的間隔時(shí)間,而是調(diào)度器執(zhí)行的間隔時(shí)間。

再將任務(wù)代碼改成:


static void HPTask(void) { while (1) {   BSP_SetLED(0);   OS_TASK_Delay_us(50);   BSP_ClrLED(0);   OS_TASK_Delay_us(100); }}
static void LPTask(void) { while (1) {  BSP_ToggleLED(1);  OS_TASK_Delay_us(200u); }}

HPTask任務(wù)分別延遲50us和100us,LPTask延遲200us,運(yùn)行后觀測(cè)Timeline:

ebc16274-3890-11ed-ba43-dac502259ad0.png

HPTask首次執(zhí)行延遲了50us之后,系統(tǒng)定時(shí)器中斷觸發(fā),調(diào)度器開始執(zhí)行,從IDEL任務(wù)切換到HPTask任務(wù)。同時(shí)可以發(fā)現(xiàn),從中斷觸發(fā)到HPTask任務(wù)體開始執(zhí)行實(shí)際上已經(jīng)過去了10us,這是因?yàn)橹袛嗵幚砗腿蝿?wù)調(diào)度的執(zhí)行需要消耗一定CPU時(shí)間,這個(gè)與處理器架構(gòu)和CPU運(yùn)行頻率有關(guān),在Cortex-M上大概在10us左右。也就是說在當(dāng)前的處理器上,延遲時(shí)間小于10us是沒有意義的,但是在主頻很高的MPU(應(yīng)用處理器)上這個(gè)時(shí)間可能要短很多。

總之,現(xiàn)在很多的MCU的性能都已經(jīng)很高了。同時(shí),一些應(yīng)用要求處理器有比較高的計(jì)算能力,還要求系統(tǒng)能有很好的實(shí)時(shí)性,甚至在MPU上使用RTOS。此種應(yīng)用場(chǎng)景下,如果RTOS支持CPU周期級(jí)別的分辨率,這實(shí)際上可以進(jìn)一步提升系統(tǒng)的實(shí)時(shí)性。而且,在針對(duì)一些外設(shè)的處理上,使用微秒級(jí)的延遲,還能提高CPU的使用效率,擴(kuò)展了RTOS的潛在應(yīng)用范圍。


審核編輯 :李倩


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

    關(guān)注

    146

    文章

    17002

    瀏覽量

    350326
  • 高分辨率
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    15307
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3241

    瀏覽量

    114482

原文標(biāo)題:embOS-Ultra:高分辨率系統(tǒng)時(shí)間

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    Zephyr是一個(gè)針對(duì)資源受限設(shè)備優(yōu)化的小型、可縮放、多體系架構(gòu)實(shí)時(shí)操作系統(tǒng)RTOS)。Zephyr由Linux基金會(huì)維護(hù)[1],是一個(gè)以構(gòu)建業(yè)界最佳的RTOS為目標(biāo)的開源合作項(xiàng)目。近年來
    的頭像 發(fā)表于 10-22 16:47 ?297次閱讀
    深入解析Zephyr <b class='flag-5'>RTOS</b>的技術(shù)細(xì)節(jié)

    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 ?691次閱讀
    <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 是實(shí)時(shí)操作
    的頭像 發(fā)表于 09-02 14:18 ?968次閱讀

    RTOS系統(tǒng)在國(guó)產(chǎn)工業(yè)級(jí)HMI芯片Model系列中的深度應(yīng)用與性能優(yōu)化

    本技術(shù)分享,我們將深入剖析RTOS系統(tǒng)的核心原理、優(yōu)勢(shì)特性及其在Model系列芯片上的實(shí)現(xiàn)與應(yīng)用。
    的頭像 發(fā)表于 08-23 10:57 ?423次閱讀
    <b class='flag-5'>RTOS</b><b class='flag-5'>系統(tǒng)</b>在國(guó)產(chǎn)工業(yè)級(jí)HMI芯片Model系列中的深度應(yīng)用與性能優(yōu)化

    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ì)
    的頭像 發(fā)表于 08-20 16:05 ?3030次閱讀

    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 ?497次閱讀

    RTOS開發(fā)最佳實(shí)踐

    基于RTOS編寫應(yīng)用程序時(shí),有一些要注意事項(xiàng)。在本節(jié)中,您將學(xué)習(xí)RTOS開發(fā)最佳實(shí)踐,例如POSIX合規(guī)性、安全性和功能安全認(rèn)證。
    的頭像 發(fā)表于 08-20 11:24 ?408次閱讀

    簡(jiǎn)單認(rèn)識(shí)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 ?2431次閱讀

    什么是實(shí)時(shí)操作系統(tǒng)(3)-在 RTOS 中可以期待什么?

    RTOS使用各種機(jī)制來管理任務(wù)、事件和內(nèi)存,以確保嵌入式系統(tǒng)滿足時(shí)間約束。在本節(jié)中,您將了解構(gòu)建嵌入式應(yīng)用程序時(shí)需要考慮的RTOS功能,例如確定性、空間和時(shí)間分離、調(diào)度、內(nèi)存管理和進(jìn)程間通信。
    的頭像 發(fā)表于 07-23 12:00 ?980次閱讀
    什么是實(shí)時(shí)操作<b class='flag-5'>系統(tǒng)</b>(3)-在 <b class='flag-5'>RTOS</b> 中可以期待什么?

    帶你認(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)確保了
    的頭像 發(fā)表于 04-16 16:30 ?1167次閱讀
    帶你認(rèn)識(shí)實(shí)時(shí)操作<b class='flag-5'>系統(tǒng)</b>(<b class='flag-5'>rtos</b>)

    基于RTOS的應(yīng)用進(jìn)程中的典型線程

    RTOS中的關(guān)鍵因素是最小的中斷延遲和最小的線程切換延遲。RTOS的價(jià)值在于它的響應(yīng)速度或可預(yù)測(cè)性,而不是它在給定時(shí)間段內(nèi)可以執(zhí)行的工作量。
    發(fā)表于 03-05 09:32 ?524次閱讀
    基于<b class='flag-5'>RTOS</b>的應(yīng)用進(jìn)程中的典型線程

    如何使用555定時(shí)器構(gòu)建一個(gè)簡(jiǎn)單的節(jié)拍

    555定時(shí)器IC是一種多功能元件,可用于各種電路,包括節(jié)拍器。節(jié)拍器是音樂家在練習(xí)過程中用來保持穩(wěn)定節(jié)奏的裝置。在本教程中,您將學(xué)習(xí)如何使用555定時(shí)器IC構(gòu)建一個(gè)簡(jiǎn)單的節(jié)拍器。
    的頭像 發(fā)表于 02-11 09:48 ?987次閱讀
    如何使用555定時(shí)器構(gòu)建一個(gè)簡(jiǎn)單的<b class='flag-5'>節(jié)拍</b>器

    求助,如何把RTOS系統(tǒng)添加到一個(gè)project中?

    使用AURIX Development Studio 創(chuàng)建一個(gè)MCU工程,如何把RTOS加入到工程中?RTOS系統(tǒng)是Infineon提供,還是第三方提供?
    發(fā)表于 02-01 07:11

    全志R128系統(tǒng)RTOS使用說明

    重置 CPU,查看輸出。 這里可以看到 M33 核心運(yùn)行頻率 192MHz,DSP 運(yùn)行頻率 400MHz,C906 運(yùn)行頻率 480MHz 系統(tǒng)調(diào)試命令help code"
    發(fā)表于 01-05 10:22

    微軟開源Azure RTOS,并更名為Eclipse ThreadX

    Azure RTOS 是一個(gè)帶有 ThreadX 實(shí)時(shí)操作系統(tǒng)RTOS)的嵌入式開發(fā)套件。ThreadX 是一個(gè)普及性很高的小型 RTOS,可為資源受限的設(shè)備提供可靠、超快的性能;目
    的頭像 發(fā)表于 12-01 16:17 ?766次閱讀
    微軟開源Azure <b class='flag-5'>RTOS</b>,并更名為Eclipse ThreadX