計(jì)算機(jī)系統(tǒng)分析應(yīng)用論文
一、概述
一般說來(lái),單片機(jī)的應(yīng)用系統(tǒng)中都需要同時(shí)執(zhí)行很多任務(wù),我們可以利用實(shí)時(shí)操作系統(tǒng)來(lái)靈活地安排系統(tǒng)資源。rtx51是美國(guó)keil公司開發(fā)的一種小型的面向mcs51系列單片機(jī)的實(shí)時(shí)多任務(wù)操作系統(tǒng),它可以工作于8051單片機(jī)以及派生家族中,簡(jiǎn)化了復(fù)雜的軟件設(shè)計(jì),縮短了項(xiàng)目周期。
二、rtx51介紹
rtx51有2個(gè)模式:rtx51完全模式和最小模式。rtx51最小模式版是rtx51完全版的一個(gè)子集,可以很容易地運(yùn)行在8051系統(tǒng)上,而不需要外部ram(dxata)。rtx51完全模式有4個(gè)任務(wù)優(yōu)先級(jí),可以和中斷函數(shù)并行處理,各個(gè)任務(wù)之間通過使用“郵箱”系統(tǒng)來(lái)進(jìn)行信號(hào)和消息的傳遞,可以動(dòng)態(tài)地申請(qǐng)和釋放內(nèi)存;同時(shí),可以強(qiáng)制一個(gè)任務(wù)停止執(zhí)行,等待一個(gè)中斷,或者是其它中斷傳來(lái)的信號(hào)量或者消息。
(一)rtx51任務(wù)
rtx51包括2類任務(wù):快速任務(wù)和標(biāo)準(zhǔn)任務(wù)?焖偃蝿(wù)有很快的響應(yīng)速度,每個(gè)快速任務(wù)使用8051一個(gè)單獨(dú)的寄存器組,并且有自己的堆棧區(qū)域。rtx51支持最大同時(shí)有3個(gè)快速任務(wù)。標(biāo)準(zhǔn)任務(wù)需要多一點(diǎn)的時(shí)間來(lái)進(jìn)行任務(wù)切換,因此使用的內(nèi)部ram相對(duì)快速任務(wù)要少,所有的標(biāo)準(zhǔn)任務(wù)共用1個(gè)寄存器組和堆棧。當(dāng)任務(wù)切換的時(shí)候,當(dāng)前任務(wù)的寄存器狀態(tài)和堆棧內(nèi)容轉(zhuǎn)移到外部存儲(chǔ)器中。rtx51支持最大16個(gè)標(biāo)準(zhǔn)任務(wù)。
(二)rtx51任務(wù)狀態(tài)
。1)運(yùn)行(runnign)當(dāng)前正在運(yùn)行的任務(wù)處于running狀態(tài),同一時(shí)間只有1個(gè)任務(wù)可以運(yùn)行。
。2)就緒(ready)等待運(yùn)行的任務(wù)處于ready狀態(tài),在當(dāng)前運(yùn)行的任務(wù)退出運(yùn)行狀態(tài)后,就緒隊(duì)列中優(yōu)先級(jí)最高的任務(wù)進(jìn)入到運(yùn)行狀態(tài)。
。3)阻塞(blocked)等待一個(gè)事件的任務(wù)處于blocked狀態(tài),如果事件發(fā)生且優(yōu)先級(jí)比正在運(yùn)行的任務(wù)高,此任務(wù)進(jìn)入運(yùn)行狀態(tài);如果優(yōu)先級(jí)比正在運(yùn)行的任務(wù)低,此任務(wù)進(jìn)入ready狀態(tài)。
。4)刪除(d)沒有開始的任務(wù)處于刪除狀態(tài)。
(三)rtx51中斷處理
rtx51完全模式提供2種方法來(lái)處理中斷:一種是c51的中斷函數(shù),另一種是rtx51的中斷。它又可以分為快速任務(wù)中斷和標(biāo)準(zhǔn)任務(wù)中斷。對(duì)于中斷函數(shù)這種方法,它同時(shí)也可以在不使用rtx51的情況下使用,當(dāng)中斷發(fā)生的時(shí)候,程序就跳到了相應(yīng)的中斷函數(shù),它和正在運(yùn)行的任務(wù)是互相獨(dú)立的,中斷的處理是在rtx51系統(tǒng)之外,和任務(wù)切換規(guī)則沒有關(guān)聯(lián)。對(duì)于任務(wù)中斷的方法,不管使用快速是標(biāo)準(zhǔn)任務(wù)來(lái)處理中斷,如果中斷發(fā)生,等待中斷的任務(wù)就從“等待”狀態(tài)進(jìn)入到就緒狀態(tài),并按照任務(wù)切換規(guī)則進(jìn)行切換。
(四)任務(wù)調(diào)度rtx51
包含一個(gè)事件驅(qū)動(dòng)的任務(wù)調(diào)度機(jī)制,它能夠按照任務(wù)的優(yōu)先級(jí)進(jìn)行切換,也就是搶占式多任務(wù)系統(tǒng);另外還有一個(gè)可選的時(shí)間片輪轉(zhuǎn)切換任務(wù)模式,在這種模式下,rtx51使用8051內(nèi)部定時(shí)器t0來(lái)產(chǎn)生定時(shí)節(jié)拍,各任務(wù)只在各自分配的定時(shí)節(jié)拍數(shù)(時(shí)間片)內(nèi)執(zhí)行。當(dāng)時(shí)間片用完后,切換至下一任務(wù)運(yùn)行,因此,各任務(wù)是并發(fā)執(zhí)行的。同級(jí)別的任務(wù)是按照時(shí)間片分別占用cpu的。rtx51任務(wù)有4個(gè)優(yōu)先級(jí):0、1、2可以分配給標(biāo)準(zhǔn)任務(wù),優(yōu)先級(jí)3是為快速任務(wù)保留的。每個(gè)任務(wù)都可以等待事件的發(fā)生,而并不增加系統(tǒng)的負(fù)擔(dān);任務(wù)可以等待消息、信號(hào)、中斷、超時(shí)事件或者它們的組合。
(五)任務(wù)控制
為了能描述和控制任務(wù)的運(yùn)行,rtx51為每個(gè)任務(wù)定義了稱作任務(wù)控制塊的數(shù)據(jù)結(jié)構(gòu),主要包括四項(xiàng)內(nèi)容:任務(wù)的代碼入口地址,位于code空間,2字節(jié)為一個(gè)單位。
任務(wù)所使用堆棧棧底位置,位于idata空間,1字節(jié)為一個(gè)單位。
任務(wù)的定時(shí)節(jié)拍計(jì)數(shù)器,在每一次定時(shí)節(jié)拍中斷后都自減一次。
任務(wù)狀態(tài)寄存器,用其各個(gè)位來(lái)表示任務(wù)所處的狀態(tài)。位于idata空間,以2字節(jié)為一單位。
(六)定時(shí)器t0中斷服務(wù)程序的任務(wù)
(1)rtx51使用定時(shí)器t0作為定時(shí)節(jié)拍發(fā)生器,是任務(wù)切換、時(shí)間片輪轉(zhuǎn)的依據(jù)。
。2)更新各個(gè)任務(wù)節(jié)拍數(shù):將各任務(wù)節(jié)拍數(shù)寄存器減1,如果某任務(wù)超時(shí),并且該任務(wù)正在等待超時(shí)事件,則將該任務(wù)置為“ready”狀態(tài),使其返回任務(wù)隊(duì)列。
。3)檢查自由堆棧空間:若自由堆?臻g范圍小于freestack(默認(rèn)為20字節(jié))時(shí),可以調(diào)用宏stack_error,進(jìn)行堆棧出錯(cuò)處理。
三、rtx51應(yīng)用中應(yīng)注意的問題
原則講rtx51可以應(yīng)用到基于mcs51系列單片機(jī)組成的任何系統(tǒng)中。rtx51的優(yōu)點(diǎn)在于軟件開發(fā)周期短、效率高;由于rtx51在運(yùn)行時(shí)需要占用cpu的部分硬件資源,如通常占用定時(shí)/計(jì)數(shù)器t0,且對(duì)堆棧深度要求較高,因此,在使用時(shí)應(yīng)注意rtx51對(duì)硬件配置的要求。
(一)rtx51對(duì)硬件的要求
rtx51分為完全模式和最小模式,對(duì)于rtx51完全模式,要求系統(tǒng)要有外部ram,同時(shí),還應(yīng)合理分配cpu的硬件資源,留出定時(shí)/計(jì)數(shù)器t0作為系統(tǒng)多任務(wù)執(zhí)行的時(shí)間片發(fā)生器;對(duì)于簡(jiǎn)單的嵌入式系統(tǒng),由于通常沒有外部ram,通常選擇rtx51最小模式。在最小模式下,定時(shí)/計(jì)數(shù)器t0用戶不能使用,而是留給系統(tǒng)作多任務(wù)切換的時(shí)間片發(fā)生器。
(二)合理分配任務(wù)的時(shí)間片數(shù)和任務(wù)優(yōu)先級(jí)
在執(zhí)行多任務(wù)時(shí),由于各個(gè)任務(wù)處理時(shí),需要的時(shí)間不同,任務(wù)對(duì)實(shí)時(shí)性要求不同,所以,應(yīng)合理配置各個(gè)任務(wù)的時(shí)間片數(shù),盡量使任務(wù)在規(guī)定的時(shí)間片內(nèi)完成,減少任務(wù)間的消息傳遞,確保系統(tǒng)資源的使用效率。在rtx51完全模式下,應(yīng)注意各個(gè)任務(wù)的優(yōu)先級(jí)配置;在rtx51最小模式下,各個(gè)任務(wù)沒有優(yōu)先級(jí)規(guī)定,各任務(wù)只能在時(shí)間片定時(shí)器的控制下并行執(zhí)行。
四、結(jié)論
在can局域網(wǎng)節(jié)點(diǎn)設(shè)計(jì)過程中,我們成功地將rtx51最小模式應(yīng)用到系統(tǒng)之中,簡(jiǎn)化了系統(tǒng)的軟件設(shè)計(jì),提高了開發(fā)效率,縮短了開發(fā)周期。
【計(jì)算機(jī)系統(tǒng)分析應(yīng)用論文】相關(guān)文章:
計(jì)算機(jī)系統(tǒng)分析員論文-ERP開發(fā)的應(yīng)用03-18
計(jì)算機(jī)系統(tǒng)分析員論文-通信業(yè)應(yīng)用03-07
計(jì)算機(jī)系統(tǒng)分析員論文-銀行業(yè)的應(yīng)用203-19
計(jì)算機(jī)應(yīng)用論文(熱門)06-25
計(jì)算機(jī)應(yīng)用基礎(chǔ)論文07-03