欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

RTA OS系列介紹01-Task

832065824 ? 來(lái)源:CSDN ? 作者:CSDN ? 2022-12-21 14:13 ? 次閱讀

0. 系列概述

OSEK是由歐洲自動(dòng)化協(xié)會(huì)對(duì)汽車(chē)電氣制定的開(kāi)放式系統(tǒng),全稱為OS-EK/VDX。

RTA-OS是基于OSEK OS的符合AUTOSAR規(guī)范的OS,是一種靜態(tài)可配置、搶占式、實(shí)時(shí)操作系統(tǒng)(RTOS),用于高性能、資源受限的應(yīng)用程序。

AUTOSAR OS主要包含Task, ISRs, Events, Resources, Application, Counter, Alarms, Schedule Table等OS對(duì)象。后續(xù)將對(duì)如上提到的八個(gè)對(duì)象進(jìn)行分別介紹,本篇介紹的內(nèi)容為T(mén)ask,下面進(jìn)入正題:

1.Task概述

任務(wù)調(diào)度分為靜態(tài)調(diào)度及動(dòng)態(tài)調(diào)度,二者區(qū)別為,靜態(tài)調(diào)度是在調(diào)度前就已經(jīng)配置好,而動(dòng)態(tài)調(diào)度是根據(jù)負(fù)載率自動(dòng)去調(diào)度的。在OSEK的OS系統(tǒng)中,Task是主要部分,RTOS里是靜態(tài)調(diào)度,在單個(gè)處理器上一次只運(yùn)行一個(gè)任務(wù),不同任務(wù)之間通過(guò)調(diào)度表或者Alam進(jìn)行切換。

2. 基本概念

2.1 基礎(chǔ)任務(wù)與擴(kuò)展任務(wù)

當(dāng)前項(xiàng)目中基本使用的都是BASIC類(lèi)型。

2.1.1 基礎(chǔ)任務(wù)

狀態(tài):Running,Ready,Suspended。

基本任務(wù)開(kāi)始、執(zhí)行和終止(這通常稱為單次任務(wù)模型)。只有當(dāng)基本任務(wù)終止或被更高優(yōu)先級(jí)的任務(wù)搶占時(shí),它才會(huì)釋放處理器。這種行為使它們非常適合嵌入式控制功能?;救蝿?wù)快速有效。

2.1.2 擴(kuò)展任務(wù)

擴(kuò)展任務(wù)啟動(dòng)、執(zhí)行、等待事件(Wait event)和(可選)終止。擴(kuò)展任務(wù)在執(zhí)行期間自動(dòng)掛起自身任務(wù)的能力為任務(wù)提供了一種具有同步點(diǎn)的方法。此功能使擴(kuò)展任務(wù)比基本任務(wù)更適合于需要中間執(zhí)行同步的功能。

擴(kuò)展任務(wù)時(shí)間響應(yīng)較快,但會(huì)一直占用Ram資源,相當(dāng)于以空間換時(shí)間。

b99f5f5c-80cb-11ed-8abf-dac502259ad0.png

2.2 任務(wù)狀態(tài)

任務(wù)的狀態(tài)包括:Ready、Running 、(Waiting) 、Suspended

所有任務(wù)默認(rèn)的狀態(tài)都是Suspended狀態(tài),在被激活后才變成Ready狀態(tài),當(dāng)該任務(wù)為系統(tǒng)中的最高優(yōu)先級(jí)任務(wù)時(shí)即轉(zhuǎn)為Running狀態(tài),并開(kāi)始執(zhí)行任務(wù),同時(shí)任務(wù)可能被更高優(yōu)先級(jí)的任務(wù)搶占,重新變成Ready狀態(tài)。

任務(wù)通過(guò)終止返回到掛起(Suspended)狀態(tài)。一項(xiàng)任務(wù)可以在以后再次準(zhǔn)備好,整個(gè)過(guò)程可以重復(fù)。

