• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    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.czjhyjcfj.com/article/150928.htm

    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 三台县| 京山县| 阿拉尔市| 五莲县| 双牌县| 微山县| 科技| 林芝县| 溆浦县| 乌恰县| 利津县| 青海省| 望奎县| 余庆县| 天峨县| 井冈山市| 于都县| 岳西县| 涿鹿县| 临汾市| 赤水市| 静乐县| 巨鹿县| 上林县| 馆陶县| 新兴县| 凤翔县| 永年县| 平谷区| 明光市| 大庆市| 巴彦淖尔市| 信丰县| 临清市| 周口市| 句容市| 博湖县| 浏阳市| 富锦市| 景洪市| 应城市|