• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學習啦 > 論文大全 > 學科論文 > 計算機論文 > 淺談基于STM32的μCOS-Ⅲ系統移植的設計論文

    淺談基于STM32的μCOS-Ⅲ系統移植的設計論文

    時間: 謝樺657 分享

    淺談基于STM32的μCOS-Ⅲ系統移植的設計論文

      uC/OS-III(Micro C OS Three 微型的C 語言編寫的操作系統第3版)是一個可升級的,可固化的,基于優先級的實時內核。它對任務的個數無限制。uC/OS-III 是一個第3 代的系統內核,支持現代的實時內核所期待的大部分功能。例如資源管理,同步,任務間的通信等等。然而,uC/OS-III 提供的特色功能在其它的實時內核中是找不到的,比如說完備的運行時間測量性能,直接地發送信號或者消息到任務,任務可以同時等待多個內核對象等。以下是學習啦小編為大家精心準備的:淺談基于STM32的μCOS-Ⅲ系統移植的設計相關論文。內容僅供參考,歡迎閱讀!

      淺談基于STM32的μCOS-Ⅲ系統移植的設計全文如下:

      引言

      隨著人類社會經濟的不斷發展,科研領域不斷的拓寬,嵌入式系統產品漸漸完善,并在全世界各行業得到廣泛應用。通過移植嵌入式操作系統,計算機可以更好的管理內存,并且在很大程度上實現了系統的實時性。μCOS-Ⅲ作為一個微型實時操作系統,包括了一個操作系統最基本的特性,使用匯編語言和C 語言編寫的μCOS-Ⅲ的構思巧妙,結構簡潔精煉,可讀性很強,作為一個源碼開放的嵌入式操作系統,用戶只要做很少的工作就可以把它進行移植和維護。

      1 實時操作系統μCOS-Ⅲ和STM32 處理器

      1.1 實時操作系統μCOS-Ⅲ

      μCOS-Ⅲ的前身是由美國嵌入式系統專家Jean J.Labrosse 于1992 年推出的嵌入式操作系統μCOS,經過了不斷的完善和擴充,形成現在的μCOS-Ⅲ。

      μCOS-Ⅲ是一個可以基于ROM 運行的、可裁減的、搶占式、實時多任務內核,具有高度可移植性。所謂的移植,在一個平臺環境能夠成功運行的程序,將它搬運到另一個平臺環境,并且使其成功運行。發展至今的μCOS-Ⅲ,特別適合于微處理器和控制器,并且已經移植到近40 多種處理器體系上,涵蓋了從8 位到64 位的各種CPU。

      μCOS-Ⅲ源碼可分為:與應用程序相關的文件、與計算機硬件相關的文件和系統內核的各種服務文件。用戶在移植時,需要對與計算機硬件相關的文件進行修改:如OS_CPU.H 文件,OS_CPU_A.ASM 文件和OS_CPU_C.C 文件。而系統內核的各種文件,如:OS_CORE.C、OS_FLAG.C、OS_MBOX.C、OS_MUTEX.C 等,與應用程序相關的文件: INCLUDES.H 和OS_CFG.H 則不需要修改。

      1.2 STM32 處理器

      STM32 系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-M3 內核。我們所采用的STM32F103 型,其內核為ARM32 位Cortex -M3 CPU, 最高工作頻率72MHz,1.25DMIPS/MHz。ECOPACK 封裝,最多高達112 個的快速I/O 端口,最多多達11 個定時器,最多多達13 個通信接口,具有3 種模式:休眠,停止,待機模式的低功耗,可以使其廣泛的應用于工業控制、醫療系統、訪問控制等。

      ST 公司針對STM32 提供了STM32 庫作為函數接口,使得開發人員得以脫離最底層的寄存器操作,有開發快速、易于閱讀、維護成本低等優點。

      2 μCOS-Ⅲ的移植

      2.1 修改OS_CPU.H 文件

      μCOS-Ⅲ的內核使用一個周期時鐘中斷,以計算任務延時時間和進行任務調度,在STM32 中,這樣的時鐘中斷正適合由SysTick來提供。因為OS_CPU_SysTickHandler()函數與STM32 庫所提供的stm32F10x_it.c 文件中的SycTick_Handler()函數功能一樣,都是使用SysTick 的中斷處理,所以我們采用SycTick_Handler()函數。因此,相應的對于OS_CPU.H 文件的操作是:注釋掉OS_CPU_SysTickHandler()和OS_SysTickInit()函數的聲明。

      2.2 修改OS_CPU_C.C

      OS_CPU_SysTickHandler()和OS_CPU_SysTickInit()函數的定義在OS_CPU_C.C 文件中,由于我們采用了STM32 官方庫提供的函數來對SysTick 進行中斷處理,所以我們要把OS_CPU_C.C 的OS_CPU_SysTickHandler()和OS_CPU_SysTickInit()這兩個函數注釋掉。

      2.3 修改OS_CPU_A.ASM 文件

      我們下載的μCOS-Ⅲ移植工程是在官方的IAR 編譯環境下建立的,IAR 在匯編的語法方面和我們使用的MDK 編譯器有一點區別,所有我們對匯編文件的部分指令做如下修改:在OS_CPU_A.ASM 文件中,將原來的PUBLIC 指令改為EXPORT,它們是等價的。

      2.4 修改CPU_A.ASM 文件

      在CPU_A.ASM 匯編文件中,仍有因編譯環境的不同而引起的錯誤,修改的方法同修改OS_CPU_A.ASM 文件一樣,將原來的PUBLIC 指令改為EXPORT。除此之外,在CPU_A.ASM 文件中某些標號帶有冒號,如“CPU_CntLeadZeros:”、“CPU_RevBits:”、“CPU_WaitForInt:”和“CPU_WaitForExpect:”,為了適應編譯環境,需要將其中的冒號去掉。

      2.5 修改STM32F10X_IT.C 文件

      為了實現和完成完整的中斷,我們需要將STM32F10X_IT.C 文件原有的PendSV_Handler 空函數注釋掉,同時編寫SysTick 中斷服務函數。

      我們可以看到,在SysTick 的函數中調用了3 個函數,它們都是μCOS 源碼定義的函數,其基本功能如下:

      (1)OSIntEnter () 函數, 對用于表示中斷嵌套層的變量OSIntNesting 加1,它與OSIntExit()函數成對出現,在進入中斷服務函數時,都應該包含這兩個函數,中斷服務的內容位于這兩個函數之間。

      (2)OSIntExit()函數,除了對嵌套層數OSIntNesting 減1 表示退出中斷外,還具有任務調度功能。

      (3)OSTimeTick()函數主要工作是對系統統計事件的變量OSTime加1,另外,它還會遍歷所有任務,對延時任務的時間減1。

      至此,我們對μCOS 的源碼針對編譯環境做了修改,將SysTick中斷修改到STM32 所提供的STM32F10X_IT.C 文件后,就基本完成了μCOS 的移植了。

      3 系統測試

      我們現在需要對移植好的代碼做一個簡單的測試,通過編寫流水燈任務來驗證移植的成功。流水燈任務的部分代碼如表3:運行后我們發現實驗板的流水燈按照循環的方式一直閃爍,驗證了μCOS-Ⅲ在STM32 處理器核上的成功移植。

      4 結束語

      作為一個成熟的嵌入式操作系統,μCOS-Ⅲ已經被廣泛移植于各種體系的微型處理器上了。在嵌入式技術高速發展的今天,基于ARM 為內核的微處理器憑借ARM 優秀的體系結構被運用于各種行業。通過研究μCOS-Ⅲ的移植,可以使得它在更廣泛的平臺得到應用,更促進嵌入式技術的發展。

    【淺談基于STM32的μCOS-Ⅲ系統移植的設計】相關文章:

    1.基于μC/OS的嵌入式系統應用開發研究論文

    2.論冶金機械液壓系統的污染與控制研究論文

    3.提高實時操作系統的實時性能和可靠性策略論文

    4.關于土地信息系統建立過程中的數據質量問題的探討論文

    5.計算機論文范文

    423530 主站蜘蛛池模板: 色www永久免费网站| 亚洲午夜无码久久久久小说| 一级特黄a视频| 美女又黄又免费的视频| 手机在线观看视频你懂的| 国产在线视频网| 久久人妻AV中文字幕| 韩国v欧美v亚洲v日本v| 日本漫画yy漫画在线观看| 国产免费一区二区三区免费视频| 久久精品无码一区二区www| 成人羞羞视频国产| 日本边添边摸边做边爱边| 国产伦理一区二区| 中文字幕在线网址| 精品国产理论在线观看不卡| 少妇AV射精精品蜜桃专区| 免费人成视频在线| 99久久99久久久精品久久| 欧美黑人乱大交ⅹxxxxx| 国产精品美女一区二区视频| 亚洲区小说区激情区图片区 | 黄页网站免费在线观看| 欧美另类xxxx图片| 第37部分夫妇交换系列| 女人国产香蕉久久精品| 人妻18毛片a级毛片免费看| 97一区二区三区四区久久| 欧美人与动人物xxxx| 国产性生活大片| 久久久久亚洲精品无码网址色欲| 美日韩在线视频| 天天射天天操天天色| 亚洲欧美中文日韩v在线观看| 一区二区在线免费观看| 熟妇人妻中文字幕| 国产精品久久久久久久| 久久人妻无码中文字幕| 精品三级AV无码一区| 国内大量揄拍人妻精品視頻 | 国产性夜夜春夜夜爽|