新聞中心

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

        嵌入式實時操作系統μCOS-Ⅱ的移植

        作者: 時間:2009-03-18 來源:網絡 收藏

        asm psha
        asm pshh
        asm tsx
        asm pshx
        asm pshh
        asm ldhx OSTCBCur
        asm pula
        asm sta 0, x
        asm pula
        asm sta 1, x
        OSTaskSwHook();
        asm lda OSPrioHighRdy
        asm sta OSPrioCur
        asm ldhx OSTCBHighRdy
        asm sthx OSTCBCur
        asm ldhx 0, x
        asm txs
        asm pulh
        asm pula
        asm sta PAGE
        asm rti

          (3)中斷級任務切換函數OSIntCtxSw() 該函數在ISR中執行任務的切換功能。由于是在中斷中執行的,處理器的大部分寄存器值都已經自動保存在堆棧中了,所以該函數的大部分代碼都和OSCtxSw()相同,只是前半部分保存寄存器的功能不要了。

          (4)OSTickISR()時鐘節拍服務函數μⅡ要求用戶提供一個周期性的時鐘源,來實現時間的定時和超時功能。這部分功能由該函數實現。這個函數首先保存寄存器的值,然后設置中斷標志、清中斷,再調用OSTimeTick()遞減延時計數,判斷是否要在中斷中切換任務,最后恢復處理器寄存器,執行中斷返回指令,返回到中斷處繼續執行。代碼如下:

        SRTISC_RTIACK = 1;
        asm lda PAGE
        asm psha
        asm pshh
        asm lda OSIntNesting
        asm add #1
        asm sta OSIntNesting
        asm cmp #1
        asm bne Tmr_TickISR1
        asm tsx
        asm pshx
        asm pshh
        asm ldhx OSTCBCur
        asm pula
        asm sta 0, x
        asm pula
        asm sta 1, x
        asm Tmr_TickISR1:
        OSTimeTick();
        OSIntExit();
        asm pulh
        asm pula
        asm sta PAGE
        asm rti

        5、結論

          本文將μ到8位系列單片機上,并且在MC9S08AW60上穩定的運行,有效提高了該系統的性能,充分利用系統資源,使系統的性能得到很大的提高,開闊了應用范圍。同時,作者也將該系統在HCS08的另外兩款單片機MC9S08QE128和MC9S08GB60上實現。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 雷波县| 云南省| 沁水县| 南宁市| 台中县| 绵竹市| 炎陵县| 漾濞| 绥宁县| 岑巩县| 循化| 登封市| 南乐县| 裕民县| 康平县| 陵川县| 昌吉市| 安龙县| 江陵县| 会昌县| 上饶市| 遵化市| 搜索| 错那县| 林州市| 三江| 双桥区| 巴彦淖尔市| 安义县| 天峻县| 德州市| 花莲县| 南丰县| 陕西省| 东阿县| 翁源县| 秦安县| 积石山| 精河县| 隆化县| 寿阳县|