推薦文檔列表

嵌入式系統(tǒng)通用的應(yīng)用軟件結(jié)構(gòu)研究

時(shí)間:2021-10-01 09:43:36 計(jì)算機(jī)論文 我要投稿

嵌入式系統(tǒng)通用的應(yīng)用軟件結(jié)構(gòu)研究

摘要:嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)在軟件編程上有一定的相似性。這種相似的特性,使得我們可以將個(gè)別系統(tǒng)的編程經(jīng)驗(yàn)推廣到更多的系統(tǒng)上。本文就μC/OS-II內(nèi)核的任務(wù)管理和內(nèi)存管理進(jìn)行基本的介紹,并介紹一個(gè)通用的應(yīng)用軟件結(jié)構(gòu)。然后,與之相對(duì)應(yīng),提供兩個(gè)不同操作系統(tǒng)下的應(yīng)用實(shí)例。

    關(guān)鍵詞:嵌入式系統(tǒng) 多任務(wù) 編程

嵌入式系統(tǒng)通用的應(yīng)用軟件結(jié)構(gòu)研究

引言

嵌入式系統(tǒng)的面向應(yīng)用特性,使得大多數(shù)程序員沉陷于不同的應(yīng)用中。在進(jìn)入新的一輪開(kāi)發(fā)后,往往只有一些簡(jiǎn)單的經(jīng)驗(yàn)可供參考。為了加快應(yīng)用的開(kāi)發(fā)進(jìn)度,有必要研究一種統(tǒng)一的應(yīng)用軟件結(jié)構(gòu),使開(kāi)發(fā)人員能夠通過(guò)簡(jiǎn)單模式套用,簡(jiǎn)化大量系統(tǒng)研究方面的工作,以加快嵌入式開(kāi)發(fā)人員對(duì)新系統(tǒng)的理解和使用。

操作系統(tǒng)μC/OS-II和ECOS(Embedded Configurable OS)是我在研發(fā)過(guò)程中使用過(guò)的兩個(gè)系統(tǒng)。這兩個(gè)源碼公開(kāi)的系統(tǒng)是我們研究的基礎(chǔ)。開(kāi)發(fā)平臺(tái)依次是PC機(jī)和EP7212開(kāi)發(fā)板。

1 μC/OS-II內(nèi)核

對(duì)于一個(gè)嵌入式系統(tǒng)內(nèi)核,我們最關(guān)心的是:任務(wù)調(diào)度、內(nèi)存管理及時(shí)間特性等。這里,只介紹與多任務(wù)編程聯(lián)系最多的任務(wù)調(diào)度和內(nèi)存管理。

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

任務(wù)的狀態(tài)有休眠、就緒及運(yùn)行幾種。任務(wù)調(diào)度就是遵循一定的原則,使多個(gè)任務(wù)共同使用同一處理機(jī)的過(guò)程。這一過(guò)程主要是通過(guò)對(duì)任務(wù)控制塊(TCB)的管理來(lái)實(shí)現(xiàn)的。

當(dāng)一個(gè)任務(wù)建立時(shí),μC/OS-II系統(tǒng)為其所對(duì)應(yīng)的OS_TCB賦值;當(dāng)任務(wù)的CPU使用權(quán)被剝奪時(shí),系統(tǒng)用OS_TCB來(lái)保存該任務(wù)的狀態(tài);當(dāng)任務(wù)重新得到CPU使用權(quán)時(shí),系統(tǒng)就可通過(guò)任務(wù)控制埠來(lái)使任務(wù)從被中斷處繼續(xù)執(zhí)行下去。

在μC/OS-II中,TCB內(nèi)包含如下基本項(xiàng):

*OSTCBStkPtr是一個(gè)指向當(dāng)前任務(wù)棧頂?shù)闹羔,通過(guò)允許每個(gè)任務(wù)擁有自己的棧來(lái)減小系統(tǒng)的內(nèi)存開(kāi)銷;

*OSTCBNextOSTCBPrev用于任務(wù)控制塊的雙重鏈接;

*OSTCBDly用于任務(wù)延時(shí)或超時(shí)限制

[1] [2] [3] [4]