<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è) > 嵌入式系統 > 設計應用 > ARM7嵌入式系統在車(chē)輛調度中的應用范疇

ARM7嵌入式系統在車(chē)輛調度中的應用范疇

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

  二、操作系統的內核調度機理:

本文引用地址:http://dyxdggzs.com/article/272601.htm

  由于本系統對時(shí)性要求不是很強,采用了這種簡(jiǎn)單的源碼開(kāi)發(fā)的操作系統。由于是以任務(wù)為基礎進(jìn)行調度的。所以系統中所要處理的中間結果或響應外部的輸入和輸出,都應該在任務(wù)中完成。任務(wù)的調度是基于優(yōu)先級的(UC/OS不支持時(shí)間片輪轉的方法)。在多任務(wù)調度開(kāi)始后,時(shí)鐘節拍開(kāi)始工作,時(shí)鐘節拍產(chǎn)生周期性的中斷,時(shí)鐘節拍提供延時(shí)或超時(shí)的依據。多任務(wù)啟動(dòng)之前應該先進(jìn)行初始化的工作,包括CPU、TCB(任務(wù)控制塊)、ECB(事件控制塊)和操作系統本身的初始化等。初始化完畢后多任務(wù)啟動(dòng),系統總是運行就緒狀態(tài)優(yōu)先級最高的任務(wù)。由于任務(wù)本身是一個(gè)無(wú)限的循環(huán),所以任務(wù)中必須包含引起任務(wù)切換的函數,如OSTimeDly()、OSSemPend()等,執行到這些函數時(shí)將引起任務(wù)的切換,即任務(wù)的調度。任務(wù)切換之前應該保護現場(chǎng)。任務(wù)之間要進(jìn)行通信,通信的方式很多,可以采用全局變量、共享存儲區等一些常用的方式,但在采用的系統中任務(wù)之間的通信更多采用信號量、消息郵箱等進(jìn)行。

  三、操作系統的移植:

  將UC/OS-II這個(gè)操作系統移植到三星公司TDMI S3C44B0X上要注意OSCtxSW()這個(gè)任務(wù)切換函數,其中任務(wù)切換的核心是利用出棧指令將各個(gè)任務(wù)的工作現場(chǎng)加以恢復。利用中斷返回指令改變PC的指針達到任務(wù)切換的目的。它實(shí)際上是從任務(wù)堆棧中恢復處理器所有的寄存器,并且執行中斷返回指令。實(shí)際的移植是用軟件來(lái)模擬中斷的發(fā)生。移植中的關(guān)鍵問(wèn)題是如何構造任務(wù)堆棧及任務(wù)切換時(shí)的出棧順序。而任務(wù)區堆棧初始化主要是模擬任務(wù)被中斷后堆棧中的內容。另值得注意的是開(kāi)關(guān)中斷的函數OS_ENTERCRITICAL()和OS_EXIT_CRITICAL()這個(gè)函數。這兩個(gè)函數實(shí)現了對臨界區內容的保護。

  四、基于狀態(tài)機的程序設計:

  整個(gè)系統的軟件設計采用任務(wù)加狀態(tài)機的設計方法,由于系統中采用了UC/OS-II的操作系統,所以系統中所有事件處理都采用任務(wù)調度的方式,任務(wù)在操作系統得調度下運行。而對于每個(gè)任務(wù)采用基于狀態(tài)機的設計方法,引起系統中某個(gè)狀態(tài)發(fā)生轉移的事件可能是信號量、也可能是其它的事件。下面對狀態(tài)機的有關(guān)內容加以介紹。

  狀態(tài)機可以看成是一個(gè)狀態(tài)和轉換的圖,描述了應用程序對接收到事件的響應。

  狀態(tài)機的執行:狀態(tài)機在某個(gè)時(shí)刻處理某個(gè)事件而在處理另外的事件之前必須完成對這個(gè)事件的處理并得到結果。



關(guān)鍵詞: ARM7 UC/OS-II

評論


相關(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>