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

    EEPW首頁 > 嵌入式系統 > 設計應用 > μC/OS-II的多任務系統在SOPC中的硬件實現

    μC/OS-II的多任務系統在SOPC中的硬件實現

    作者: 時間:2012-07-16 來源:網絡 收藏

    本人在教學及科研實驗中,對基于μC/的多中的設計總結出了具體方法。經過實踐驗證,該方法簡單、可靠,值得推廣。

    本文引用地址:http://www.czjhyjcfj.com/article/148761.htm

    1 μC/OS實時操作

    μC/是一個可移植、可裁剪、占先式、實時的多內核,主要有管理、時間管理、信號量管理、消息郵箱管理、列隊管理、內存管理等。由于絕大部分代碼都是用C語言編寫的,只有極少部分與處理器密切相關的代碼是用匯編語言編寫的,用戶只要做很少的工作就可以把它移植到各類8位、16位、32位處理器上。另外,μC/的構思巧妙,結構簡單、精煉,可讀性強,有足夠的穩定性和安全性,具備了實時操作的全部功能,在嵌入式系統領域有著廣泛的應用。

    2 設計

    基于μC/OS-II的多任務系統在系統中的與普通設計相同,使用Quartus II創建設計工程,工程創建完成之后,創建頂層實體。創建完頂層設計文件后,使用SOPC Builder創建Nios II嵌入式處理器,添加、配置系統的外設IP,組成Nios II系統模塊。Nios II系統模塊設計完成之后要加入到該頂層實體中,然后進行其他片上邏輯的開發。系統整體開發流程如圖1所示。

    3 軟件開發

    利用Nios II IDE開發環境,使用C/C++語言編程設計。根據多任務系統的實際情況確定任務棧大小,并定義個任務棧;依照任務輕重緩急設定優先級,創建和編寫各具體任務,最后調用OSSTat()啟動MicroC/OS-II。具體開發流程如圖2所示。

    4 具體方法

    本文涉及內容已在Nios development Board CycloneII(EP2C35)中實現。通過在Quartus II中使用SOPCBuilder建立一個Nios II最小系統,然后在Nios II IDE編寫基于μC/OS-II實時操作系統的應用程序,同時運行3個任務,分別是LED跑馬燈、步進電機運行控制、LCD16207顯示字符。具體電路如圖3所示。

    結 語

    該方案已經在具體項目中實現。如果組成多任務的單任務能夠可靠運行,只要把Nios II IDE環境下的System Library設置成MicroC/OS-II,在源程序里加入μC/OS-II多任務的相關函數及必要的參數,把各個單任務程序整合到程序中,就可以在極短時間完成多任務的設計。若想開發成多任務專用集成電路(ASIC),可以保持上述開發過程不變,使用Stratix FPGA系列芯片,在需要時,通過Altera的HardCopy設計中心將由FPGA構成的系統無縫移植為低成本、功能等價、引腳兼容的HardCopyII結構化的ASIC,是一個值得推廣的成熟、高效的設計方案。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 靖远县| 金川县| 邢台县| 曲松县| 光泽县| 昆山市| 乌拉特中旗| 乃东县| 石门县| 淮阳县| 永吉县| 德阳市| 永泰县| 古浪县| 永泰县| 博野县| 洪湖市| 育儿| 屏东县| 缙云县| 广河县| 探索| 延长县| 全椒县| 平阳县| 玉环县| 米泉市| 雷山县| 兰西县| 遂宁市| 德清县| 灌阳县| 东台市| 汤阴县| 凤阳县| 黄梅县| 故城县| 土默特右旗| 顺义区| 舟山市| 周口市|