但是,擴(kuò)展任務(wù)也可以進(jìn)入Waiting狀態(tài)。當(dāng)擴(kuò)展任務(wù)通過(guò)等待事件自動(dòng)掛起時(shí),它將從Running狀態(tài)移動(dòng)到Waiting狀態(tài)。

當(dāng)擴(kuò)展任務(wù)進(jìn)入Waiting狀態(tài)時(shí),操作系統(tǒng)將分派準(zhǔn)備運(yùn)行的最高優(yōu)先級(jí)任務(wù)。設(shè)置事件后,任務(wù)將從Waiting狀態(tài)移動(dòng)到Ready狀態(tài)。請(qǐng)注意,擴(kuò)展任務(wù)返回到Ready狀態(tài),而不是Running狀態(tài)。這是因?yàn)椋跀U(kuò)展任務(wù)處于Waiting狀態(tài)期間,其他一些更高優(yōu)先級(jí)的任務(wù)可能已被激活,然后被調(diào)度。

Event只是用于為系統(tǒng)事件提供指示器的操作系統(tǒng)對(duì)象。事件示例包括數(shù)據(jù)準(zhǔn)備好使用或正在讀取傳感器值。

激活Task的方式有:調(diào)用ActivateTask() API,或Alarm到期或調(diào)度表

2.3 任務(wù)優(yōu)先級(jí)

AUTOSAR-OS運(yùn)行任務(wù)可以享有同一優(yōu)先級(jí),同一優(yōu)先級(jí)的任務(wù)以先進(jìn)先出FIFO(First In First Out)的原則從Ready狀態(tài)Release。

使用時(shí)需避免使用Share Priorities,實(shí)時(shí)性差,無(wú)法進(jìn)行調(diào)度可行性分析。

2.4 任務(wù)激活

2.4.1 隊(duì)列任務(wù)激活

在大多數(shù)情況下,僅需任務(wù)處于掛起狀態(tài)時(shí)激活它。事實(shí)上,AUTOSAR OS將處于就緒、運(yùn)行或等待狀態(tài)的任務(wù)激活視為錯(cuò)誤情況。

但是,在某些情況下,可能需要實(shí)現(xiàn)一個(gè)系統(tǒng),該系統(tǒng)必須多次激活同一任務(wù),但連續(xù)激活之間最短的時(shí)間可能小于運(yùn)行該任務(wù)所需的時(shí)間。例如,用戶可能正在任務(wù)中解包CAN總線幀,并且需要處理網(wǎng)絡(luò)上幀的瞬時(shí)突發(fā),這意味著用戶需要在運(yùn)行時(shí)對(duì)任務(wù)激活進(jìn)行排隊(duì)。

AUTOSAR OS允許對(duì)基本任務(wù)的激活進(jìn)行排隊(duì),以幫助構(gòu)建此類(lèi)應(yīng)用程序。與AUTOSAR OS中的其他功能一樣,任務(wù)隊(duì)列的大小是靜態(tài)配置的。必須指定任務(wù)可以掛起的最大激活次數(shù)。如果超過(guò)激活的最大次數(shù),激活將被忽略。

2.4.2 異步任務(wù)激活

AUTOSAR OS允許別的核激活當(dāng)前核的Task,而不是從任務(wù)實(shí)際運(yùn)行的核激活任務(wù)。雖然這可能很有用,但可能會(huì)影響性能.因?yàn)橐耆螦UTOSAR,所有任務(wù)激活(包括SetEvent)必須阻止調(diào)用方,直到任務(wù)狀態(tài)更新。在內(nèi)部,操作系統(tǒng)必須使用內(nèi)部自旋鎖來(lái)協(xié)調(diào)與所屬核的狀態(tài)更改。這會(huì)對(duì)所有核的性能產(chǎn)生重大影響。

2.5 任務(wù)調(diào)度

