• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      實時操作系統(tǒng)uC/OS—II在MC9S12DG128B上的移植

      2017-10-21 20:54:49胡夢寒
      科技風 2017年8期
      關鍵詞:嵌入式操作系統(tǒng)編譯器堆棧

      胡夢寒

      摘 要:本文討論了將一個具有高可靠性的可剝奪型多任務實時內(nèi)核uC/OS-II在Freescale單片機MC9S12DG128B上移植的原理和方法。給出了一個以Freescale Code Warrior 為編譯器,MC9S12DG128B為處理器的對uC/OS-II系統(tǒng)進行移植的具體實例。

      關鍵詞:uC/OS-II;MC9S12DG128B;移植

      嵌入式操作系統(tǒng)近年來備受人們關注,其開發(fā)出來的產(chǎn)品已經(jīng)應用到生活的各個角落。uC/OS-II系統(tǒng)作為嵌入式操作系統(tǒng)的一種,具有高可靠性、穩(wěn)定性和實時性。MC9S12DG128B是16位單片機,具有資源豐富、功能強大、運行穩(wěn)定且價格低廉的特點。本文將介紹uC/OS-II實時內(nèi)核在MC9S12DG128B上的移植過程。

      1 移植前的準備工作

      1.1 uC/OS-II系統(tǒng)特點

      uC/OS-II實時操作系統(tǒng)使用可剝離型內(nèi)核,CPU總是運行多個任務中優(yōu)先級最高的任務。它具有很強的可移植性、內(nèi)核可裁減性、可確定性的特點,并提供很多系統(tǒng)服務。

      1.2 MC9S12DG128B硬件資源

      MC9S12DG128B是16位單片機,DG128CPU具有6個寄存器,13種尋址方式和400多條指令,同時,DG128具有豐富的I/O接口,MC9S12DG128B典型的內(nèi)部時鐘頻率為16MHZ,支持定時中斷,具有128k的Flash,8k字節(jié)的RAM和2k字的EEPROM。

      1.3 移植過程編譯器

      開發(fā)編譯工具:CodeWarrior For HCS12X_v4.7。

      1.4 uC/OS-II模塊

      uC/OS-II的軟硬件體系結構如圖1所示。應用程序處于系統(tǒng)的頂層,無限循環(huán)設計,每個任務獨占CPU。

      2 具體移植步驟

      以下是具體的移植步驟,與硬件相關的各個文件需修改。

      2.1 文件OS_CPU.H

      包含與處理器相關的、#define語句定義的常數(shù)、宏以及數(shù)據(jù)類型。

      2.2 數(shù)據(jù)類型定義

      不同編譯器會使用不同的字節(jié)長度來表示同一數(shù)據(jù)類型。uC/OS-II的移植包含一系列的數(shù)據(jù)類型定義。

      2.3 堆棧單位

      OS_STK的數(shù)據(jù)類型必與須處理器的寄存器長度一致。

      2.4 堆棧方向

      需預先設定堆棧的增長方向,因為不同處理器,數(shù)據(jù)入堆棧時堆棧指針的增長方向不一樣。

      2.5 臨界區(qū)

      需定義兩個保護臨界區(qū)的宏。

      2.6 設置OS_TASK_SW()

      #define OS_TASK_SW() asm(swi)

      2.7 文件OS_CPU_A.ASM

      uC/OS-II移植要求編寫四個匯編函數(shù),分別是OSTickISR()、OSStartHighRdy()、OSCtxSw()和OSIntCtxSw(),移植過程將對相應函數(shù)進行修改。

      3 實驗及其結果分析

      為驗證移植的正確性,本文將通過應用任務實驗來實施驗證。實驗必須在確保C編譯器,匯編編譯器及鏈接器正常工作的情況下進行,測試修改過的移植函數(shù)在9S12環(huán)境下運行是否正常。

      根據(jù)實驗結果可以看出,任務TestTask1和TestTask2創(chuàng)建成功,證明OSTaskStkInit()、OSStartHighRdy()工作正常;TestTask1和TestTask2實現(xiàn)了任務切換,以及發(fā)生了時間中斷(任務TestTask1運行兩次后任務TestTask2運行一次),因此其它函數(shù)也正常運行,實驗成功。由此可以得出結論,uC/OS-II在MC9S12DG128B上移植成功。

      4 結語

      本文介紹了uC/OS-II移植到MC9S12DG128B上的全過程,對從事嵌入式系統(tǒng)移植工作的開發(fā)人員有一定的參考價值。

      參考文獻:

      [1] Jean J Labrosse.嵌入式操作系統(tǒng)uC/OS-II [M].第2版,北京:北京航空航天大學出版社,2005:283-316.

      [2] 黃濤,徐宏吉.嵌入式實時操作系統(tǒng)移植技術的分析和應用[J].計算機應用,2003,(9):88-90.

      [3] 邵貝貝.在MC68HC908GP32上移植uC/OS-II.單片機與嵌入式系統(tǒng)應用[J].單片機與嵌入式系統(tǒng)應用,2001,(11):69-75.

      [4] 王宜懷,劉曉升,等.嵌入式系統(tǒng)-使用HCS12微控制器的設計與應用[M].北京:北京航空航天大學出版社,2003,1.

      猜你喜歡
      嵌入式操作系統(tǒng)編譯器堆棧
      基于相異編譯器的安全計算機平臺交叉編譯環(huán)境設計
      典型實時嵌入式操作系統(tǒng)應用分析
      電子測試(2018年23期)2018-12-29 11:11:30
      嵌入式軟件堆棧溢出的動態(tài)檢測方案設計*
      基于堆棧自編碼降維的武器裝備體系效能預測
      基于嵌入式操作系統(tǒng)的工業(yè)采集板設計
      應用服務型人才培養(yǎng)體系下的嵌入式操作系統(tǒng)教學改革探索
      通用NC代碼編譯器的設計與實現(xiàn)
      計算機嵌入式操作系統(tǒng)研究
      一種用于分析MCS-51目標碼堆棧深度的方法
      編譯器無關性編碼在微控制器中的優(yōu)勢
      孝感市| 防城港市| 鹤庆县| 沈丘县| 泗水县| 栾川县| 同心县| 郴州市| 邹城市| 吉安市| 子长县| 屏东市| 大名县| 广昌县| 息烽县| 易门县| 乐平市| 寿宁县| 屏边| 屏东县| 临猗县| 图片| 张掖市| 韶山市| 新河县| 皮山县| 景宁| 屏山县| 遂平县| 罗甸县| 浦江县| 长汀县| 嫩江县| 南川市| 抚顺市| 崇仁县| 铁岭市| 咸阳市| 武威市| 昌邑市| 都江堰市|