新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式實時操作系統(tǒng)μC/OS-Ⅱ的移植實例

        嵌入式實時操作系統(tǒng)μC/OS-Ⅱ的移植實例

        作者: 時間:2012-04-05 來源:網(wǎng)絡(luò) 收藏

        3.2 修改OS_CPU_C.C文件
        3.2.1 任務(wù)堆棧初始化
        修改OSTaskStkInit()函數(shù),OSTaskStkInit()由任務(wù)創(chuàng)建函數(shù)OSTaskCreate()或OSTaskCreateExT()調(diào)用,用來初始化任務(wù)的堆棧。OS Task StkInit()與調(diào)用它的函數(shù)由3個參數(shù)進行傳遞:任務(wù)代碼起始地址(task),參數(shù)指針(p_arg),任務(wù)堆棧頂?shù)刂?ptos)。
        e.JPG
        后5個函數(shù)為鉤子函數(shù),如無特殊需求可以不加代碼。
        3.2.2 中斷級任務(wù)切換函數(shù)
        OSIntCtxSw()函數(shù)通過設(shè)置一個全局變量OSIntCtxSwFlag標志以表示在中斷服務(wù)程序中進行任務(wù)切換,并在OSTickISR()中判斷該變量以進行正確的動作。
        f.JPG
        3.3 修改OS_CPU_A.ASM文件
        在此文件中需改寫4個函數(shù):OSStartHighRdy(),OSCtxSw(),OSIntCtxSw()和OSTickISR()。
        3.3.1 OSStartHighRdy()函數(shù)
        該函數(shù)由OSStart()調(diào)用,功能是運行優(yōu)先級最高的就緒任務(wù),其代碼如下:
        g.JPG
        h.JPG
        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 武强县| 霸州市| 南开区| 淳化县| 中西区| 阿巴嘎旗| 镇原县| 寻乌县| 醴陵市| 荥经县| 凌源市| 贵溪市| 呼伦贝尔市| 扎兰屯市| 通许县| 绥宁县| 新乡市| 金湖县| 姜堰市| 东乌珠穆沁旗| 安陆市| 合江县| 彭泽县| 读书| 广东省| 大名县| 尉犁县| 舞钢市| 长泰县| 探索| 延津县| 桑日县| 涡阳县| 额敏县| 广饶县| 潮州市| 略阳县| 四子王旗| 吉安县| 景德镇市| 三亚市|