新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Cortex-M3的μC/OS-II任務調度硬件指令實現

        Cortex-M3的μC/OS-II任務調度硬件指令實現

        作者: 時間:2011-03-24 來源:網絡 收藏

        假設在OSRdyTb1[]的低32位數據中,00000000000000000000000000001100B表示優先級為2的和優先級為3的處于就緒態,現在要通過RBIT和CLZ找出優先級為2的運行。運行RBIT后數據變為:00110000000000000000000000000000000000。運行CLZ后計算出前導零的個數為2,表明優先級為2的任務處于最高就緒態。
        μC/中的任務是通過查兩次表完成最高優先級任務的查找,方法如下:
        h.jpg
        上述代碼在MDK4.12軟件中測試,系統時鐘采用8 MHz,按照此方法進行任務可節省0.5μs,同時還減少了用來存放OSUnMapTb1[]的256字節的空間,縮短了代碼運行時間,提高了CPU的利用率。此方法在μC/的任務通信中也同樣適用。在此不再贅述。

        結語
        本文主要對μC/中的任務調度算法作了分析,特別闡述了OSUnMapTb1[]表是如何構成的,同時介紹了基于ARM 處理器平臺的μC/OS-II的任務調度方法,簡化了μC/OS-II的代碼,提高了處理器的性能。

        本文引用地址:http://www.104case.com/article/150928.htm

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 神农架林区| 广饶县| 长乐市| 江华| 蒲江县| 秦皇岛市| 崇仁县| 岱山县| 凤山县| 昌邑市| 寻乌县| 乌拉特前旗| 南康市| 宝山区| 芦山县| 南昌市| 渭源县| 长葛市| 碌曲县| 南通市| 蒲城县| 清水河县| 洪湖市| 定结县| 彭水| 招远市| 英山县| 韩城市| 焉耆| 鹤壁市| 龙里县| 江安县| 咸阳市| 得荣县| 曲靖市| 罗山县| 开化县| 辛集市| 湟中县| 万安县| 伊吾县|