- 相關推薦
嵌入式系統(tǒng)通用的應用軟件結構研究
摘要:嵌入式實時多任務操作系統(tǒng)在軟件編程上有一定的相似性。這種相似的特性,使得我們可以將個別系統(tǒng)的編程經驗推廣到更多的系統(tǒng)上。本文就μC/OS-II內核的任務管理和內存管理進行基本的介紹,并介紹一個通用的應用軟件結構。然后,與之相對應,提供兩個不同操作系統(tǒng)下的應用實例。關鍵詞:嵌入式系統(tǒng) 多任務 編程
引言
嵌入式系統(tǒng)的面向應用特性,使得大多數(shù)程序員沉陷于不同的應用中。在進入新的一輪開發(fā)后,往往只有一些簡單的經驗可供參考。為了加快應用的開發(fā)進度,有必要研究一種統(tǒng)一的應用軟件結構,使開發(fā)人員能夠通過簡單模式套用,簡化大量系統(tǒng)研究方面的工作,以加快嵌入式開發(fā)人員對新系統(tǒng)的理解和使用。
操作系統(tǒng)μC/OS-II和ECOS(Embedded Configurable OS)是我在研發(fā)過程中使用過的兩個系統(tǒng)。這兩個源碼公開的系統(tǒng)是我們研究的基礎。開發(fā)平臺依次是PC機和EP7212開發(fā)板。
1 μC/OS-II內核
對于一個嵌入式系統(tǒng)內核,我們最關心的是:任務調度、內存管理及時間特性等。這里,只介紹與多任務編程聯(lián)系最多的任務調度和內存管理。
1.1 任務調度
任務的狀態(tài)有休眠、就緒及運行幾種。任務調度就是遵循一定的原則,使多個任務共同使用同一處理機的過程。這一過程主要是通過對任務控制塊(TCB)的管理來實現(xiàn)的。
當一個任務建立時,μC/OS-II系統(tǒng)為其所對應的OS_TCB賦值;當任務的CPU使用權被剝奪時,系統(tǒng)用OS_TCB來保存該任務的狀態(tài);當任務重新得到CPU使用權時,系統(tǒng)就可通過任務控制埠來使任務從被中斷處繼續(xù)執(zhí)行下去。
在μC/OS-II中,TCB內包含如下基本項:
*OSTCBStkPtr是一個指向當前任務棧頂?shù)闹羔槪ㄟ^允許每個任務擁有自己的棧來減小系統(tǒng)的內存開銷;
*OSTCBNextOSTCBPrev用于任務控制塊的雙重鏈接;
*OSTCBDly用于任務延時或超時限制
[1] [2] [3] [4]
【嵌入式系統(tǒng)通用的應用軟件結構研究】相關文章:
艦載視軸穩(wěn)定系統(tǒng)的變結構控制研究04-28
分布嵌入式大氣數(shù)據系統(tǒng)算法的初步研究04-27
嵌入式系統(tǒng)報告10-18