色噜噜人体337p人体 I 超碰97观看 I 91久久香蕉国产日韩欧美9色 I 色婷婷我要去我去也 I 日本午夜a I 国产av高清怡春院 I 桃色精品 I 91香蕉国产 I 另类小说第一页 I 日操夜夜操 I 久久性色 I 日韩欧在线 I 国产深夜在线观看 I 免费的av I 18在线观看视频 I 他也色在线视频 I 亚洲熟女中文字幕男人总站 I 亚洲国产综合精品中文第一 I 人妻丰满熟av无码区hd I 新黄色网址 I 国产精品真实灌醉女在线播放 I 欧美巨大荫蒂茸毛毛人妖 I 国产一区欧美 I 欧洲亚洲1卡二卡三卡2021 I 国产亚洲欧美在线观看三区 I 97精品无人区乱码在线观看 I 欧美妇人 I 96精品在线视频 I 国产人免费视频在线观看 I 91麻豆国产福利在线观看

基于STM32的μCOSⅢ系統(tǒng)移植的設(shè)計(jì)論文

時(shí)間:2022-09-24 14:23:02 論文 我要投稿
  • 相關(guān)推薦

基于STM32的μCOSⅢ系統(tǒng)移植的設(shè)計(jì)論文

  摘 要:隨著嵌入式系統(tǒng)產(chǎn)品漸漸完善,并在全世界各行業(yè)得到廣泛應(yīng)用,通過移植嵌入式操作系統(tǒng),計(jì)算機(jī)可以更好地管理內(nèi)存,并且在很大程度上提高系統(tǒng)的實(shí)時(shí)性。文章主要介紹了μCOS-Ⅲ操作系統(tǒng)在基于ARM Contex-M3為內(nèi)核的STM32處理器的移植要點(diǎn),并且實(shí)現(xiàn)了源碼公開的嵌入式實(shí)時(shí)操作系統(tǒng)μCOS-Ⅲ在STM32處理器上的成功移植。