RTA-OS提供了一種根據(jù)提前固定好的不同優(yōu)先級(jí)的任務(wù)間切換執(zhí)行的調(diào)度方式。優(yōu)先級(jí)排序的原則一般為:執(zhí)行時(shí)間越短,執(zhí)行頻率越快的優(yōu)先級(jí)越高。但無(wú)論選擇如何分配優(yōu)先級(jí),任務(wù)執(zhí)行的順序都由調(diào)度策略決定。調(diào)度策略確定任務(wù)實(shí)際運(yùn)行的時(shí)間,AUTOSAR OS支持兩種調(diào)度策略:

2.5.1 搶占式調(diào)度

當(dāng)一個(gè)Task正在運(yùn)行,另一個(gè)更高優(yōu)先級(jí)的任務(wù)準(zhǔn)備運(yùn)行,此時(shí)高優(yōu)先級(jí)的任務(wù)會(huì)搶占執(zhí)行,這也被稱為任務(wù)切換,高優(yōu)先級(jí)任務(wù)執(zhí)行完畢后,原來(lái)的task繼續(xù)執(zhí)行。

b9cd3c42-80cb-11ed-8abf-dac502259ad0.png

2.5.2 非搶占式調(diào)度

與搶占式調(diào)度不同的是,如果高優(yōu)先級(jí)任務(wù)準(zhǔn)備就緒,那么它將保持準(zhǔn)備運(yùn)行狀態(tài),直到運(yùn)行任務(wù)終止—它不會(huì)搶占。這意味著開(kāi)始運(yùn)行的非搶占式任務(wù)將始終運(yùn)行到完成,然后終止。

b9ecf3b6-80cb-11ed-8abf-dac502259ad0.png

2.5.3 協(xié)作式調(diào)度

此外,AUTOSAR OS提供了對(duì)第三種稱為協(xié)作調(diào)度的調(diào)度的支持,因?yàn)樗试S非搶占式任務(wù)告訴OS何時(shí)可以搶占。之所以說(shuō)AUTOSAR OS支持兩種策略,是因?yàn)橹挥袃煞N配置—第三種配置必須自己構(gòu)建。

操作系統(tǒng)運(yùn)行準(zhǔn)備運(yùn)行的最高優(yōu)先級(jí)任務(wù)。如果更高優(yōu)先級(jí)的任務(wù)準(zhǔn)備就緒,那么它將保持就緒,直到以下任一情況:

1) 正在運(yùn)行的任務(wù)終止(就像非搶占式調(diào)度一樣);

2) 或者正在運(yùn)行的任務(wù)發(fā)出Schedule()API調(diào)用,告訴操作系統(tǒng)它可以被搶占。

當(dāng)發(fā)出Schedule()調(diào)用時(shí),優(yōu)先級(jí)較高的任務(wù)會(huì)搶占正在運(yùn)行的任務(wù),當(dāng)高優(yōu)先級(jí)任務(wù)完成后,搶占任務(wù)將恢復(fù)。這種合作模式提供的系統(tǒng)雖然不如完全搶占式系統(tǒng)響應(yīng)快,但不會(huì)出現(xiàn)非搶占式調(diào)度缺乏響應(yīng)的情況。

ba199ac4-80cb-11ed-8abf-dac502259ad0.png

3. Task 配置

包括:name、Priority、Scheduling、Activation及Autostart

優(yōu)先級(jí):0是最低優(yōu)先級(jí),

調(diào)度:任務(wù)可以完全搶占或非搶占地運(yùn)行。一般來(lái)說(shuō),為了獲得最佳的應(yīng)用程序性能,應(yīng)該選擇完全搶占式調(diào)度而不是非搶占式調(diào)度。

激活:在Ready狀態(tài)下可以排隊(duì)的最大任務(wù)激活數(shù)。對(duì)于BCC1、ECC1和ECC2任務(wù),激活次數(shù)始終為一次。這意味著這些類(lèi)型的任務(wù)只有在處于掛起狀態(tài)時(shí)才能激活。在未掛起的情況下,嘗試激活此類(lèi)任務(wù)將導(dǎo)致錯(cuò)誤。大于1的值表示操作系統(tǒng)將對(duì)激活進(jìn)行排隊(duì),任務(wù)結(jié)束時(shí)再次激活。

