新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 實時操作系統µC/OS-II在ARM7上的移植

        實時操作系統µC/OS-II在ARM7上的移植

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

        5 測試代碼

        在EmbestIDE編譯器上編譯基于S3C44B0X的;代碼。編譯結果表明,裁剪后的;的代碼占用的空間少,代碼通過了編譯。為了驗證基于S3C44B0X的;的是否成功,本文創建了兩個測試任務來驗證其合理性。

        創建的2個測試任務及源碼如下:

        OSTaskCreate (TestTransplantA, (void *) 0, TestTransplantAStk[StackSize-1], 2);
        OSTaskCreate (TestTransplantB, (void *) 0, TestTransplantBStk[StackSize-1], 3);
        void TestTransplantA (void *pdata)
        { pdata=pdata;
        while(1) {
        uart_printf(TaskA );
        OSTimeDly (400);
        }
        }
        Void TestTransplantB (void *pdata) {
        pdata=pdata;
        while(1) {
        uart_printf(TaskB );
        OSTimeDly(200);
        }
        }

        多任務調度開始后,通過超級終端接收的UART0的數據為:taskA taskB taskB taskA taskB taskB taskA taskB taskB taskA taskB taskB taskA taskB taskB taskA taskB taskB ……。高優先級的任務TestTransplantA()首先被調度運行,說明OSTaskStkInit()和OSStartHighRdy()函數是正確的。任務TestTransplantA()和任務TestTransplantB()由時鐘節拍驅動而周期地被調用,說明OSCtxSw、 OSIntCtxSw()、OSTickISR()也是正確的。通過以上兩點可以認為結果是正確的。

        6 結束語

        在µC/OS-II平臺下開發程序,首先要掌握內核。通過上述移植過程,能夠對任務堆棧,任務調度有深刻理解。作為一種開放源代碼的操作系統,以其優越的性能在嵌入式系統應用領域占據了非常廣泛的發展空間。移植結果表明,經過裁剪的µC/OS-II在S3C44B0X上的移植是成功的。

        參考文獻
        [1] S3C44BOX MICROPROCESSOR Datasheet.Samsung Electronics,2001.
        [2] 田 澤. 嵌入式系統開發與應用教程[M]. 北京:北京航空航天大學出版社,2005.
        [3] 任 哲. 嵌入式操作系統µC/OS-II原理及應用[M]. 北京:北京航空航天大學出版社, 2005.
        [4] 張春雷 王東興. µC/OS-II在C8051F020單片機上的移植[J]. 微計算機信息, 2006, (22): 95-97.
        [5] 譚浩強. C語言程序設計[M]. 北京:清華大學出版社, 1999, 106-141.

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

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南靖县| 叙永县| 肥城市| 元阳县| 开阳县| 呼图壁县| 黄梅县| 蒙自县| 环江| 兰坪| 清原| 治多县| 翼城县| 青海省| 拜城县| 安康市| 正安县| 张家界市| 宜春市| 肃宁县| 津南区| 名山县| 侯马市| 旺苍县| 宝清县| 五指山市| 望城县| 定西市| 汤阴县| 辛集市| 英山县| 和田县| 张家口市| 闽清县| 稻城县| 井研县| 定远县| 琼海市| 泸溪县| 桃江县| 峨眉山市|