基于STM32的μCOSⅢ系統(tǒng)移植的設(shè)計(jì)論文

  關(guān)鍵詞:μCOS-Ⅲ;STM32處理器;移植

  引言

  隨著人類社會經(jīng)濟(jì)的不斷發(fā)展,科研領(lǐng)域不斷的拓寬,嵌入式系統(tǒng)產(chǎn)品漸漸完善,并在全世界各行業(yè)得到廣泛應(yīng)用。通過移植嵌入式操作系統(tǒng),計(jì)算機(jī)可以更好的管理內(nèi)存,并且在很大程度上實(shí)現(xiàn)了系統(tǒng)的實(shí)時(shí)性。μCOS-Ⅲ作為一個(gè)微型實(shí)時(shí)操作系統(tǒng),包括了一個(gè)操作系統(tǒng)最基本的特性,使用匯編語言和C語言編寫的μCOS-Ⅲ的構(gòu)思巧妙,結(jié)構(gòu)簡潔精煉,可讀性很強(qiáng),作為一個(gè)源碼開放的嵌入式操作系統(tǒng),用戶只要做很少的工作就可以把它進(jìn)行移植和維護(hù)。

  1.1 實(shí)時(shí)操作系統(tǒng)μCOS-Ⅲ

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

  μCOS-Ⅲ源碼可分為:與應(yīng)用程序相關(guān)的文件、與計(jì)算機(jī)硬件相關(guān)的文件和系統(tǒng)內(nèi)核的各種服務(wù)文件。用戶在移植時(shí),需要對與計(jì)算機(jī)硬件相關(guān)的文件進(jìn)行修改:如OS_CPU.H文件,OS_CPU_A.ASM文件和OS_CPU_C.C文件。而系統(tǒng)內(nèi)核的各種文件,如:OS_CORE.C、OS_FLAG.C、OS_MBOX.C、OS_MUTEX.C等,與應(yīng)用程序相關(guān)的文件:INCLUDES.H和OS_CFG.H則不需要修改。

  ST公司針對STM32提供了STM32庫作為函數(shù)接口,使得開發(fā)人員得以脫離最底層的寄存器操作,有開發(fā)快速、易于閱讀、維護(hù)成本低等優(yōu)點(diǎn)。

  2 μCOS-Ⅲ的移植

  2.1 修改OS_CPU.H文件

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

  2.2 修改OS_CPU_C.C

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

  2.3 修改OS_CPU_A.ASM文件

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

  2.4 修改CPU_A.ASM文件

  在CPU_A.ASM匯編文件中,仍有因編譯環(huán)境的不同而引起的錯(cuò)誤,修改的方法同修改OS_CPU_A.ASM文件一樣,將原來的PUBLIC指令改為EXPORT。除此之外,在CPU_A.ASM文件中某些標(biāo)號帶有冒號,如“CPU_CntLeadZeros:”、“CPU_RevBits:”、

  “CPU_WaitForInt:”和“CPU_WaitForExpect:”,為了適應(yīng)編譯環(huán)境,需要將其中的冒號去掉。

  2.5 修改STM32F10X_IT.C文件

  我們可以看到,在SysTick的函數(shù)中調(diào)用了3個(gè)函數(shù),它們都是μCOS源碼定義的函數(shù),其基本功能如下:

  (1)OSIntEnter()函數(shù),對用于表示中斷嵌套層的變量OSIntNesting加1,它與OSIntExit()函數(shù)成對出現(xiàn),在進(jìn)入中斷服務(wù)函數(shù)時(shí),都應(yīng)該包含這兩個(gè)函數(shù),中斷服務(wù)的內(nèi)容位于這兩個(gè)函數(shù)之間。

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

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

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

  3 系統(tǒng)測試

  我們現(xiàn)在需要對移植好的代碼做一個(gè)簡單的測試,通過編寫流水燈任務(wù)來驗(yàn)證移植的成功。流水燈任務(wù)的部分代碼如表3:

  運(yùn)行后我們發(fā)現(xiàn)實(shí)驗(yàn)板的流水燈按照循環(huán)的方式一直閃爍,驗(yàn)證了μCOS-Ⅲ在STM32處理器核上的成功移植。

  4 結(jié)束語

  作為一個(gè)成熟的嵌入式操作系統(tǒng),μCOS-Ⅲ已經(jīng)被廣泛移植于各種體系的微型處理器上了。在嵌入式技術(shù)高速發(fā)展的今天,基于ARM為內(nèi)核的微處理器憑借ARM優(yōu)秀的體系結(jié)構(gòu)被運(yùn)用于各種行業(yè)。通過研究μCOS-Ⅲ的移植,可以使得它在更廣泛的平臺得到應(yīng)用,更促進(jìn)嵌入式技術(shù)的發(fā)展。

  參考文獻(xiàn)

  [1]任哲.嵌入式操作系統(tǒng)基礎(chǔ)μC/OS-II和Linux(第2版)[M].北京:北京航空航天大學(xué)出版社,2011.

  [2]野火開發(fā)板配套資料.μC/OS-Ⅲ在STM32的移植詳解[Z].

  [3]Joseph Yiu.ARM Contex-M3 權(quán)威指南[M].宋巖,譯.北京:北京航空航天大學(xué),2009.

  [4]許倫輝,修科鼎.基于ARM處理器的μCOS-II移植[J].科技廣場,2010.

  [6]鄧中亮,何雙亮.基于ARM的嵌入式操作系統(tǒng)μC/OS-II的移植研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007.

【基于STM32的μCOSⅢ系統(tǒng)移植的設(shè)計(jì)論文】相關(guān)文章:

基于系統(tǒng)設(shè)計(jì)的科研管理論文09-22

基于冗余PLC的井下排水自動控制系統(tǒng)的設(shè)計(jì)的論文02-22

基于DSP整流器設(shè)計(jì)論文04-18

基于SCOSM自適應(yīng)教學(xué)模型設(shè)計(jì)論文07-12

FPGA數(shù)據(jù)采集與回放系統(tǒng)設(shè)計(jì)論文04-24

解析科技競賽賽務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)論文04-19