4. 堆棧管理

RTA-OS使用單棧模型,即所有的Task、ISRS在同一個(gè)堆棧區(qū)域上運(yùn)行。

當(dāng)任務(wù)運(yùn)行時(shí),其堆棧使用量會(huì)像正常情況一樣增減。當(dāng)任務(wù)被搶占時(shí),高優(yōu)先級(jí)任務(wù)的堆棧使用將在同一堆棧上繼續(xù)(就像標(biāo)準(zhǔn)函數(shù)調(diào)用一樣)。當(dāng)任務(wù)終止時(shí),它使用的堆棧空間將被回收,然后重新用于下一個(gè)優(yōu)先級(jí)最高的任務(wù)運(yùn)行(同樣,與標(biāo)準(zhǔn)函數(shù)調(diào)用一樣)。下圖顯示了單堆棧在聲明、搶占和終止任務(wù)時(shí)的行為。

ba3f6b78-80cb-11ed-8abf-dac502259ad0.png

在單堆棧模型中,堆棧大小與系統(tǒng)中優(yōu)先級(jí)的數(shù)量成比例,而不是與任務(wù)/ISR的數(shù)量成比例。這意味著,直接或通過(guò)共享內(nèi)部資源,或通過(guò)被配置為非先發(fā)制人,共享優(yōu)先級(jí)的任務(wù)永遠(yuǎn)不會(huì)同時(shí)出現(xiàn)在堆棧上。在硬件上共享優(yōu)先級(jí)的ISR也是如此。這意味著用戶可以通過(guò)簡(jiǎn)單的配置更改來(lái)交換系統(tǒng)響應(yīng)性,即任務(wù)或ISR完成所需的時(shí)間,以換取堆??臻g。

上圖顯示了同一任務(wù)集的執(zhí)行情況,具有與上上圖相同的到達(dá)模式,但這次任務(wù)是非搶占式調(diào)度的??梢钥吹?,高優(yōu)先級(jí)任務(wù)的響應(yīng)時(shí)間比搶占式調(diào)度時(shí)長(zhǎng)得多,但總體堆棧消耗要低得多。

ba76d004-80cb-11ed-8abf-dac502259ad0.png

單堆棧模型還顯著簡(jiǎn)化了鏈接時(shí)的堆??臻g分配,因?yàn)橛脩糁恍铻檎麄€(gè)系統(tǒng)堆棧分配單個(gè)內(nèi)存部分,就像根本不使用操作系統(tǒng)一樣。

4.1 擴(kuò)展任務(wù)的堆棧管理

RTA-OS獨(dú)特地?cái)U(kuò)展了單堆棧模型,在不影響基本任務(wù)性能的情況下為擴(kuò)展任務(wù)提供支持。在RTA-OS中,擴(kuò)展任務(wù)的生命周期如下:

Suspended→Ready:任務(wù)被添加到Ready 序列

Ready→Running:任務(wù)已調(diào)度,但與內(nèi)容位于堆棧頂部的基本任務(wù)不同,內(nèi)容位于堆??臻g中,所有低優(yōu)先級(jí)任務(wù)的預(yù)先計(jì)算的最壞情況搶占深度處。

Running→Ready:擴(kuò)展任務(wù)被搶占。如果搶占任務(wù)是一個(gè)基本任務(wù),那么它會(huì)像往常一樣在堆棧頂部調(diào)度;如果搶占任務(wù)是一個(gè)擴(kuò)展任務(wù),那么它將按照預(yù)先計(jì)算的所有低優(yōu)先級(jí)任務(wù)的最壞情況搶占深度進(jìn)行調(diào)度。

Running→Waiting:任務(wù)的等待事件堆棧內(nèi)容(包括操作系統(tǒng)上下文、本地?cái)?shù)據(jù)、函數(shù)調(diào)用的堆棧幀等)保存到內(nèi)部操作系統(tǒng)緩沖區(qū)中。

Waiting→Ready:任務(wù)添加到Ready 隊(duì)列。

