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

    EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > μC/OS-II在SOPC中的硬件實現(xiàn)

    μC/OS-II在SOPC中的硬件實現(xiàn)

    作者: 時間:2017-06-05 來源:網(wǎng)絡 收藏

    本人在教學及科研實驗中,對基于μC/OS-II的中的設計總結出了具體實現(xiàn)方法。經(jīng)過實踐驗證,該方法簡單、可靠,值得推廣。

    1 μC/OS

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

    2 硬件設計

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


    3 軟件開發(fā)

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

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


    4 具體實現(xiàn)方法

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


    結 語

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



    評論


    相關推薦

    技術專區(qū)

    關閉
    主站蜘蛛池模板: 响水县| 东港市| 司法| 桃源县| 荥经县| 克拉玛依市| 克拉玛依市| 谢通门县| 新邵县| 莱州市| 浮梁县| 梓潼县| 延庆县| 台北市| 尉犁县| 云浮市| 紫金县| 抚松县| 玛多县| 抚州市| 平江县| 舒兰市| 应城市| 东丽区| 黑龙江省| 安西县| 新巴尔虎右旗| 博野县| 洪湖市| 潢川县| 阿克| 黄浦区| 逊克县| 新巴尔虎左旗| 诏安县| 环江| 长垣县| 大名县| 饶河县| 鹤山市| 玛纳斯县|