ucos-II操作系統(tǒng)概述及任務(wù)管理_第1頁
ucos-II操作系統(tǒng)概述及任務(wù)管理_第2頁
ucos-II操作系統(tǒng)概述及任務(wù)管理_第3頁
ucos-II操作系統(tǒng)概述及任務(wù)管理_第4頁
ucos-II操作系統(tǒng)概述及任務(wù)管理_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、演講人:伍瑩瑩演講人:伍瑩瑩 目前目前,嵌入式系統(tǒng)在家電、嵌入式系統(tǒng)在家電、 移動電話、移動電話、 PDA等等各種領(lǐng)域的應(yīng)用日益廣泛各種領(lǐng)域的應(yīng)用日益廣泛,程序設(shè)計也越來越復(fù)雜程序設(shè)計也越來越復(fù)雜,這就需要采用一個通用的嵌入式操作系統(tǒng)來對其這就需要采用一個通用的嵌入式操作系統(tǒng)來對其進行管理和控制。移植了操作系統(tǒng)的嵌入式系統(tǒng)進行管理和控制。移植了操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)開發(fā),可大大減輕程序員的負擔可大大減輕程序員的負擔,操作系統(tǒng)提供了多操作系統(tǒng)提供了多任務(wù)的管理功能任務(wù)的管理功能,只需專注于每個任務(wù)的管理。對只需專注于每個任務(wù)的管理。對于不同的應(yīng)用于不同的應(yīng)用,可以按照相同的步驟完成系統(tǒng)設(shè)計。可

2、以按照相同的步驟完成系統(tǒng)設(shè)計。 如果更換硬件平臺如果更換硬件平臺,則只需要對操作系統(tǒng)進行少量則只需要對操作系統(tǒng)進行少量的移植工作的移植工作, 與硬件無關(guān)的應(yīng)用代碼完全無需修改。與硬件無關(guān)的應(yīng)用代碼完全無需修改。背景背景n商用型的實操作系統(tǒng)功能穩(wěn)定、可靠,有完善的技術(shù)支持和售后服務(wù),但往往價格昂貴,如Vxworks、QNX、WinCE、Palm OS等。n免費型的實時操作系統(tǒng)在價格方面具有優(yōu)勢,目前主要有Linux,C/OS是一種源碼開放的商業(yè)RTOS。常見的嵌入式操作系統(tǒng)常見的嵌入式操作系統(tǒng)實時嵌入式操作系統(tǒng)的種類繁多,大體上可分為兩種,實時嵌入式操作系統(tǒng)的種類繁多,大體上可分為兩種,商用型和