Running→Suspended:任務(wù)的“等待事件堆棧”內(nèi)容將從內(nèi)部操作系統(tǒng)緩沖區(qū)復(fù)制回堆棧中所有低優(yōu)先級(jí)任務(wù)預(yù)先計(jì)算的最壞情況搶占深度。

bab17060-80cb-11ed-8abf-dac502259ad0.png

擴(kuò)展任務(wù)管理要求RTA-OS知道任務(wù)和ISR使用了多少堆棧。以下各節(jié)描述了各種配置參數(shù)。

4.2 處理堆棧溢出

如果用戶提供給RTA-OS的堆棧分配太小(運(yùn)行時(shí)錯(cuò)誤的潛在來(lái)源),有三種錯(cuò)誤情況可能發(fā)生:

1.當(dāng)RTA-OS嘗試調(diào)度擴(kuò)展任務(wù)時(shí),堆棧指針的當(dāng)前值高于計(jì)算的最壞情況調(diào)度點(diǎn),因此擴(kuò)展任務(wù)無(wú)法啟動(dòng)。這意味著堆棧上的一個(gè)(或多個(gè))低優(yōu)先級(jí)任務(wù)占用了太多空間。

2.擴(kuò)展任務(wù)無(wú)法從等待狀態(tài)恢復(fù),因?yàn)槎褩V羔樃哂谒鼞?yīng)該的值。當(dāng)為擴(kuò)展任務(wù)正在等待的事件調(diào)用SetEvent()并且擴(kuò)展任務(wù)現(xiàn)在是系統(tǒng)中優(yōu)先級(jí)最高的任務(wù)時(shí),可能會(huì)發(fā)生這種情況。

3.擴(kuò)展任務(wù)無(wú)法進(jìn)入等待狀態(tài),因?yàn)槿蝿?wù)正在使用的堆棧的當(dāng)前數(shù)量大于配置的“WaitEvent()堆?!钡拇笮?。

當(dāng)RTA-OS檢測(cè)到擴(kuò)展任務(wù)堆棧管理出現(xiàn)問(wèn)題時(shí),它將調(diào)用ShutdownOS(),錯(cuò)誤代碼為E_OS_STACKFAULT。如果要調(diào)試該問(wèn)題,則可以啟用堆棧故障Hook。配置后,RTA-OS將在堆棧故障發(fā)生時(shí)調(diào)用用戶提供的回調(diào)OS_Cbk_StackOverflowHook(),而不是ShutdownOS()?;卣{(diào)傳遞了兩個(gè)參數(shù):溢出的字節(jié)數(shù)、溢出的原因。

5. 任務(wù)的控制

5.1 任務(wù)激活

任務(wù)激活后變?yōu)镽eady狀態(tài),當(dāng)該任務(wù)的優(yōu)先級(jí)為所有Ready狀態(tài)的任務(wù)及當(dāng)前處于Running的任務(wù)最高時(shí),開(kāi)始(或搶占)變成Running狀態(tài)。

任務(wù)每次被激活后會(huì)運(yùn)行一次,當(dāng)激活的次數(shù)超過(guò)配置次數(shù)時(shí)會(huì)報(bào)E_OS_LIMIT錯(cuò)誤。

任務(wù)可以通過(guò)Tasks或二類(lèi)中斷激活。

5.1.1 直接激活

可以通過(guò)多種不同的方式激活任務(wù)。任務(wù)激活的基本機(jī)制是ActivateTask()API調(diào)用,它直接激活任務(wù)。ActivateTask(TaskID)調(diào)用將命名任務(wù)置于就緒狀態(tài)。ChainTask(TaskID)終止當(dāng)前正在運(yùn)行的任務(wù),并將激活指定任務(wù)置于就緒狀態(tài)。

#include  


TASK(Task1)  {


  /*  Task1  functionality.  */


  ActivateTask(Task2);


  TerminateTask();


}


TASK(Task2)  {


  /*  Task2  functionality.  */


  ActivateTask(Task3);


  TerminateTask();


}


