

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《DSP技術(shù)與應(yīng)用》課程設(shè)計(jì)報(bào)告</p><p> 選題名稱: uCOS-II多任務(wù)實(shí)驗(yàn) </p><p> 系(院): 計(jì)算機(jī)工程學(xué)院 </p><p> 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 班 級(jí):
2、 計(jì)算機(jī)1073 </p><p> 姓 名: 學(xué) 號(hào): </p><p> 指導(dǎo)教師: </p><p> 學(xué)年學(xué)期: 2009 ~ 2010 學(xué)年 第 2 學(xué)期</p><p&g
3、t; 2010年 5 月 30 日</p><p><b> 摘要:</b></p><p> 多任務(wù)是操作系統(tǒng)的一項(xiàng)基本功能。在DSP系統(tǒng)上引入操作系統(tǒng)后,我們可以非常方便的使用它的多任務(wù)功能。實(shí)時(shí)嵌入式操作系統(tǒng)uCOS-II是基于優(yōu)先級(jí)的搶占式實(shí)時(shí)多任務(wù)操作系統(tǒng),包含了實(shí)時(shí)內(nèi)核、任務(wù)管理、時(shí)間管理、任務(wù)間通信同步和內(nèi)存管理等功能。μC/O
4、S-II 共有 64 個(gè)優(yōu)先級(jí),優(yōu)先級(jí)的高低按編號(hào)從 0(最高)到 63(最低)排序。通過(guò)定義系統(tǒng)常量 OS_LOWEST_PRIO 的值來(lái)限制優(yōu)先級(jí)編號(hào)的范圍,當(dāng)最低優(yōu)先級(jí)為定為 18(共 19 個(gè)不同的優(yōu)先級(jí))時(shí),定義如下:defineOS_LOWEST_PRIO18 μC/OS-II 實(shí)時(shí)操作系統(tǒng)總是將最低優(yōu)先級(jí)OS_LOWEST_PRIO 分配給“空閑任務(wù)”,將次低優(yōu)先級(jí) OS_LOWEST_PRIO-1 分配給“統(tǒng)計(jì)任務(wù)”。&
5、lt;/p><p> 關(guān)鍵詞:µC/OS-Ⅱ操作系統(tǒng);DSP仿真器;匯編語(yǔ)言;多任務(wù)內(nèi)核;任務(wù)優(yōu)先級(jí)</p><p><b> 目錄</b></p><p><b> 1 多任務(wù)描述1</b></p><p> 2 µC/OS-Ⅱ操作系統(tǒng)1</p>&l
6、t;p> 2.1 µC/OS-Ⅱ簡(jiǎn)介1</p><p> 2.2 µC/OS-Ⅱ工作原理1</p><p><b> 3 基礎(chǔ)知識(shí)2</b></p><p> 3.1 STaskCreate()2</p><p> 3.2 任務(wù)控制塊(Task Control Bloc
7、ks,OS_TCBs)2</p><p><b> 4 軟件設(shè)計(jì)3</b></p><p> 4.1 程序設(shè)計(jì)3</p><p> 5 周期性執(zhí)行任務(wù)6</p><p><b> 6優(yōu)先級(jí)安排6</b></p><p> 6.1 任務(wù)的優(yōu)先級(jí)資源6&l
8、t;/p><p> 6.2 優(yōu)先級(jí)安排原則7</p><p><b> 總 結(jié)8</b></p><p><b> 參考文獻(xiàn)9</b></p><p><b> 1 多任務(wù)描述</b></p><p> 多任務(wù)是操作系統(tǒng)的一項(xiàng)基本功能。在
9、DSP系統(tǒng)上引入操作之后,我們可以非常方便的使用它的多任務(wù)功能,多任務(wù)系統(tǒng)中,內(nèi)核負(fù)責(zé)管理各個(gè)任務(wù),或者說(shuō)為每個(gè)任務(wù)分配CPU時(shí)間,并且負(fù)責(zé)任務(wù)之間的通訊。內(nèi)核提供的基本服務(wù)是任務(wù)切換。只所以使用實(shí)時(shí)內(nèi)核可以大大簡(jiǎn)化應(yīng)用系統(tǒng)的設(shè)計(jì),是因?yàn)閷?shí)時(shí)內(nèi)核允許將應(yīng)用分成若干個(gè)任務(wù),由實(shí)時(shí)黑河來(lái)管理它們。內(nèi)核本身也增加了應(yīng)用程序的格外負(fù)荷,代碼空間增加ROM的用量,內(nèi)核本身的數(shù)據(jù)結(jié)構(gòu)增加了RAM的用量,內(nèi)核本身對(duì)CPU的占用時(shí)間一般在2到5個(gè)百分點(diǎn)
10、之間。µC/OS-Ⅱ有一個(gè)精巧的內(nèi)核調(diào)度算法,實(shí)時(shí)內(nèi)核精小,實(shí)行效率高,算法巧妙,代碼空間很少</p><p> 2 µC/OS-Ⅱ操作系統(tǒng)</p><p> 2.1 µC/OS-Ⅱ簡(jiǎn)介</p><p> μc/os-ii是由jean j.labrosse于1992年編寫(xiě)的一個(gè)嵌入式多任務(wù)實(shí)時(shí)操作系統(tǒng)。最早這個(gè)系統(tǒng)叫做 μc/
11、os,后來(lái)經(jīng)過(guò)近10年的應(yīng)用和修改,在1999年jean j.labrosse推出了;μc/os-ii,并在2000年得到了 美國(guó)聯(lián)邦航空管理局對(duì)用于商用飛機(jī)的、符合rtca do178b標(biāo)準(zhǔn)的認(rèn)證,從而證明μc/os-ii具有足夠的穩(wěn)定 性和安全性。 μc/os-ii是一個(gè)可裁減、源代碼開(kāi)放、結(jié)構(gòu)小巧、可搶占式的實(shí)時(shí)多任務(wù)內(nèi)核,是專為微控制器系統(tǒng)和軟 件開(kāi)發(fā)而設(shè)計(jì)的,是控制器啟動(dòng)后首先執(zhí)行的背景程序,并作為整個(gè)系統(tǒng)的框
12、架貫穿系統(tǒng)運(yùn)行的始終。它具有執(zhí)行效率高、占用空間小、可移植性強(qiáng)、實(shí)時(shí)性能良好和可擴(kuò)展性強(qiáng) 等特點(diǎn)。采用μc/os-ii實(shí)時(shí)操作系統(tǒng)可以有效地對(duì)任務(wù)進(jìn)行調(diào)度;對(duì)各任務(wù)賦予不同的優(yōu)先級(jí)可以保證任務(wù) 及時(shí)響應(yīng),而且采用實(shí)時(shí)操作系統(tǒng),降低了程序的復(fù)雜度,方便程序的開(kāi)發(fā)和維護(hù)</p><p> 2.2 µC/OS-Ⅱ工作原理 </p><p> uC/OS-II是一種基于優(yōu)先級(jí)的可搶
13、先的硬實(shí)時(shí)內(nèi)核。要實(shí)現(xiàn)多任務(wù)機(jī)制,那么目標(biāo)CPU必須具備一種在運(yùn)行期更改PC的途徑,否則無(wú)法做到切換。不幸的使,直接設(shè)置PC指針,目前還沒(méi)有哪個(gè)CPU支持這樣的指令。但是一般CPU都允許通過(guò)類(lèi)JMP,CALL</p><p> 這樣的指令來(lái)間接的修改PC。我們的多任務(wù)機(jī)制的實(shí)現(xiàn)也正是基于這個(gè)出發(fā)點(diǎn)。事實(shí)上,我們使用CALL指令或者軟中斷指令來(lái)修改PC,主要是軟中斷。但在一些CPU上,</p>&l
14、t;p> 并不存在軟中斷這樣的概念,所以,我們?cè)谀切〤PU上,使用幾條PUSH指令加上一條CALL指令來(lái)模擬一次軟中斷的發(fā)生。再u(mài)C/OS-II里,每個(gè)任務(wù)都有一個(gè)任務(wù)控制塊(Task Control Block),這是一個(gè)比較復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。在任務(wù)控制快的偏移為0的地方,存儲(chǔ)著一個(gè)指針,它記錄了所屬任務(wù)的專用堆棧地址。事實(shí)上,再u(mài)C/OS-II內(nèi),每個(gè)任務(wù)都有自己的專用堆棧,彼此之間不能侵犯。這點(diǎn)要求程序員再他們的程序中保證。
15、一般的做法是把他們申明成靜態(tài)數(shù)組。而且要申明成OS_STK類(lèi)型。當(dāng)任務(wù)有了自己的堆棧,那么就可以將每一個(gè)任務(wù)堆棧再那里記錄到前面談到的任務(wù)控制快偏移為0的地方。以后每當(dāng)發(fā)生任務(wù)切換,系統(tǒng)必然會(huì)先進(jìn)入一個(gè)中斷,這一般是通過(guò)軟中斷或者時(shí)鐘中斷實(shí)現(xiàn)。然后系統(tǒng)會(huì)先把當(dāng)前任務(wù)的堆棧地址保存起來(lái),僅接著恢復(fù)要切換的任務(wù)的堆棧地址。由于哪個(gè)任務(wù)的堆棧里一定也存的是地址(還記得我們前面說(shuō)過(guò)的,每當(dāng)發(fā)生任務(wù)切換,系統(tǒng)必然會(huì)先進(jìn)入一個(gè)中斷,而一旦中斷CPU
16、就會(huì)把地址壓入堆棧),這樣,就達(dá)到了修改PC為下一個(gè)任務(wù)的地址的目的。</p><p><b> 3 基礎(chǔ)知識(shí)</b></p><p> 3.1 STaskCreate()</p><p> 想讓µC/OS-Ⅱ管理用戶的任務(wù),用戶必須要先建立任務(wù)。用戶可以通過(guò)傳遞任務(wù)地址和其他參數(shù)到以下兩個(gè)函數(shù)之一來(lái)建立任務(wù):OSTaskCr
17、eate()或OSTaskCreateExt()。OSTaskCreateExt()是OSTaskCreate的擴(kuò)展版本,提供了一些附加的功能。用兩個(gè)函數(shù)中的任何一個(gè)都可以建立任務(wù)。任務(wù)可以在多任務(wù)調(diào)度前建立,也可以在其它任務(wù)的執(zhí)行過(guò)程中被建立。在開(kāi)始多任務(wù)調(diào)度(即調(diào)用OSSstar())前,用戶必須建立至少一個(gè)任務(wù)。任務(wù)不能由中斷服務(wù)程序(ISR)來(lái)建立。 </p><p> 3.2 任務(wù)控制塊(Task
18、Control Blocks,OS_TCBs)</p><p> 一旦任務(wù)建立了,任務(wù)控制塊OS_TCBs將被賦值。任務(wù)控制塊是一個(gè)數(shù)據(jù)結(jié)構(gòu),當(dāng)任務(wù)的CPU使用權(quán)被剝奪時(shí),µC/OS-Ⅱ用它來(lái)保存該任務(wù)的狀態(tài)。當(dāng)任務(wù)重新得到CPU使用權(quán)時(shí),任務(wù)控制塊能確保任務(wù)從當(dāng)時(shí)被中斷的那一點(diǎn)斯堡不差地繼續(xù)執(zhí)行。</p><p> OS_TCBs全部駐留在RAM中。讀者將會(huì)注意到筆者在組織
19、這個(gè)數(shù)據(jù)結(jié)構(gòu)時(shí),考慮到了各</p><p> 成員的邏輯分組。任務(wù)建立的時(shí)候,OS_TCBs就被初始化了。</p><p><b> 4 軟件設(shè)計(jì)</b></p><p><b> 4.1 程序設(shè)計(jì)</b></p><p> typedef struct os_tcb {</p>
20、;<p> OS_STK *OSTCBStkPtr;</p><p> #if OS_TASK_CREATE_EXT_EN</p><p> void *OSTCBExtPtr;</p><p> OS_STK *OSTCBStkBottom;</p><p> INT32U OST
21、CBStkSize;</p><p> INT16U OSTCBOpt;</p><p> INT16U OSTCBId; </p><p><b> #endif</b></p><p> struct os_tcb *OSTCBNext;</p><p> st
22、ruct os_tcb *OSTCBprev;</p><p> #if (OS_Q_EN && (OS_MAX_QS >=2)) || OS_MBOX_EN || OS_SEM_EN</p><p> OS_EVENT *OSTCBEventptr;</p><p><b> #endif</b></
23、p><p> #if (OS_Q_EN %% (OS_MAX_QS >=2)) || OS_MBOX_EN</p><p> void *OSTCBMsg;</p><p><b> #endif</b></p><p> INT16U OSTCBDly;</p><p
24、> INT8U OSTCBStat;</p><p> INT8U OSTCBPrio;</p><p> INT8U OSTCBX;</p><p> INT8U OSTCBY;</p><p> INT8U OSTCBBitX;</p><p>
25、INT8U OSTCBBitY;</p><p> #if OS_TASK_DEL_EN</p><p> BOOLEAN OSTCBDELReq;</p><p><b> #endif</b></p><p> } OS_TCB; </p><p> OSTCBStk
26、Ptr 是指向當(dāng)前任務(wù)棧頂?shù)闹羔槨?#181;C/OS-Ⅱ允許每個(gè)任務(wù)有自己的棧,尤為重要的是,每個(gè)任務(wù)的棧的容量可以是任意的。有些商業(yè)內(nèi)核要求所有任務(wù)棧的容量都一樣,除非用戶寫(xiě)的一個(gè)復(fù)雜的接口函數(shù)來(lái)改變之。這種限制浪費(fèi)了RAM,當(dāng)各任務(wù)需要的棧空間不同時(shí),也得按任務(wù)中預(yù)期棧容量需求最多的來(lái)分配棧空間。</p><p> OSTCBStkPt是OS_TCB數(shù)據(jù)結(jié)構(gòu)中唯一一個(gè)能用匯編語(yǔ)言來(lái)處置的變量。</p
27、><p> OSTCBExtPtr指向用戶定義的任務(wù)控制塊擴(kuò)展。用戶可以擴(kuò)展任務(wù)控制塊而不必修改µC/OS-Ⅱ的源代碼。OSTCBExtPtr只在函數(shù)OstaskCreateExt()中使用,故使用時(shí)要將OS_TASK_CREAT_EN設(shè)為1,以允許建立任務(wù)函數(shù)的擴(kuò)展。</p><p> OSTCBStkBottom是指向任務(wù)底棧的指針。如果微處理器的棧指針是遞減的,即棧存儲(chǔ)器從
28、高地址想低地址方向分配,則OSTCBStkBottom指向任務(wù)使用的??臻g的最低地址。</p><p> OSTCBStkSize存有棧中可容納的指針元數(shù)目而不是用字節(jié)表示的棧容量總數(shù)。</p><p> OSTCBOpt把選擇項(xiàng)傳給OSTaskCreateRxt(),只有在用戶OS_TASK_CREATE_EXT_EN設(shè)為1時(shí),這個(gè)變量才有效。</p><p>
29、; OSTCBId用于存儲(chǔ)任務(wù)的識(shí)別碼。</p><p> OSTCBNext和OSTCBPrev用于任務(wù)控制塊OS_TCBa的雙重鏈接,該鏈表在詩(shī)中節(jié)拍函數(shù)</p><p> OSTimeIick()中使用,用于刷新各個(gè)任務(wù)的任務(wù)遲延變量,在任務(wù)刪除的時(shí)候從鏈表中被刪除。雙中鏈接的鏈表使得任一稱冠都能被快速插入或刪除。</p><p> OSTCBMsg是
30、指向傳給任務(wù)的消息的指針。</p><p> OSTCBDly當(dāng)需要把任務(wù)延遲若干時(shí)鐘節(jié)拍時(shí)要用到這個(gè)變量,或者需要把任務(wù)掛起一段時(shí)間以等待某事件的發(fā)生,這種等待是有超時(shí)限制的。</p><p> OSTCBStat是任務(wù)的狀態(tài)字。當(dāng)OSTCBStat為0,任務(wù)進(jìn)入就緒態(tài)。</p><p> OSTCBPrio是任務(wù)優(yōu)先級(jí)。高優(yōu)先級(jí)任務(wù)的OSTCBPrio值小
31、。也就是說(shuō),這個(gè)值越小,任務(wù)的優(yōu)先級(jí)越高。</p><p> 5 周期性執(zhí)行任務(wù)</p><p> 周期性執(zhí)行的任務(wù)函數(shù)也由三部分組成:第一部分“進(jìn)行準(zhǔn)備工作的代碼”和第二部分“任務(wù)實(shí)體代碼”的含義與單次執(zhí)行任務(wù)的含義相同,第三部分是“調(diào)用系統(tǒng)延時(shí)函數(shù)”,把 CPU 的控制權(quán)主動(dòng)交給操作系統(tǒng),使自己掛起,再由操作系統(tǒng)來(lái)啟動(dòng)其它已經(jīng)就緒的任務(wù)。當(dāng)延時(shí)時(shí)間到后,重新進(jìn)入就緒狀態(tài),通常能夠
32、很快獲得運(yùn)行權(quán)。通過(guò)合理設(shè)置調(diào)用 OSTimeDly( )或 OSTimeDlyHMSM( )時(shí)的參數(shù)值可以調(diào)整任務(wù)的執(zhí)行周期。當(dāng)任務(wù)執(zhí)行周期遠(yuǎn)大于系統(tǒng)時(shí)鐘節(jié)拍時(shí),任務(wù)執(zhí)行周期的相對(duì)誤差比較?。划?dāng)任務(wù)執(zhí)行周期只有幾個(gè)時(shí)鐘節(jié)拍時(shí),相鄰兩次執(zhí)行的間隔時(shí)間抖動(dòng)不能忽視,任務(wù)的執(zhí)行周期的相對(duì)誤差比較大,只適用于對(duì)周期穩(wěn)定性要求不高的任務(wù)(如鍵盤(pán)任務(wù));當(dāng)任務(wù)執(zhí)行周期只有一個(gè)時(shí)鐘節(jié)拍時(shí),可將該任務(wù)的功能放到 OSTimeTickHook( )(
33、時(shí)鐘節(jié)拍函數(shù)中的鉤子函數(shù))中去執(zhí)行;當(dāng)任務(wù)執(zhí)行周期小于一個(gè)時(shí)鐘節(jié)拍或者不是時(shí)鐘節(jié)拍的整數(shù)倍時(shí),將無(wú)法使用延時(shí)函數(shù)對(duì)其進(jìn)行周期控制,只能采用獨(dú)立于操作系統(tǒng)的定時(shí)中斷來(lái)觸發(fā)。采用獨(dú)立定時(shí)器觸發(fā)的任務(wù)具有很高的周期穩(wěn)定性。</p><p><b> 優(yōu)先級(jí)安排</b></p><p> 6.1 任務(wù)的優(yōu)先級(jí)資源</p><p> 任務(wù)的優(yōu)先級(jí)
34、資源由操作系統(tǒng)提供,μC/OS-II 共有 64 個(gè)優(yōu)先級(jí),優(yōu)先級(jí)的高低按編號(hào)從 0(最高)到 63(最低)排序。由于用戶實(shí)際使用到的優(yōu)先級(jí)總個(gè)數(shù)通常遠(yuǎn)小于64為節(jié)約系統(tǒng)資源,可以通過(guò)定義系統(tǒng)常量 OS_LOWEST_PRIO 的值來(lái)限制優(yōu)先級(jí)編號(hào)的范圍,當(dāng)最低優(yōu)先級(jí)為定為 18(共 19 個(gè)不同的優(yōu)先級(jí))時(shí),定義如下:defineOS_LOWEST_PRIO18 μC/OS-II 實(shí)時(shí)操作系統(tǒng)總是將最低優(yōu)先級(jí)OS_LOWEST_PRI
35、O 分配給“空閑任務(wù)”,將次低優(yōu)先級(jí) OS_LOWEST_PRIO-1 分配給“統(tǒng)計(jì)任務(wù)”。在此例中,最低優(yōu)先級(jí)為定為 18,則“空閑任務(wù)”的優(yōu)先級(jí)為 18,“統(tǒng)計(jì)任務(wù)”的優(yōu)先級(jí)為 17,用戶實(shí)際可使用的優(yōu)先級(jí)資源為 0 到 16,共 17 個(gè)。μC/OS-II 實(shí)時(shí)操作系統(tǒng)還保留對(duì)最高的四個(gè)優(yōu)先級(jí)(0、1、2、3)和 OS_LOWEST_PRIO-3 與 OS_LOWEST_PRIO-2 的使用權(quán),以備將來(lái)操作系統(tǒng)升級(jí)時(shí)使如果用戶的應(yīng)
36、用程序希望在將來(lái)升級(jí)后的操作系統(tǒng)下仍然可以不加修改地使用,則用戶任務(wù)可以放心使用的優(yōu)</p><p> 先級(jí)個(gè)數(shù)為 OS_LOWEST_PRIO-7。在本例中,軟件優(yōu)先級(jí)資源為 18-7=11 個(gè),即可使用的優(yōu)先級(jí)為 4、5、6、7、8、9、10、11、12、13、14。實(shí)際可使用的軟件優(yōu)先級(jí)資源數(shù)目應(yīng)該留有余地,以便將來(lái)擴(kuò)充應(yīng)用軟件的功能(增加新任務(wù))時(shí)不必對(duì)優(yōu)先級(jí)進(jìn)行大范圍的調(diào)整。</p>&
37、lt;p> 6.2 優(yōu)先級(jí)安排原則</p><p> 任務(wù)的優(yōu)先級(jí)安排原則如下:中斷關(guān)聯(lián)性:與中斷服務(wù)程序(ISR)有關(guān)聯(lián)的任務(wù)應(yīng)該安排盡可能高的優(yōu)先級(jí),以便及時(shí)處理異步事件,提高系統(tǒng)的實(shí)時(shí)性。如果優(yōu)先級(jí)安排得比較低,CPU 有可能被優(yōu)先級(jí)高一些的任務(wù)長(zhǎng)期占用,以致于在第二次中斷發(fā)生時(shí)連第一次中斷還沒(méi)</p><p> 有處理,產(chǎn)生信號(hào)丟失現(xiàn)象。</p><
38、;p> 緊迫性:因?yàn)榫o迫任務(wù)對(duì)響應(yīng)時(shí)間有嚴(yán)格要求,在所有緊迫任務(wù)中,按響應(yīng)時(shí)間要</p><p> 求排序,越緊迫的任務(wù)安排的優(yōu)先級(jí)越高。緊迫任務(wù)通常與 ISR 關(guān)聯(lián)。</p><p> 關(guān)鍵性:任務(wù)越關(guān)鍵安排的優(yōu)先級(jí)越高,以保障其執(zhí)行機(jī)會(huì)。</p><p> 頻繁性:對(duì)于周期性任務(wù),執(zhí)行越頻繁,則周期越短,允許耽誤的時(shí)間也越短,故應(yīng)該安排的優(yōu)先級(jí)也越
39、高,以保障及時(shí)得到執(zhí)行。</p><p> 快捷性:在前面各項(xiàng)條件相近時(shí),越快捷(耗時(shí)短)的任務(wù)安排的優(yōu)先級(jí)越高,以使其他就緒任務(wù)的延時(shí)縮短。</p><p> 例如一個(gè)應(yīng)用系統(tǒng)中安排有鍵盤(pán)任務(wù)、顯示任務(wù)、模擬信號(hào)采集任務(wù)、數(shù)據(jù)處理任務(wù)、串行口接收任務(wù)、串行口發(fā)送任務(wù)。在這些任務(wù)中,模擬信號(hào)采集任務(wù)、串行口接收任務(wù)和串行口發(fā)送任務(wù)均與 ISR 關(guān)聯(lián),實(shí)時(shí)性要求比較高。其中,串行口接收任
40、務(wù)是關(guān)鍵任務(wù)和緊迫任務(wù),遺漏接收內(nèi)容是不允許的;模擬信號(hào)采集任務(wù)是緊迫任務(wù),但不是關(guān)鍵任務(wù),遺漏一個(gè)數(shù)據(jù)還不至于發(fā)生重大問(wèn)題;在串行口發(fā)送任務(wù)中,CPU 是主動(dòng)方,慢一些也可以,只要將數(shù)據(jù)發(fā)出去就可以。鍵盤(pán)任務(wù)和顯示任務(wù)是人機(jī)接口任務(wù),實(shí)時(shí)性要求很低。數(shù)據(jù)處理任務(wù)根據(jù)其運(yùn)算量來(lái)決定,運(yùn)算量很大時(shí),優(yōu)先級(jí)安排最低,運(yùn)算量不大時(shí),優(yōu)先級(jí)可安排得比鍵盤(pán)任務(wù)高一些。根據(jù)以上分析,最低優(yōu)先級(jí) OS_LOWEST_PRIO 定為 18,各個(gè)任務(wù)的優(yōu)
41、先級(jí)安排如下:串行口接收任務(wù)(優(yōu)先級(jí) 2),模擬信號(hào)采集任務(wù)(優(yōu)先級(jí) 4),串行口發(fā)送任務(wù)(優(yōu)先級(jí) 6),數(shù)據(jù)處理任務(wù)(優(yōu)先級(jí) 9),顯示任務(wù)(優(yōu)先級(jí) 12),鍵盤(pán)任務(wù)(優(yōu)先級(jí) 13)。當(dāng)優(yōu)</p><p> 先級(jí)的安排比較寬松時(shí),以后增加新任務(wù)就比較方便,在不改變現(xiàn)有任務(wù)優(yōu)先級(jí)的情況下,很容易根據(jù)需要找到一個(gè)合適的空閑優(yōu)先級(jí)。</p><p><b> 總結(jié)</b
42、></p><p> 經(jīng)過(guò)一周的DSP課程設(shè)計(jì),我終于順利的完成了本學(xué)期所做的uCOS-II多任務(wù)實(shí)驗(yàn),本次的實(shí)驗(yàn)讓自己受益匪淺,雖然不是很順利很完美,但是還是讓自己感到滿意了</p><p> 課程設(shè)計(jì)是培養(yǎng)我們的綜合能力,運(yùn)用所學(xué)的知識(shí)用于實(shí)踐,去發(fā)現(xiàn),提出,分析解決實(shí)際出現(xiàn)的問(wèn)題,充分調(diào)動(dòng)自己的積極性于動(dòng)手的能力,本次實(shí)驗(yàn)所做的是uCOS-II多任務(wù)實(shí)驗(yàn),在接到這個(gè)題目的時(shí)
43、候,首先我要對(duì)這個(gè)課程設(shè)計(jì)的原理要有一個(gè)細(xì)致的了解,了解它工作的意義,然后要對(duì)它的代碼進(jìn)行分析編寫(xiě),弄懂其工作原理,對(duì)于uCOS-II多任務(wù)實(shí)驗(yàn),自己查閱了很多資料,對(duì)其有了很深的了解,在了解的同時(shí)也想到了它真正的實(shí)際作用,對(duì)我們的日常生活都有著很大的作用。初步做這個(gè)實(shí)驗(yàn)的時(shí)候,自己遇到了很多的問(wèn)題和困難,通過(guò)查閱資料,向馬岱老師,常波老師進(jìn)行請(qǐng)教和通過(guò)和同學(xué)的溝通交流,一點(diǎn)一點(diǎn)的解決問(wèn)題,最后順利的完成了課程設(shè)計(jì)。</p>
44、<p> 本次課程設(shè)計(jì)不僅讓我對(duì)課本上的知識(shí)得到了鞏固,更是讓我學(xué)到了很多課本上沒(méi)有的新知識(shí),讓自己受益匪淺,感覺(jué)自己真的學(xué)到了許多。課程設(shè)計(jì)是對(duì)我們經(jīng)驗(yàn)的積累,光學(xué)書(shū)本知識(shí)雖然對(duì)理論的理解加深,但是實(shí)際操作才是更重要的,光有理論知識(shí)而沒(méi)有實(shí)際的經(jīng)驗(yàn)只能算是紙上談兵,只有在實(shí)際操作中,我們才能夠更加熟悉各種步驟要求,才能慢慢完善自己的經(jīng)驗(yàn),充分調(diào)動(dòng)我們的動(dòng)手能力和自己的積極性,讓自己把學(xué)到的課本知識(shí)和實(shí)際運(yùn)用充分的結(jié)合起
45、來(lái),完善自己的經(jīng)驗(yàn)。</p><p> 最后,我要感謝學(xué)校提供的各項(xiàng)設(shè)備,感學(xué)同學(xué)的幫助,感謝指導(dǎo)老師對(duì)自己的悉心的指導(dǎo),因?yàn)槟銈?,我才能夠成功了完成了本次的課程設(shè)計(jì),再次感謝學(xué)校,同學(xué)和指導(dǎo)老師!</p><p><b> 參考文獻(xiàn)</b></p><p> 1 李玉柏. DSP技術(shù).成都:成都電子科技大學(xué)出版社,1997 </
46、p><p> 2 李利. DSP原理及應(yīng)用.北京:中國(guó)水利水電出版社,2002 </p><p> 3 張芳娟.DSP基礎(chǔ)與實(shí)驗(yàn).北京:北京航空航天大學(xué)出版社,2008 </p><p> 4 崔濤,呂陰芝.TMS320C54DSP原理及應(yīng)用.北京:科學(xué)出版社,2009</p><p> 5 汪安民.TMS320C54XDSP實(shí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字信號(hào)處理(dsp)課程設(shè)計(jì)報(bào)告
- dsp數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告8
- dsp數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告-- 步進(jìn)電機(jī)
- dsp數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告-- ad接口設(shè)計(jì)
- dsp數(shù)字信號(hào)處理課程設(shè)計(jì)-- µcos-ii在dsp上的任務(wù)通訊
- 數(shù)字信號(hào)課程設(shè)計(jì)--數(shù)字信號(hào)處理
- 數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告
- 數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告
- 數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告
- dsp數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告--- µcos-ⅱ移植實(shí)驗(yàn)
- 基于ucos-ii的時(shí)鐘設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- dsp數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告-- 語(yǔ)音壓縮與回放
- 基于dsp_builder數(shù)字信號(hào)處理課程設(shè)計(jì)
- 數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告 (2)
- 數(shù)字信號(hào)處理課程設(shè)計(jì)報(bào)告 (3)
- 數(shù)字信號(hào)處理課程設(shè)計(jì)項(xiàng)目報(bào)告
- 數(shù)字信號(hào)處理課程設(shè)計(jì)
- 數(shù)字信號(hào)處理課程設(shè)計(jì)
- 數(shù)字信號(hào)處理課程設(shè)計(jì)
- 數(shù)字信號(hào)處理課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論