- 相關推薦
基于RTX51的單片機軟件設計
摘要:隨著單片機應用的日益廣泛,對它的軟件開發(fā)效率要求越來越高,從匯編到C語言,然后過渡到了操作系統(tǒng)。MCS51作為單片機世界的長生不衰的主力軍,應用于其上的RTX51得到了很大的發(fā)展,它硬件要求低,使用方便、靈活、因此越來越廣泛地應用到單片機的軟件開發(fā)之中。
關鍵詞:單片機 C51 RTX51
1 概述
很多單片機的應用中都需要同時執(zhí)行很多任務,對于這樣的應用,我們可以利用實時操作系統(tǒng)來靈活地安排系統(tǒng)資源。RTX51是美國Keil公司開發(fā)的一種小型的應用于MCS51系列單片機的實時多任務操作系統(tǒng),它可以工作所有8051單片機以及派生家族中,簡化了復雜的軟件設計,縮短了項目周期。我們實踐中用RTX51來開發(fā)單片機軟件。設計單片機控制的GPS接收板軟件,取得了很好的效果。
2 RTX51介紹
RTX51有2個模式:RTX51完全模式和最小模式。RTX51最小模式版是RTX51完全版的一個子集,可以很容易地運行在8051系統(tǒng)上,而不需要外部RAM(DXATA)。RTX51完全模式有4個任務優(yōu)先級,可以和中斷函數(shù)并行處理,各個任務之間通過使用“郵箱”系統(tǒng)來進行信號和消息的傳遞,可以從內(nèi)存池中申請和釋放內(nèi)存;同時,可以強制一個任務停止執(zhí)行,等待一個中斷,或者是其它中斷傳來的信號量或者消息。RTX51對系統(tǒng)硬件的要求如表1所列。
2.1 RTX51任務
RTX51區(qū)分2類任務:快速任務和標準任務?焖偃蝿沼泻芸斓捻憫俣,每個快速任務使用8051一個單獨的寄存器組,并且有自己的堆棧區(qū)域。RTX51支持最大同時有3個快速任務。標準任務需要多一點的時間來進行任務切換,因此使用的內(nèi)部RAM相對快速任務要少,所有的標準任務共用1個寄存器組和堆棧。當任務切換的時候,當前任務的寄存器狀態(tài)和堆棧內(nèi)容轉(zhuǎn)移到外部存儲器中。RTX51支持最大16個標準任務。
RTX51任務狀態(tài):
①運行(RUNNIGN)——當前正在運行的任務處于RUNNING狀態(tài),同一時間只有1個任務可以運行。
②就緒(READY)——等待運行的任務處于READY狀態(tài),在當前運行的任務退出運行狀態(tài)后,就緒隊列中優(yōu)先級最高的任務進入到運行狀態(tài)。
③阻塞(BLOCKED)——等待一個事件的任務處于BLOCKED狀態(tài),如果事件發(fā)生且優(yōu)先級比正在運行的任務高,此任務進入運行狀態(tài);如果優(yōu)先級比正在運行的任務低,此任務進入READY狀態(tài)。
④刪除(DELETED)——沒有開始的任務處于刪除狀態(tài)。
⑤任務切換——RTX51包含一個事件驅(qū)動的任務切換機制,它能夠按照任務的優(yōu)先級進行切換,也就是搶占式多任務系統(tǒng);另外還有一個可選的時間片輪轉(zhuǎn)切換任務模式,在時間片輪轉(zhuǎn)模式下,同級別的任務是按照時間片分別占用CPU的。RTX51任務有4個優(yōu)先級:0、1、2可以分配給標準任務,優(yōu)先級3是為快速任務保留的。每個任務都可以等待事件的發(fā)生,而并不增加系統(tǒng)的負擔;任務可以等待消息、信號、中斷、超時事件或者它們的組合。任務切換是按照一定規(guī)則進行的,包括:進入到“就緒”狀態(tài)的優(yōu)先級高的任務先執(zhí)行;如果“就緒”狀態(tài)
[1] [2] [3] [4] [5]
【基于RTX51的單片機軟件設計】相關文章:
基于單片機飛行距離的測試05-03
基于軟件復用技術的雷達星體標校軟件設計04-29
基于LabWindows的實時多任務加載總控臺軟件設計04-28
基于PROTIEUS的《單片機原理》課程的教學應用05-02
基于RCM系統(tǒng)級維修任務分析軟件設計與實現(xiàn)04-28