TASK(Task3)  {


  /*  Task3  functionality.  */


  TerminateTask();


}

5.1.2 間接激活

通過(guò)Alarm激活或通過(guò)調(diào)度表激活。

通過(guò)Alarm激活:對(duì)于系統(tǒng)中的每個(gè)Alarm,可以指定一個(gè)任務(wù),該任務(wù)在每次Alarm過(guò)期時(shí)激活。

調(diào)度表激活:對(duì)于系統(tǒng)中的每個(gè)調(diào)度表,可以指定在表上的一個(gè)或多個(gè)到期點(diǎn)激活的任務(wù)。

5.2 任務(wù)執(zhí)行順序控制

許多情況下,需要控制任務(wù)執(zhí)行的順序,即某個(gè)任務(wù)的執(zhí)行需要基于前一個(gè)任務(wù)執(zhí)行的結(jié)果。時(shí)序的控制可以通過(guò)如下三種方式:

?直接激活鏈;

?優(yōu)先級(jí);

?不可搶占的任務(wù)。

5.2.1 通過(guò)直接激活鏈

當(dāng)使用直接激活鏈控制執(zhí)行順序時(shí),任務(wù)對(duì)必須在發(fā)出調(diào)用的任務(wù)之后執(zhí)行的任務(wù)進(jìn)行ActivateTask()調(diào)用。

bacde3a8-80cb-11ed-8abf-dac502259ad0.png

5.2.2 通過(guò)任務(wù)優(yōu)先級(jí)

將需要優(yōu)先執(zhí)行的任務(wù)設(shè)置更高的優(yōu)先級(jí),在執(zhí)行時(shí)即可按搶占式完成。

5.3 RTA-OS中的合作式調(diào)度

當(dāng)任務(wù)以非搶占方式運(yùn)行時(shí),它會(huì)阻止任何任務(wù)(包括優(yōu)先級(jí)較高的任務(wù))執(zhí)行。然而,有時(shí)對(duì)于非搶占式任務(wù)來(lái)說(shuō),提供可以進(jìn)行重新調(diào)度的明確位置是很有用的。這比簡(jiǎn)單地非搶占式運(yùn)行更有效,因?yàn)楦邇?yōu)先級(jí)任務(wù)對(duì)系統(tǒng)刺激的響應(yīng)時(shí)間更短。任務(wù)以非搶占方式運(yùn)行并為重新調(diào)度提供點(diǎn)數(shù)

的系統(tǒng)稱為合作調(diào)度系統(tǒng)。

baf7850a-80cb-11ed-8abf-dac502259ad0.png

5.4 任務(wù)終止

在AUTOSAR操作系統(tǒng)中終止的任務(wù)必須進(jìn)行API調(diào)用,以告知操作系統(tǒng)正在發(fā)生這種情況。AUTOSAR OS標(biāo)準(zhǔn)定義了兩個(gè)用于任務(wù)終止的API調(diào)用。其中之一必須用于終止任何任務(wù)。這些API調(diào)用是:

? TerminateTask()

? ChainTask(TaskID)

當(dāng)任務(wù)完成時(shí),它必須進(jìn)行其中一個(gè)API調(diào)用。這確保RTA-OS可以正確地安排準(zhǔn)備運(yùn)行的下一個(gè)任務(wù)。

TerminateTask()強(qiáng)制調(diào)用任務(wù)進(jìn)入掛起狀態(tài)。RTA-OS將在Ready狀態(tài)下運(yùn)行下一個(gè)優(yōu)先級(jí)最高的任務(wù)。

ChainTask(TaskID)終止調(diào)用任務(wù)并激活任務(wù)TaskID。因此,該API類(lèi)似于執(zhí)行TerminateTask(),然后立即執(zhí)行ActivateTask(TaskID)。鏈接任務(wù)會(huì)將命名任務(wù)置于就緒狀態(tài)。

5.5 任務(wù)的Idle機(jī)制

