- 相關(guān)推薦
基于RTX51的單片機(jī)軟件設(shè)計(jì)
摘要:隨著單片機(jī)應(yīng)用的日益廣泛,對(duì)它的軟件開發(fā)效率要求越來越高,從匯編到C語言,然后過渡到了操作系統(tǒng)。MCS51作為單片機(jī)世界的長生不衰的主力軍,應(yīng)用于其上的RTX51得到了很大的發(fā)展,它硬件要求低,使用方便、靈活、因此越來越廣泛地應(yīng)用到單片機(jī)的軟件開發(fā)之中。
關(guān)鍵詞:單片機(jī) C51 RTX51
1 概述
很多單片機(jī)的應(yīng)用中都需要同時(shí)執(zhí)行很多任務(wù),對(duì)于這樣的應(yīng)用,我們可以利用實(shí)時(shí)操作系統(tǒng)來靈活地安排系統(tǒng)資源。RTX51是美國Keil公司開發(fā)的一種小型的應(yīng)用于MCS51系列單片機(jī)的實(shí)時(shí)多任務(wù)操作系統(tǒng),它可以工作所有8051單片機(jī)以及派生家族中,簡化了復(fù)雜的軟件設(shè)計(jì),縮短了項(xiàng)目周期。我們實(shí)踐中用RTX51來開發(fā)單片機(jī)軟件。設(shè)計(jì)單片機(jī)控制的GPS接收板軟件,取得了很好的效果。
2 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)來進(jìn)行信號(hào)和消息的傳遞,可以從內(nèi)存池中申請(qǐng)和釋放內(nèi)存;同時(shí),可以強(qiáng)制一個(gè)任務(wù)停止執(zhí)行,等待一個(gè)中斷,或者是其它中斷傳來的信號(hào)量或者消息。RTX51對(duì)系統(tǒng)硬件的要求如表1所列。
2.1 RTX51任務(wù)
RTX51區(qū)分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í)間來進(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):
①運(yùn)行(RUNNIGN)——當(dāng)前正在運(yùn)行的任務(wù)處于RUNNING狀態(tài),同一時(shí)間只有1個(gè)任務(wù)可以運(yùn)行。
②就緒(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)。
③阻塞(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)。
④刪除(DELETED)——沒有開始的任務(wù)處于刪除狀態(tài)。
⑤任務(wù)切換——RTX51包含一個(gè)事件驅(qū)動(dòng)的任務(wù)切換機(jī)制,它能夠按照任務(wù)的優(yōu)先級(jí)進(jìn)行切換,也就是搶占式多任務(wù)系統(tǒng);另外還有一個(gè)可選的時(shí)間片輪轉(zhuǎn)切換任務(wù)模式,在時(shí)間片輪轉(zhuǎn)模式下,同級(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ù)切換是按照一定規(guī)則進(jìn)行的,包括:進(jìn)入到“就緒”狀態(tài)的優(yōu)先級(jí)高的任務(wù)先執(zhí)行;如果“就緒”狀態(tài)
[1] [2] [3] [4] [5]
【基于RTX51的單片機(jī)軟件設(shè)計(jì)】相關(guān)文章:
基于RSMTL-CAD框架的FMECA軟件設(shè)計(jì)04-27
基于單片機(jī)飛行距離的測試05-03
基于軟件復(fù)用技術(shù)的雷達(dá)星體標(biāo)校軟件設(shè)計(jì)04-29
基于LabWindows的實(shí)時(shí)多任務(wù)加載總控臺(tái)軟件設(shè)計(jì)04-28
基于PROTIEUS的《單片機(jī)原理》課程的教學(xué)應(yīng)用05-02
基于RCM系統(tǒng)級(jí)維修任務(wù)分析軟件設(shè)計(jì)與實(shí)現(xiàn)04-28
基于Proteus的單片機(jī)課程教學(xué)與實(shí)驗(yàn)改革初探04-29
基于PIC單片機(jī)的低功耗溫度采集系統(tǒng)04-27