綜合布線系統(tǒng)設(shè)計(jì)項(xiàng)目教學(xué)模式應(yīng)用論文07-12

基于51單片機(jī)的路燈控制系統(tǒng)設(shè)計(jì)開題報(bào)告04-18

基于精準(zhǔn)教學(xué)的交互式微課開發(fā)以及設(shè)計(jì)論文07-12

基于項(xiàng)目教學(xué)的高職程序設(shè)計(jì)課程的教學(xué)評價(jià)論文07-12

主站蜘蛛池模板: 91原创视频| 日狠狠 | 欧美永久视频 | 欧洲无线码免费一区 | 色婷婷激情四射 | 亚洲成人黄网 | 亚洲黄在线观看 | 国产在线极品 | 欧美不卡一卡二卡三卡 | 最新成人在线 | 7799视频精品免费观 | 欧美 日本 国产 在线a∨观看 | 性无码免费一区二区三区在线网站 | 黄色99视频| 91精品免费视频 | 97超碰人人 | 日本黄色一级 | 国产精品欧美大片 | 午夜yy| 狠狠色婷婷狠狠狠亚洲综合 | 中文在线天堂资源 | 亚洲无线看| 久久久久国产精品一区三寸 | 精品一区heyzo在线播放 | 色网站综合| 午夜亚洲理论片在线观看 | 狠狠躁天天躁综合网 | 久久国产午夜精品理论片最新版本 | 国产亚洲精品久久久久妲己 | 欧美人与性禽动交精品 | 中文字幕在线不卡 | 日韩有码视频在线 | 99re6这里只有精品 | 最新日韩在线观看视频 | 欧美人妖69xxxxxhd3d| 国产igao激情视频入口 | 精品国产乱码久久久久久下载 | 一区二区三区四区在线播放 | 日美av| 女人裸体夜夜爽快 | 国产亚洲欧美日韩二三线 | 亚洲一区二区女搞男 | 国产精品呻吟声 | 久久精品国产欧美亚洲人人爽 | 日本亚洲欧美高清专区vr专区 | 伊人avav| 久久婷婷av | 热热色国产 | 婷婷丁香五 | 午夜久久视频 | 国产片一区二区三区 | 亚洲字幕成人中文在线电影网 | 午夜尤物禁止18点击进入 | 国产精品伦一区二区三区在线观看 | 日本高清视频在线观看 | 小12国产萝裸体视频福利 | 无码8090精品久久一区 | 一级片免费在线视频 | 久久一卡二卡三卡四卡 | 久久久手机看片 | 亚洲精品在线观看视频 | 四川丰满少妇被弄到高潮 | 午夜131美女爱做视频 | 久久欧美与黑人双交男男 | 欧美99久久精品乱码影视 | 粉嫩一区二区三区粉嫩视频 | 97se亚洲国产综合自在线 | 精品无码老熟妇magnet | 人妻激情偷乱视频一区二区三区 | 欧美性猛交久久久乱大交小说 | 久久网一区 | 可以在线观看的黄色 | 国产做a爰片久久毛片a片白丝 | 久久精品a亚洲国产v高清不卡 | 免费福利网站在线观看 | 亚洲欧洲无码一区二区三区 | 伊人久久婷婷色综合98网 | 国产女人在线 | 日韩精品人妻av一区二区三区 | 成人午夜大片 | 男人添女人下部高潮全过程 | 麻豆va一区二区三区久久浪 | 日本一区二区成人 | 97人妻人人揉人人躁人人 | 欧美日韩在线播放三区四区 | 香蕉大美女天天爱天天做 | 亚洲另类伦春色综合妖色成人网 | 日产电影一区二区三区 | www.色91| 日本公妇乱淫xxxⅹ 国产视频激情 | 久热国产vs视频在线观看 | 日本福利视频在线观看 | 国产一区二区三区免费高清在线播放 | 国产亚洲精品精华液 | 久久久橹橹橹久久久久手机版 | 欧美黑人精品一区二区不卡 | 国产精品一卡二卡三卡 | 在线播放国产精品 | 天堂网色 |