嵌入式應(yīng)用軟件任務(wù)劃分原則
;Tiny的系統(tǒng)庫包含到應(yīng)用程序中。 ⑥ 任務(wù)task0是應(yīng)用程序中第一個執(zhí)行的函數(shù)。在任務(wù)task 0中,必須調(diào)用os_create_task函數(shù)來運行其他任務(wù)。 ⑦ 任務(wù)task函數(shù)不必退出或返回。任務(wù)task必須使用一個while(1)結(jié)構(gòu)或其他類似的結(jié)構(gòu)。任務(wù)task函數(shù)不帶參數(shù),也沒有返回值。使用系統(tǒng)函數(shù)os_delete_task掛起(halt)一個運行的任務(wù)。 ⑧ 中斷服務(wù)程序的編寫方式,與不使用RTX51 Tiny操作系統(tǒng)下的編寫方式相同。 ⑨ 編譯和鏈接應(yīng)用程序有2種途徑,一種是使用集成開發(fā)環(huán)境μVision 2 IDE,另一種是使用命令行工具CommandLine Tools。一般采用德國Keil Software公司提供的集成開發(fā)環(huán)境 μVision 2 IDE。 利用Keil Software公司提供的集成開發(fā)環(huán)境 μVision 2 IDE,創(chuàng)建RTX51 Tiny應(yīng)用程序的開始的步驟如下: ① 運行Keil Software公司的集成開發(fā)環(huán)境 μVision 2 IDE。 ② 運行菜單命令Project→Options for Target‘Target 1’,打開Target對話框,并在對話框中選擇Target選項卡。 ③ 從Operating system下拉列表框中選擇RTX51 Tiny。 4、結(jié)論 本文給出了劃分任務(wù)的3個原則,分別是“對同一個外設(shè)的訪問放在一個任務(wù)中”、“通過任務(wù)分割提高系統(tǒng)的實時性”和“軟件工程中的‘解耦原則’用于任務(wù)的劃分”。實踐證明,這些任務(wù)劃分的原則是行之有效的。另外,從實用的角度給出了編寫基于RTX51 Tiny實時操作系統(tǒng)應(yīng)用軟件的指導方針。實際上,RTX51 Tiny實時操作系統(tǒng)對目標系統(tǒng)的硬件需求是很低的,隨著半導體技術(shù)的發(fā)展,能夠運行嵌入式實時操作系統(tǒng)的單片機芯片是很容易采購得到的。 人們越來越清楚地認識到,在嵌入式系統(tǒng)設(shè)計中引入實時操作系統(tǒng)的必要性[5>。在許多嵌入式系統(tǒng)中,不但要求系統(tǒng)能夠及時響應(yīng)隨機發(fā)生的外部事件,并對其作出快速處理,通常還需要同時執(zhí)行多個任務(wù),并對每個任務(wù)作出實時響應(yīng)。實踐證明,對于這樣的應(yīng)用,采用嵌入式實時操作系統(tǒng)作為應(yīng)用軟件的設(shè)計平臺和運行平臺是一個良好的選擇。 參考文獻 [1>晨風.嵌入式實時多任務(wù)軟件開發(fā)基礎(chǔ)[M>.北京:清華大學出版社,2004 63-64. [2>吳迪,郝軍,沙毅,等.嵌入式系統(tǒng)原理、設(shè)計與應(yīng)用[M>.北京:機械工業(yè)出版社,2005310-315. [3>張海藩.軟件工程導論[M>. 第4版.北京:清華大學出版社,2003 87-89. [4>KEIL Software Inc. RTX51 Real-time Kernel[OL>. http www. keil. com rtx51,2004. [5>劉明路,王亮生,李世煜.基于RTX51的單片機軟件設(shè)計[J>.單片機與嵌入式系統(tǒng)應(yīng)用,2002,(12):35-37. |