新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式實時操作系統μC/OS-Ⅱ的移植實例

        嵌入式實時操作系統μC/OS-Ⅱ的移植實例

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

        3.3.2 OSCtxSw()函數
        此函數用以實現任務級的切換,實現由低優先級任務向高優先級任務切換。此函數被任務調度函數OS_Sched()調用,實現任務切換,其代碼如下:
        i.JPG
        3.3.3 OSIntCtxSw()函數
        該函數的作用是在時鐘中斷服務例程中發現有高優先級任務等待的時鐘信號到來時,則在中斷退出后并不返回被中斷任務,而是直接調度就緒的高優先級任務執行,這樣做能夠盡快地讓高優先級的任務得到響應,保證系統的性能。
        OSIntCtxSw()函數中大部分代碼同OSCtxSw()函數是一樣的,區別只是,需要保存中斷模式下的堆棧,在切換到用戶模式下運行新任務。
        3.3.4 OSTickISR()函數
        OSTickISR()是μC/Ⅱ的時鐘節拍函數,主要實現任務的切換,其代碼如下:
        j.JPG
        k.JPG

        4 測試代碼
        上述的工作是最基本的內容,除此之外,還要加上硬件初始化和相應的配置文件。
        為了驗證μC/成功,需要測試移植代碼。首先不加任何應用代碼來測試移植好的μC/Ⅱ,也就是說先測試內核自身的運行情況是否良好。
        內核運行良好時,通過以下4個步驟測試移植代碼的運行:
        (1)確保C編譯器、匯編編譯器和連接器的正常工作;
        (2)驗證OSTaskStkInit()和OSStartHighRdy()函數的正確運行;
        (3)驗證OSCtxSw()函數;
        (4)驗證OSIntCtxSw()和OSTickIsr()函數的正確運行。
        若全部能夠正常運行,那就是移植的μC/OS-Ⅱ已經能夠正常的工作了,可以添加應用任務了。

        5 結語
        μC/OS-Ⅱ的使用使得程序的可讀性、可靠性、可擴展性有很大的改善。本文從實際出發,給出源代碼開放μC/OS-Ⅱ在微處理器LH79520上的移植方案,移植后的順利經過測試,運行穩定,并達到了實時系統的要求。

        本文引用地址:http://www.104case.com/article/149287.htm
        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 石台县| 南郑县| 丰镇市| 远安县| 雷波县| 克山县| 右玉县| 朔州市| 德化县| 东明县| 简阳市| 甘洛县| 延川县| 百色市| 合山市| 郯城县| 依兰县| 于田县| 黔西县| 上饶县| 井冈山市| 东宁县| 白银市| 罗江县| 南通市| 山西省| 隆安县| 无锡市| 马边| 永安市| 大埔区| 荣成市| 子洲县| 丰镇市| 霍邱县| 米易县| 朝阳区| 江源县| 宁海县| 肇源县| 栾川县|