在任何搶占式OS中,當(dāng)沒(méi)有Task或中斷運(yùn)行時(shí)也必須要有些事情做。在AUTOSAR OS中是通過(guò)Idle 機(jī)制實(shí)現(xiàn)。在RTA-OS中當(dāng)沒(méi)有Task或中斷執(zhí)行時(shí),系統(tǒng)將處于繁忙的等待循環(huán)中。

用戶可以通過(guò)聲明一個(gè)名為Os_Cbk_idle的回調(diào)函數(shù)來(lái)提供自己的空閑機(jī)制實(shí)現(xiàn)方式,從而覆蓋默認(rèn)行為。

Os_Cbk_idle的行為較普通Task外有如下不同:

. 不能被激活

. 不能被終止

. 不能被鏈(嵌套)調(diào)用

. 不能使用內(nèi)部資源

Os_Cbk_Idle的優(yōu)先級(jí)最低,即當(dāng)沒(méi)有任何及中斷運(yùn)行時(shí)才會(huì)Ready to Run。

Os_Cbk_Idle在退出時(shí)返回一個(gè)布爾值,告訴RTA-Os是否再次調(diào)用Os_Cbk_Idle。當(dāng)返回TRUE時(shí),RTA-OS將立即再次調(diào)用Os_Cbk_Idle。當(dāng)返回FALSE時(shí),RTA-OS停止調(diào)用Os_Cbk_Idle并進(jìn)入繁忙等待循環(huán)的默認(rè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)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19432

    瀏覽量

    231261
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3295

    瀏覽量

    57939
  • OSEK
    +關(guān)注

    關(guān)注

    2

    文章

    19

    瀏覽量

    13051

原文標(biāo)題:RTA OS系列介紹01-Task