3、免費型。商用型和免費型。C/OS簡介簡介1、C/OSMicro Controller OS,微控制器操作系統(tǒng)。2、C/OS簡介n美國人Jean Labrosse 1992年完成。n應(yīng)用面覆蓋了諸多領(lǐng)域,如照相機、醫(yī)療器械、音響設(shè)備、發(fā)動機控制、高速公路電話系統(tǒng)、自動提款機等 。n1998年C/OS-II,目前的版本C/OS IIV2.61,2.72。n2000年,得到美國航空管理局(FAA)的認證,可以用于飛行器中。v公開源代碼公開源代碼v可移植性(可移植性(Portable)v可固化(可固化(ROMable) C/OS-II是為嵌入式應(yīng)用而設(shè)計的,這就意味著,只要讀者有固化手 段(C編譯、連

4、接、下載和固化), C/OS-II可以嵌入到讀者的產(chǎn)品 中成為產(chǎn)品的一部分。v可裁剪(可裁剪(Scalable)可以只使用C/OS-II中應(yīng)用程序需要的那些系統(tǒng)服務(wù)。也就是說某產(chǎn) 品可以只使用很少幾個C/OS-II調(diào)用,而另一個產(chǎn)品則使用了幾乎所 有 C/OS-II的功能,這樣可以減少產(chǎn)品中的C/OS-II所需的存儲器空 間(RAM和ROM)。這種可剪裁性是靠條件編譯實現(xiàn)的。C/OS-II的性能特點的性能特點v 占先式(占先式(Preemptive)v 多任務(wù)多任務(wù) C/OS-II可以管理64個任務(wù),然而,目前這一版本保留8個給系統(tǒng)。應(yīng)用程序最多可以有256個任務(wù)v 可確定性可確定性 全部 C

5、/OS-II的函數(shù)調(diào)用與服務(wù)的執(zhí)行時間具有可確定性。v 任務(wù)棧任務(wù)棧 每個任務(wù)有自己單獨的棧, C/OS-II允許每個任務(wù)有不同的??臻g,以便壓低應(yīng)用程序?qū)AM的需求。C/OS-II的性能特點的性能特點C/OS-II的性能特點的性能特點v 系統(tǒng)服務(wù)系統(tǒng)服務(wù) C/OS-II提供很多系統(tǒng)服務(wù),例如郵箱、消息隊列、信號量、塊大小固定的內(nèi)存的申請與釋放、時間相關(guān)函數(shù)等。v 中斷管理中斷管理 中斷可以使正在執(zhí)行的任務(wù)暫時掛起,如果優(yōu)先級更高的任務(wù)被該中斷喚醒,則高優(yōu)先級的任務(wù)在中斷嵌套全部退出后立即執(zhí)行,中斷嵌套層數(shù)可達255層。v 穩(wěn)定性與可靠性穩(wěn)定性與可靠性C/OS-II的文件結(jié)構(gòu)的文件結(jié)構(gòu)應(yīng)用程

6、序軟件uC/OS-II(與處理器無關(guān)的代碼)OS_CORE.C、OS_MBOX.COS_MEM.C、OS_SEM.C、OS_TIME.C、OS_FLAGS.C、uC/OS-II.C、uC/OS-II.HOS_Q.C、OS_TASK.CuC/OS-II設(shè)置(與應(yīng)用相關(guān)的代碼)OS_CFG.HINCLUDES.HuC/OS-II移植(與處理器相關(guān)的代碼)OS_CPU.HOS_CPU_A.ASMOS_CPU_C.CCPU時鐘軟件硬件移植移植, 就是使一個實時內(nèi)核能在某個微處理器或微控制器上運行。就是使一個實時內(nèi)核能在某個微處理器或微控制器上運行。C/OS-II移植移植要使要使 C/OS- II 能夠

7、正常運行能夠正常運行,處理器必須滿足以下幾處理器必須滿足以下幾個條件個條件n(1)處理器的 C編譯器能產(chǎn)生可重入代碼;n(2)在程序中可以打開或者關(guān)閉中斷;n(3) 處理器支持中斷, 并且能產(chǎn)生定時中斷 (通常在 l0l000Hz之間);n(4)處理器支持能夠容納一定量數(shù)據(jù)的硬件堆棧;n(5)處理器有將堆棧指針和其他CPU寄存器存儲和讀出到堆棧(或者內(nèi)存)的指令。 對對 C/OS- II 的移植實際上就是對與處理器有關(guān)的代碼進行重的移植實際上就是對與處理器有關(guān)的代碼進行重寫或修改。寫或修改。 一般移植代碼結(jié)構(gòu)由四部分組成,分別是用戶代碼部分用戶代碼部分、 核核心代碼部分心代碼部分、 設(shè)置代碼部

8、分設(shè)置代碼部分、與處理器相關(guān)的移植代碼與處理器相關(guān)的移植代碼部分。用戶代碼即應(yīng)用軟件,用來實現(xiàn)用戶的具體要求;核心代碼部分,包含OS_CORE.C、COS_FLAG.C、OS_MBOX.C、OS_MEME.C、OS_Q.C、OS_SEM.C、OS_TASK.C、 OS_TIME.C、 C/OS- II.C、 C/OS- II.H 十個文件;設(shè)置代碼部分,即 C/OS-II 配置代碼,包含 OS_CFG.H、INCLUDES.H 兩個文件,用來配置事件控制塊的數(shù)目以及是否包含消息管理相關(guān)代碼等;與處理器相關(guān)代碼即 C/OS- II 要移植的處理 器配置代碼,包含OS_CPU.H、OS_CPU_A

9、.ASM、OS_CPU_C.C三個文件,在在 C/OS- II 的移植過程中,用戶所需要關(guān)注的就是的移植過程中,用戶所需要關(guān)注的就是這部分文件這部分文件。C/OS-II移植移植C/OS-II任務(wù)管理任務(wù)管理nC/OS-可以管理多達64個任務(wù);n每個任務(wù)被賦以不同的優(yōu)先級,取值從0到OS_LOWEST_PRIO-2,數(shù)值越小,優(yōu)先級越高;n系統(tǒng)保留了優(yōu)先級為0、1、2、3、OS_LOWEST_PRIO-3、OS_LOWEST_PRI0-2,OS_LOWEST_PRI0-1以及OS_LOWEST_PRI0這8個任務(wù)以被將來使用,用戶可以有56個應(yīng)用任務(wù);n任務(wù)的優(yōu)先級同樣也是它的標識號ID。任務(wù)管

10、理的系統(tǒng)服務(wù)任務(wù)管理的系統(tǒng)服務(wù)n創(chuàng)建任務(wù)n刪除任務(wù)n修改任務(wù)的優(yōu)先級n掛起和恢復(fù)任務(wù)n獲取一個任務(wù)的有關(guān)信息任務(wù)的狀態(tài)及轉(zhuǎn)換任務(wù)的狀態(tài)及轉(zhuǎn)換v在用戶任務(wù)函數(shù)中,必須包含至少一次對操作在用戶任務(wù)函數(shù)中,必須包含至少一次對操作系統(tǒng)服務(wù)函數(shù)的調(diào)用,否則比起優(yōu)先級低的任務(wù)系統(tǒng)服務(wù)函數(shù)的調(diào)用,否則比起優(yōu)先級低的任務(wù)將無法得到運行機會,這是用戶函數(shù)和普通函數(shù)將無法得到運行機會,這是用戶函數(shù)和普通函數(shù)的明顯區(qū)別。的明顯區(qū)別。v任務(wù)函數(shù)的結(jié)構(gòu)按任務(wù)的執(zhí)行方式可以分為任務(wù)函數(shù)的結(jié)構(gòu)按任務(wù)的執(zhí)行方式可以分為3類:類:單次執(zhí)行單次執(zhí)行、周期性執(zhí)行周期性執(zhí)行和和事件觸發(fā)執(zhí)行事件觸發(fā)執(zhí)行。任務(wù)設(shè)計任務(wù)設(shè)計單次執(zhí)行任務(wù)函

11、數(shù)結(jié)構(gòu)單次執(zhí)行任務(wù)函數(shù)結(jié)構(gòu)nvoid myTask(void)進行準備工作的代碼;任務(wù)實體代碼;調(diào)用任務(wù)刪除函數(shù);/調(diào)用OSTaskDel(OS_PRIO_SELF)通過創(chuàng)建任務(wù)函數(shù)來啟動,當該任務(wù)被另一個任務(wù)或者主函數(shù)創(chuàng)建時,就進入就緒狀態(tài),等到比他優(yōu)先級高的任務(wù)都掛起時獲得運行權(quán),進入運行狀態(tài),任務(wù)完成后自我刪除。周期性執(zhí)行任務(wù)函數(shù)結(jié)構(gòu)周期性執(zhí)行任務(wù)函數(shù)結(jié)構(gòu)nvoid myTask(void)進行準備工作的代碼;while(1)任務(wù)實體代碼;調(diào)用系統(tǒng)延時函數(shù);/把CPU的控制權(quán)交給操作系統(tǒng),使/自己掛起。當延時時間到時,重/新進入就緒狀態(tài)。事件觸發(fā)執(zhí)行任務(wù)函數(shù)結(jié)構(gòu)事件觸發(fā)執(zhí)行任務(wù)函數(shù)結(jié)構(gòu)nvoid myTask(void)進行準備工作的代碼;while(1)調(diào)用獲取事件的函數(shù);/如等待信號量、等待郵箱中的消息等任務(wù)實體代碼;任務(wù)劃分原則任務(wù)劃分原則n以C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論