
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、嵌入式系統(tǒng)通用的應(yīng)用軟件結(jié)構(gòu)研究系統(tǒng)的面對(duì)應(yīng)用特性,使得大多數(shù)程序員沉陷于不同的應(yīng)用中。在進(jìn)入新的一輪開發(fā)后,往往惟獨(dú)一些容易的閱歷可供參考。為了加快應(yīng)用的開發(fā)進(jìn)度,有須要討論一種統(tǒng)一的應(yīng)用軟件結(jié)構(gòu),使開發(fā)人員能夠通過容易模式套用,簡(jiǎn)化大量系統(tǒng)討論方面的工作,以加快嵌入式開發(fā)人員對(duì)新系統(tǒng)的理解和用法。操作系統(tǒng)c/os-ii和ecos(embedded configurable os)是我在研發(fā)過程中用法過的兩個(gè)系統(tǒng)。這兩個(gè)源碼藏匿的系統(tǒng)是我們討論的基礎(chǔ)。開發(fā)平臺(tái)依次是pc機(jī)和ep7212開發(fā)板。1 c/os-ii內(nèi)核對(duì)于一個(gè)嵌入式系統(tǒng)內(nèi)核,我們最關(guān)懷的是:任務(wù)調(diào)度、內(nèi)存管理準(zhǔn)時(shí)間特性等。這里,
2、只介紹與多任務(wù)編程聯(lián)系最多的任務(wù)調(diào)度和內(nèi)存管理。1.1 任務(wù)調(diào)度任務(wù)的狀態(tài)有休眠、就緒及運(yùn)行幾種。任務(wù)調(diào)度就是遵循一定的原則,使多個(gè)任務(wù)共同用法同一處理機(jī)的過程。這一過程主要是通過對(duì)任務(wù)控制塊(tcb)的管理來實(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來保存該任務(wù)的狀態(tài);當(dāng)任務(wù)重新得到cpu用法權(quán)時(shí),系統(tǒng)就可通過任務(wù)控制埠來使任務(wù)從被中斷處繼續(xù)執(zhí)行下去。在c/os-ii中,tcb內(nèi)包含如下基本項(xiàng):*ostcbstkptr是一個(gè)指向當(dāng)前任務(wù)棧頂?shù)闹羔槪ㄟ^允許每個(gè)任務(wù)擁有自己的棧來減小系統(tǒng)的內(nèi)存開銷;*ostcbne
3、xtostcbprev用于任務(wù)控制塊的雙重鏈接;*ostcbdly用于任務(wù)延時(shí)或超時(shí)限制;*ostcbstat任務(wù)的狀態(tài)字,0表示就緒態(tài);*ostcbprio任務(wù)的優(yōu)先級(jí),值越小,優(yōu)先級(jí)越高。在c/os-ii中,還有兩個(gè)與任務(wù)調(diào)度相關(guān)的結(jié)構(gòu)就緒表和估級(jí)判定表。就緒表中有兩個(gè)變量用來存放每個(gè)任務(wù)的就緒標(biāo)記。通過分組與優(yōu)先級(jí)表中的項(xiàng)實(shí)現(xiàn)一一對(duì)應(yīng),進(jìn)而確定進(jìn)入就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)。任務(wù)調(diào)度算法原型:*關(guān)中斷;*取優(yōu)先級(jí)最高的就緒任務(wù);*若不是當(dāng)前任務(wù),則舉行任務(wù)切換;*開中斷。任務(wù)切換中兩步完成:將被掛起的任務(wù)的微處理器寄存器堆入棧,然后,將較高優(yōu)先級(jí)的任務(wù)的寄存器值從棧中復(fù)原到寄存器中。1.2
4、 內(nèi)存管理在嵌入式系統(tǒng)中,為了更高效地用法內(nèi)存,除了常規(guī)的malloc()和free()外,通常提供不同的內(nèi)存組織形式,以滿足特別應(yīng)用的需求。c/os-ii中,操作系統(tǒng)把延續(xù)的大塊內(nèi)存按分區(qū)來管理,每個(gè)分區(qū)中包含整數(shù)大小相同的內(nèi)存塊。利用這種機(jī)制,c/os-ii對(duì)malloc()和free()舉行改造,使得它們可分配和釋放固定大小的內(nèi)存塊,并且使這兩個(gè)函數(shù)的執(zhí)行時(shí)光也固定下來。為了用法戶能得到需大小的內(nèi)存塊,在一個(gè)系統(tǒng)中可以多個(gè)內(nèi)存分區(qū),應(yīng)用程序可以從不同的內(nèi)存分區(qū)中取得不同大小的內(nèi)存塊。唯一要注重的是,不同的內(nèi)存塊在釋放時(shí)必需重新放回它以前所屬的內(nèi)存分區(qū)。采納上述的內(nèi)存管理算法,解決了內(nèi)存碎
5、片的問題。為了跟蹤每一個(gè)內(nèi)存分區(qū),c/os-ii用法了內(nèi)存控制塊的數(shù)據(jù)結(jié)構(gòu),主要有:osmemaddr指向內(nèi)存分區(qū)起始地址的指針;osmemfreelist指向下一個(gè)空閑控制塊或下一個(gè)空閑內(nèi)存塊的指針;osmemblksize內(nèi)存分區(qū)中內(nèi)存塊的大小,是用戶建立該內(nèi)存分區(qū)時(shí)指定的;osmemb1ks內(nèi)存分區(qū)中總的內(nèi)存塊數(shù)量,是用戶建立該內(nèi)存分區(qū)時(shí)指定的;osmemnfree內(nèi)存分區(qū)中當(dāng)前可以得到的空閑內(nèi)存塊數(shù)量。在c/os-ii中,也可以用法常規(guī)的malloc()和free()內(nèi)存管理函數(shù)來增加其可移植性,但在用法更嚴(yán)格的場(chǎng)合,應(yīng)用法系統(tǒng)提供的特別的內(nèi)存管理。2 應(yīng)用軟件2.1 應(yīng)用軟件原型對(duì)于8051系統(tǒng)的編程,最基本的架構(gòu)是一個(gè)無限循環(huán),應(yīng)用的全部事情基本上都是在這個(gè)超循環(huán)中實(shí)現(xiàn)的。在這種系統(tǒng)中,系統(tǒng)上惟獨(dú)一個(gè)任務(wù)在運(yùn)行,應(yīng)用就是囫圇系統(tǒng),而囫圇系統(tǒng)就是一個(gè)應(yīng)用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房地產(chǎn)交換合同
- 電力公司施工安全合同書二零二五年
- 2024年輔導(dǎo)員考試相關(guān)話題及試題及答案
- 二零二五禁止放牧合同書
- 合作合伙協(xié)議合同范例
- 個(gè)人住房抵押擔(dān)保借款合同范例
- 二零二五版企業(yè)人員借調(diào)合同
- 拼音音調(diào)游戲課件
- 離婚夫妻協(xié)議范例大全
- 獨(dú)特視角下的2024花藝師考試試題及答案
- 新能源技術(shù)在國防軍工領(lǐng)域的應(yīng)用與研究
- 高中英語語法課件-狀語從句(共40張)
- 粵教粵科版科學(xué)六年級(jí)下冊(cè)全冊(cè)單元檢測(cè)卷 含答案
- 物種起源少兒彩繪版
- 人才培養(yǎng)方案企業(yè)調(diào)研
- 第6課《求助電話》課件
- 旅游業(yè)品牌塑造與形象傳播策略
- 單片機(jī)恒壓供水系統(tǒng)設(shè)計(jì)
- 《冠心病的中醫(yī)防治》課件
- 數(shù)據(jù)中心建設(shè)項(xiàng)目可行性研究報(bào)告
- 【高新技術(shù)企業(yè)所得稅稅務(wù)籌劃探析案例:以科大訊飛為例13000字(論文)】
評(píng)論
0/150
提交評(píng)論