新聞中心

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

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

        作者: 時間: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ù)進(jìn)行傳遞:任務(wù)代碼起始地址(task),參數(shù)指針(p_arg),任務(wù)堆棧頂?shù)刂?ptos)。
        e.JPG
        后5個函數(shù)為鉤子函數(shù),如無特殊需求可以不加代碼。
        3.2.2 中斷級任務(wù)切換函數(shù)
        OSIntCtxSw()函數(shù)通過設(shè)置一個全局變量OSIntCtxSwFlag標(biāo)志以表示在中斷服務(wù)程序中進(jìn)行任務(wù)切換,并在OSTickISR()中判斷該變量以進(jìn)行正確的動作。
        f.JPG
        3.3 修改OS_CPU_A.ASM文件
        在此文件中需改寫4個函數(shù):OSStartHighRdy(),OSCtxSw(),OSIntCtxSw()和OSTickISR()。
        3.3.1 OSStartHighRdy()函數(shù)
        該函數(shù)由OSStart()調(diào)用,功能是運(yùn)行優(yōu)先級最高的就緒任務(wù),其代碼如下:
        g.JPG
        h.JPG
        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 汉川市| 勐海县| 吉木乃县| 东至县| 凉城县| 万源市| 荥经县| 平顶山市| 隆子县| 静宁县| 长宁县| 台江县| 永泰县| 房山区| 石渠县| 桐乡市| 盐源县| 高阳县| 兴山县| 黎平县| 常山县| 罗平县| 玉田县| 平度市| 镇雄县| 盐池县| 扎鲁特旗| 西林县| 日土县| 镇康县| 深水埗区| 万全县| 霍州市| 鄂托克前旗| 牟定县| 柞水县| 阳东县| 罗山县| 腾冲县| 凤阳县| 合肥市|