<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于MDK RTX的Cortex-M3多任務(wù)應用設計

基于MDK RTX的Cortex-M3多任務(wù)應用設計

作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò ) 收藏


使用RL—RTX,包含以下幾個(gè)步驟:

第1步,由于RL—RTX集成在MDK開(kāi)發(fā)套件中,在使用MDK創(chuàng )建工程后,需要在工程中添加RTX內核選項。選擇Project→Options for Target,在Operating下拉框中選擇RTX內核,使得在編譯時(shí)把RL—RTX所需的庫編譯進(jìn)去。

第2步,在嵌入式應用程序的開(kāi)發(fā)中使用RL—RTX內核,須對其進(jìn)行配置。復制\Keil\ARM\Startup目錄下RTX_Config.c文件到工程文件夾并添加到工程中。該文件中,部分配置參數說(shuō)明如表3所列。



基于Cortex—M3平臺的超溫報警器,可以設計3個(gè)任務(wù)并發(fā),分別進(jìn)行數據采集、數據處理和數據顯示。3個(gè)任務(wù)較小,系統安排的任務(wù)棧足夠使用,棧的容量以32位無(wú)符號整型定義,容量為64字。選擇硬件平臺片上定時(shí)器1。

DSl8820具有300 ms的更新速率,在采集數據過(guò)程中,通過(guò)多次采集取平均值,數據采集任務(wù)執行的時(shí)間為30 ms,數據處理任務(wù)執行時(shí)間為40 ms,數據顯示任務(wù)執行時(shí)間為20 ms。根據公式,對響應時(shí)間的要求:t(響應時(shí)間)=N(進(jìn)程數目)×q(時(shí)間片)??傮w響應時(shí)間為90 ms,進(jìn)程數目為3,因此時(shí)間片設置為30 ms合適。在任務(wù)OS_IDLE_DEMON()中添加休眠代碼,空閑時(shí)系統休眠,降低功耗。

第3步,復制\Keil\ARM\Startup下Retarget.c文件到工程文件夾中,并添加到工程中。

修改文件,使其包含如下內容:



該文件的目的是避免半主機方式軟件中斷,因為這時(shí)所有中斷都由RL—RTX統一管理。半主機是用于A(yíng)RM目標的一種機制,可將來(lái)自應用程序代碼的輸入/輸出請求傳送至運行調試器的主機。它由一組已定義的SWI操作來(lái)實(shí)現。庫函數調用相應的SWI(軟件中斷),然后調試代理程序處理SWI異常,并提供所需的與主機之間的通信。

4 應用設計

4.1 多任務(wù)應用設計

根據圖1所示的最小系統框圖,采用由表及里 (out—side-in approach)分解應用的方法設計多任務(wù)。該應用的上下文框圖如圖3所示,中間的圈表示軟件應用,矩形框表示應用的輸入和輸出設備。箭頭標有具體含義名,表示輸入和輸出通信的流程。



根據上下文框圖以及避免“資源沖突”原則,將對同一個(gè)外設的訪(fǎng)問(wèn)放在同一個(gè)設備中,無(wú)論何時(shí)切換任務(wù),都不會(huì )對任何獨立的“外設”造成影響。

將應用分解為4個(gè)任務(wù),RL—RTX的第一個(gè)任務(wù)必須是系統任務(wù)Init Task,該任務(wù)用來(lái)初始化其他3個(gè)任務(wù),任務(wù)創(chuàng )建完畢后,3個(gè)任務(wù)都處于READY狀態(tài);第2個(gè)任務(wù)t_phase_ADCTask用來(lái)讀取A/D采樣的數據;第3個(gè)任務(wù)t_phase_DEA Task用來(lái)處理采樣的數據;第4個(gè)任務(wù)t_phase_DIS Task用來(lái)將數據送到LCD液晶屏上,顯示、控制LED燈閃爍和蜂鳴器高頻報警。圖4顯示了任務(wù)觸發(fā)的流程。


關(guān)鍵詞: MDKRTXCortex-M

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>