文章出處:【微信號(hào):汽車(chē)電子嵌入式,微信公眾號(hào):汽車(chē)電子嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PB01S/PB01D系列DC/DC轉(zhuǎn)換器DELTA

    PB01S/PB01D系列DC/DC轉(zhuǎn)換器DELTAPB01S/PB01D系列是DELTA中小型
    發(fā)表于 01-21 09:35

    明緯電源DETN01-N系列非穩(wěn)壓轉(zhuǎn)換器產(chǎn)品概述

    MEAN WELL明緯電源DETN01-N系列具體型號(hào):DETN01L-05N,DETN01L-12N,DETN01L-15N,DETN
    的頭像 發(fā)表于 09-12 09:21 ?558次閱讀
    明緯電源DETN<b class='flag-5'>01</b>-N<b class='flag-5'>系列</b>非穩(wěn)壓轉(zhuǎn)換器產(chǎn)品概述

    基于STM32的E01和E01C驅(qū)動(dòng)移植

    實(shí)驗(yàn)簡(jiǎn)介基于STM32F103C8T6的E01系列(nRF24L01P)和E01C系列(SI24R1)的EBYTE官網(wǎng)例程移植。EBYTE官
    的頭像 發(fā)表于 08-30 12:35 ?468次閱讀
    基于STM32的E<b class='flag-5'>01</b>和E<b class='flag-5'>01</b>C驅(qū)動(dòng)移植

    Ra-01/Ra-01S/Ra-01SC等LoRa模組可以互通嗎?

    。 除此之外,安信可LoRa系列還有SX126X系列、LLCC68系列,今天主要向大家介紹安信可的LoRa模塊如何替換,并且實(shí)現(xiàn)相互替換以及通信。涉及到模塊主要有如下幾個(gè)
    的頭像 發(fā)表于 08-13 14:11 ?566次閱讀
    Ra-<b class='flag-5'>01</b>/Ra-<b class='flag-5'>01</b>S/Ra-<b class='flag-5'>01</b>SC等LoRa模組可以互通嗎?

    HXGK-T01系列光纖涂覆機(jī)技術(shù)說(shuō)明書(shū)

    電子發(fā)燒友網(wǎng)站提供《HXGK-T01系列光纖涂覆機(jī)技術(shù)說(shuō)明書(shū).pdf》資料免費(fèi)下載
    發(fā)表于 07-27 13:24 ?0次下載

    求助,關(guān)于函數(shù)編寫(xiě)庫(kù)函數(shù)使用疑問(wèn)求解

    疑問(wèn)一(system_os_task使用疑問(wèn)): 如下調(diào)用的最終結(jié)果是否是優(yōu)先級(jí) “USER_TASK_PRIO_0”對(duì)應(yīng)的回調(diào)函數(shù)為“test_task_2”。 system_os_tas
    發(fā)表于 07-15 07:18

    esp8266運(yùn)行REMOTE_OTA_TASK出錯(cuò)的原因?

    我使用的是安信可的ESP 01-M模塊,在https://github.com/espressif/esp8266-aliyun?spm=5176.doc42648.2.9.Oe0lw3下載了由樂(lè)鑫
    發(fā)表于 07-10 06:32

    esp8266EX報(bào)\"event_task\"(stack_size = 0,task handle = 40108368) overflow the heap_size.是不是內(nèi)存不夠用?

    , stack:384 tim_task_hdl : 40107bf8, prio:2,stack:512 SDK version:2.0.0(e271380) mode : sta(60:01:94
    發(fā)表于 07-09 07:43

    AG32 下使用 uC/OS 的參考

    :AppTaskTimer,則注掉其他 task 的創(chuàng)建即可。 uC/OS 的樣例較為簡(jiǎn)單,自行嘗試即可。 三、使用自建工程: 如果用戶希望在自建工程中使用 uC/OS,該如何把它添加進(jìn)來(lái)? 比如,在
    發(fā)表于 05-29 09:45

    鋰電池保護(hù)芯片DW01-A系列電路數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《鋰電池保護(hù)芯片DW01-A系列電路數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 04-28 15:32 ?10次下載

    用STM32CUBE創(chuàng)建 一個(gè)USBH FREERTOS,USBH_Process_OS函數(shù)就是進(jìn)不去的原因?

    StartDefaultTask新創(chuàng)建了一個(gè) USBH 的線程 #if (USBH_USE_OS == 1U) #if (osCMSIS < 0x20000U) /* Create USB Host
    發(fā)表于 04-07 08:39

    2024款鴻蒙OS 最新HarmonyOS Next_HarmonyOS4.0系列教程分享

    鴻蒙的出現(xiàn),標(biāo)志著中國(guó)科技的崛起。HarmonyOS就是我們說(shuō)的華為鴻蒙系統(tǒng),截止到2023年8月4日已有超過(guò)7億臺(tái)設(shè)備搭載了鴻蒙OS系統(tǒng)。據(jù)多家媒體報(bào)道,2024年國(guó)內(nèi)有21所985大學(xué)都開(kāi)設(shè)
    發(fā)表于 02-28 10:29

    verilog task和function區(qū)別

    verilog中的task和function都是用于實(shí)現(xiàn)模塊中的可重復(fù)的功能,并且可以接收參數(shù)和返回結(jié)果。但是它們?cè)诰帉?xiě)和使用上有一些區(qū)別。下面將詳細(xì)介紹task和function的區(qū)別。 語(yǔ)法結(jié)構(gòu)
    的頭像 發(fā)表于 02-22 15:53 ?1191次閱讀

    verilog中function和task的區(qū)別

    在Verilog中,F(xiàn)unction和Task是用于模塊化設(shè)計(jì)和重用代碼的兩種重要元素。它們?cè)试S開(kāi)發(fā)人員將復(fù)雜的操作分解為更小的功能單元,并在需要時(shí)調(diào)用它們。雖然Function和Task在某些方面
    的頭像 發(fā)表于 02-22 15:40 ?2052次閱讀

    RL78系列 Flash自編程庫(kù)01型日語(yǔ)版本用戶手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《RL78系列 Flash自編程庫(kù)01型日語(yǔ)版本用戶手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 02-19 10:17 ?0次下載
    RL78<b class='flag-5'>系列</b> Flash自編程庫(kù)<b class='flag-5'>01</b>型日語(yǔ)版本用戶手冊(cè)