<track id="dxvbp"><em id="dxvbp"></em></track>
<optgroup id="dxvbp"><i id="dxvbp"></i></optgroup>

<p id="dxvbp"><em id="dxvbp"></em></p>
    1. <strike id="dxvbp"><xmp id="dxvbp"></xmp></strike>
    2. <track id="dxvbp"><em id="dxvbp"></em></track>
      <p id="dxvbp"></p>

      <legend id="dxvbp"></legend><ruby id="dxvbp"><i id="dxvbp"></i></ruby>

      計算機系統分析應用論文

      一、概述 一般說來,單片機的應用系統中都需要同時執行很多任務,我們可以利用實時操作系統來靈活地安排系統資源。rtx51是美國keil公司開發的一種小型的面向mcs51系列單片機的實時多任務操作系統,它可以工作于8051單片機以及派生家族中,簡化了復雜的軟件設計,縮短了
      閱讀技巧Ctrl+D 收藏本篇文章

        一、概述

        一般說來,單片機的應用系統中都需要同時執行很多任務,我們可以利用實時操作系統來靈活地安排系統資源。rtx51是美國keil公司開發的一種小型的面向mcs51系列單片機的實時多任務操作系統,它可以工作于8051單片機以及派生家族中,簡化了復雜的軟件設計,縮短了項目周期。

        二、rtx51介紹

        rtx51有2個模式:rtx51完全模式和最小模式。rtx51最小模式版是rtx51完全版的一個子集,可以很容易地運行在8051系統上,而不需要外部ram(dxata)。rtx51完全模式有4個任務優先級,可以和中斷函數并行處理,各個任務之間通過使用“郵箱”系統來進行信號和消息的傳遞,可以動態地申請和釋放內存;同時,可以強制一個任務停止執行,等待一個中斷,或者是其它中斷傳來的信號量或者消息。

        (一)rtx51任務

        rtx51包括2類任務:快速任務和標準任務。快速任務有很快的響應速度,每個快速任務使用8051一個單獨的寄存器組,并且有自己的堆棧區域。rtx51支持最大同時有3個快速任務。標準任務需要多一點的時間來進行任務切換,因此使用的內部ram相對快速任務要少,所有的標準任務共用1個寄存器組和堆棧。當任務切換的時候,當前任務的寄存器狀態和堆棧內容轉移到外部存儲器中。rtx51支持最大16個標準任務。

        (二)rtx51任務狀態

        (1)運行(runnign)當前正在運行的任務處于running狀態,同一時間只有1個任務可以運行。

        (2)就緒(ready)等待運行的任務處于ready狀態,在當前運行的任務退出運行狀態后,就緒隊列中優先級最高的任務進入到運行狀態。

        (3)阻塞(blocked)等待一個事件的任務處于blocked狀態,如果事件發生且優先級比正在運行的任務高,此任務進入運行狀態;如果優先級比正在運行的任務低,此任務進入ready狀態。

        (4)刪除(d)沒有開始的任務處于刪除狀態。

        (三)rtx51中斷處理

        rtx51完全模式提供2種方法來處理中斷:一種是c51的中斷函數,另一種是rtx51的中斷。它又可以分為快速任務中斷和標準任務中斷。對于中斷函數這種方法,它同時也可以在不使用rtx51的情況下使用,當中斷發生的時候,程序就跳到了相應的中斷函數,它和正在運行的任務是互相獨立的,中斷的處理是在rtx51系統之外,和任務切換規則沒有關聯。對于任務中斷的方法,不管使用快速是標準任務來處理中斷,如果中斷發生,等待中斷的任務就從“等待”狀態進入到就緒狀態,并按照任務切換規則進行切換。

        (四)任務調度rtx51

        包含一個事件驅動的任務調度機制,它能夠按照任務的優先級進行切換,也就是搶占式多任務系統;另外還有一個可選的時間片輪轉切換任務模式,在這種模式下,rtx51使用8051內部定時器t0來產生定時節拍,各任務只在各自分配的定時節拍數(時間片)內執行。當時間片用完后,切換至下一任務運行,因此,各任務是并發執行的。同級別的任務是按照時間片分別占用cpu的。rtx51任務有4個優先級:0、1、2可以分配給標準任務,優先級3是為快速任務保留的。每個任務都可以等待事件的發生,而并不增加系統的負擔;任務可以等待消息、信號、中斷、超時事件或者它們的組合。

        (五)任務控制

        為了能描述和控制任務的運行,rtx51為每個任務定義了稱作任務控制塊的數據結構,主要包括四項內容:任務的代碼入口地址,位于code空間,2字節為一個單位。

        任務所使用堆棧棧底位置,位于idata空間,1字節為一個單位。

        任務的定時節拍計數器,在每一次定時節拍中斷后都自減一次。

        任務狀態寄存器,用其各個位來表示任務所處的狀態。位于idata空間,以2字節為一單位。

        (六)定時器t0中斷服務程序的任務

        (1)rtx51使用定時器t0作為定時節拍發生器,是任務切換、時間片輪轉的依據。

        (2)更新各個任務節拍數:將各任務節拍數寄存器減1,如果某任務超時,并且該任務正在等待超時事件,則將該任務置為“ready”狀態,使其返回任務隊列。

        (3)檢查自由堆棧空間:若自由堆棧空間范圍小于freestack(默認為20字節)時,可以調用宏stack_error,進行堆棧出錯處理。

        三、rtx51應用中應注意的問題

        原則講rtx51可以應用到基于mcs51系列單片機組成的任何系統中。rtx51的優點在于軟件開發周期短、效率高;由于rtx51在運行時需要占用cpu的部分硬件資源,如通常占用定時/計數器t0,且對堆棧深度要求較高,因此,在使用時應注意rtx51對硬件配置的要求。

        (一)rtx51對硬件的要求

        rtx51分為完全模式和最小模式,對于rtx51完全模式,要求系統要有外部ram,同時,還應合理分配cpu的硬件資源,留出定時/計數器t0作為系統多任務執行的時間片發生器;對于簡單的嵌入式系統,由于通常沒有外部ram,通常選擇rtx51最小模式。在最小模式下,定時/計數器t0用戶不能使用,而是留給系統作多任務切換的時間片發生器。

        (二)合理分配任務的時間片數和任務優先級

        在執行多任務時,由于各個任務處理時,需要的時間不同,任務對實時性要求不同,所以,應合理配置各個任務的時間片數,盡量使任務在規定的時間片內完成,減少任務間的消息傳遞,確保系統資源的使用效率。在rtx51完全模式下,應注意各個任務的優先級配置;在rtx51最小模式下,各個任務沒有優先級規定,各任務只能在時間片定時器的控制下并行執行。

        四、結論

        在can局域網節點設計過程中,我們成功地將rtx51最小模式應用到系統之中,簡化了系統的軟件設計,提高了開發效率,縮短了開發周期。

      轉載請注明來源。原文地址:http://www.nm525.com/html/yingyong/20190719/8182553.html   

      計算機系統分析應用論文相關推薦


      聯系方式
      微信號 xzlunwen
      熱點論文
      14705193098 工作日:8:00-24:00
      周 日:9:00-24:00
      大香蕉成人色视频在线观看