新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > μC/OS-II在51單片機上的移植

        μC/OS-II在51單片機上的移植

        作者: 時間:2012-04-27 來源:網絡 收藏

        摘要:針對在51實時操作系統μC/的目的,以μC/工作原理為基礎,結合51機堆棧空間少的情況,采用改變堆棧指針到不同任務寄存器組的方法,通過改變堆棧指針的實驗,得出在堆棧空間較少的情況下,也能夠實現μC/在51的運行的結論。
        關鍵詞:μC/OS;單片機;實時操作系統;堆棧

        μC/OS-II是一種公開源代碼、結構小巧、具有可剝奪實時內核的嵌入式開發系統,代碼簡短、條理清晰、實時性及安全性能很高,絕大部分代碼用C編寫,現已被到多種處理器的構架中。隨著51單片機片內資源的日益豐富,在51單片μC/OS-II已成為可能,植入系統后,由系統來管理軟件與硬件資源,簡化應用程序的設計,并且使應用系統功能更加完善。因此在51單片機上移植μC/OS-II具有十分重要的意義。

        1 μC/OS實時操作系統概述
        μC/OS-II實時操作系統是一種可移植、可固化、可裁剪即可剝奪型的多任務實時內核,適用于各種微處理器和微控制器。μC/OS-II主要包括任務調度、時間管理、內存管理、事件管理(信號量、郵箱、消息隊列)4大部分。它的移植與4個文件相關:匯編文件(OS_CPU_A.A SM)、處理器相關C文件(OS_CPU.H、OS_CPU_C.C)和配置文件(OS_CFG.H)。有64個優先級,系統占用8個,用戶可創建56任務,不支持時間片輪轉。
        它的基本思路就是“近似地每時每刻總是讓優先級最高的就緒任務處于運行狀態”。為了保證這一點,它在調用系統函數、中斷結束、定時中斷結束時總是執行調度算法。原作者通過事先計算好數據,簡化了運算量,通過精心設計就緒表結構,使得延時可預知。任務的切換是通過模擬一次中斷實現的。

        2 任務調度的實現原理
        任務調度是μC/OS-II的重要部分,和具體的微處理器關系緊密。必須移植的5個函數有4個都和任務有關。任務調度就是保存當前任務的寄存器和PC指針(即當前任務的斷點),然后把將要執行的任務的寄存器值返回給寄存器并把PC指向將要執行任務的斷點。這些的實現要借助于堆棧和中斷,為了簡便起見,先看函數調用時堆棧的使用情況。在函數調用時,堆棧的一個重要功能就是保存被調函數的斷點地址。若有4個函數,Fun1調用Fun2,Fun2調用Fun3,Fun3調用Fun4,Fun4為葉子程序(無子程序調用)。
        a.JPG


        上一頁 1 2 3 下一頁

        關鍵詞: 移植 機上 單片 OS-II

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宿州市| 临夏县| 武川县| 莱阳市| 双桥区| 信丰县| 明溪县| 错那县| 崇明县| 娄底市| 洛川县| 军事| 仪征市| 平阴县| 昌宁县| 吉隆县| 库尔勒市| 苍南县| 鹤壁市| 海林市| 东丰县| 定襄县| 巍山| 永川市| 玉溪市| 当阳市| 五常市| 甘谷县| 万安县| 陇西县| 沅江市| 无极县| 甘洛县| 凉城县| 重庆市| 昌江| 云和县| 绵阳市| 武威市| 策勒县| 怀安县|