Ⅰ、概述
該文寫針對(duì)初學(xué)μC/OS的朋友,基于以下平臺(tái)來(lái)一步一步移植μC/OS嵌入式操作系統(tǒng)。UCOS移植相關(guān)平臺(tái):
系統(tǒng)平臺(tái):μC/OS-II(最新V2.92版)
硬件平臺(tái):STM32F1(適合F1所以系列)
開發(fā)平臺(tái):Keil(MDK-ARM) V5
1.為什么是μC/OS-II?
原因在于μC/OS-II是一個(gè)比較成熟、穩(wěn)定的系統(tǒng),與μC/OS-III比較有些機(jī)制相對(duì)簡(jiǎn)單很多。當(dāng)你掌握了μC/OS-II,μC/OS-III很容易就理解了。
2.為什么是STM32F1?
硬件平臺(tái)是在移植的過程中比較重要的一點(diǎn),也就是說(shuō),不同的硬件平臺(tái),移植過程中的端口(uCOS-II\Ports下源文件)存在一定的差異性。
但是同一內(nèi)核的芯片,在系統(tǒng)移植的過程中基本上類似,也就是說(shuō),你掌握這一種內(nèi)核(如:Cortex-M3),你移植相關(guān)的芯片就很容易了。
還有就是,你掌握了移植的原理,不管在什么芯片上移植你都會(huì)覺得不是那么難,筆者在51、430、ST等眾多芯片上移植過μC/OS,問題都不是很大,只要用心,相信都會(huì)沒問題。
3.為什么是MDK-ARMV5?
這里沒什么好說(shuō)的,個(gè)人愛好,喜歡使用最新的開發(fā)平臺(tái)。其他平臺(tái)(如:IAR)與系統(tǒng)軟件關(guān)聯(lián)性不是很大,你也可以試著用其他平臺(tái)進(jìn)行移植。
筆者將“UCOS移植詳細(xì)過程”分為多篇文章來(lái)講述,敬請(qǐng)關(guān)注。
關(guān)于本文的詳情請(qǐng)往下看(微信請(qǐng)點(diǎn)擊“閱讀原文”查看內(nèi)容鏈接內(nèi)容)。
本著免費(fèi)分享的原則,方便大家手機(jī)學(xué)習(xí)知識(shí),定期在微信平臺(tái)分享技術(shù)知識(shí)。如果你覺得分享的內(nèi)容對(duì)你有用,又想了解更多相關(guān)的文章,請(qǐng)用微信搜索“EmbeddDeveloper”或者掃描下面二維碼、關(guān)注,將有更多精彩內(nèi)容等著你。
Ⅱ、關(guān)于μC/OS
μC/OS-II是Micrium公司開發(fā)的一套嵌入式實(shí)時(shí)操作系統(tǒng),應(yīng)用非常廣泛(工業(yè)、醫(yī)療、航天等)。μC/OS-II具有裁剪性(配置資源多少)和高度的移植性,所以很受嵌入式開發(fā)工程師的追捧。
μC/OS總共有三大版本(μCOS、μCOS-II和μCOS-III),這三個(gè)版本也存在很多差異,該文主要針對(duì)初學(xué)者,因此圍繞μC/OS-II來(lái)講解。它們之間的差異對(duì)比可以參看相關(guān)文檔(uCOS-III用戶指導(dǎo)手冊(cè))。
https://yunpan.cn/cRU7gefa6gcma訪問密碼 8c7d
Ⅲ、準(zhǔn)備工作
1.μC/OS軟件工程包下載
μC/OS-II可以在Micrium官網(wǎng)下載(需要賬號(hào)),也可以到我360云盤下載。
Micrium官網(wǎng)下載地址(需要賬號(hào)):
https://www.micrium.com/download/micrium_stm32f107_ucos-ii
我360云盤下載地址(定期更新):
https://yunpan.cn/cRzcf8eSacEhE訪問密碼 1235
Micrium官網(wǎng)下載流程圖:
2.ST標(biāo)準(zhǔn)外設(shè)庫(kù)
Micrium官網(wǎng)下載的軟件是使用比較老的ST標(biāo)準(zhǔn)外設(shè)庫(kù),這里我們下載最新的外設(shè)庫(kù)。
ST官網(wǎng)下載地址(需要賬號(hào)):
http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software.html?querycriteria=productId=SC961
我360云盤下載地址(定期更新):
https://yunpan.cn/cSaCpGejMSfr8訪問密碼 60ae
ST官網(wǎng)下載流程圖:
3.MDK-ARM下載與安裝
該環(huán)節(jié)我在我的其他文章中已經(jīng)詳細(xì)講述過,請(qǐng)參考我的另外一篇文章:
http://blog.csdn.net/ybhuangfugui/article/details/51647893
Keil官網(wǎng)下載地址(需要賬號(hào)):
https://www.keil.com/demo/eval/arm.htm
我360云盤下載地址(定期更新):
https://yunpan.cn/cPYaeY23RSsbb訪問密碼 9aba
Ⅳ、移植過程(文件描述與提取)
1.軟件工程文件夾描述
從Micrium官網(wǎng)下載的軟件工程包解壓之后會(huì)發(fā)現(xiàn)里面有許多源程序文件,其實(shí)對(duì)于初學(xué)者來(lái)說(shuō),里面有很多文件都不會(huì)使用的。這里我們以下載的軟件包“Micrium_uC-Eval-STM32F107_uCOS-II.zip”解壓來(lái)說(shuō)明一下里面的文件。
EvalBoards:評(píng)估(開發(fā))板相關(guān)文件;主要是配置底層和系統(tǒng),我們會(huì)提取部分有效文件。
uC-CPU:CPU相關(guān)文件;我們使用ST標(biāo)準(zhǔn)外設(shè)庫(kù)配置一些模塊,不使用該文件夾下文件。
uC-LIB:這個(gè)是Micrium官方的庫(kù),初學(xué)者這里也不使用。
uCOS-II:這個(gè)文件夾才是關(guān)鍵,我們移植的內(nèi)容基本上就是這里的文件。
2.提取工程中有用的文件
我們主要提取EvalBoards和uCOS-II下文件。
app_cfg.h是應(yīng)用配置的文件(如:任務(wù)優(yōu)先級(jí)、堆棧大小等)。
os_cfg.h是系統(tǒng)配置的文件(使能相應(yīng)功能函數(shù),也就是所謂的裁剪系統(tǒng))。
將這兩個(gè)文件提取至我們自己新建工程app文件夾下。
Ports是與系統(tǒng)息息相關(guān)的端口配置文件。
Source這個(gè)不用說(shuō)了,就是OS全部文件。
拷貝整個(gè)uCOS-II文件夾(里面)到我們工程。
3.提取ST標(biāo)準(zhǔn)外設(shè)庫(kù)有用的文件
Micrium官網(wǎng)下載的軟件工程包也是使用標(biāo)準(zhǔn)外設(shè)庫(kù)建立的工程,但那是老版本的標(biāo)準(zhǔn)外設(shè)庫(kù),因此,我們需要使用ST官網(wǎng)最新的標(biāo)準(zhǔn)外設(shè)庫(kù)。
提取的文件過程我不在描述,最后我會(huì)提供下載鏈接供大家下載。
4.整合提取的文件
Micrium官網(wǎng)下載的文件 + ST下載標(biāo)準(zhǔn)外設(shè)庫(kù) + 提取整合
= UCOS2_STM32F1_ProjectTemplate(提取文件),如下圖:
可以在我360云盤下載整合提取的文件:
https://yunpan.cn/cRz7TxwWex9Wc訪問密碼 70f4
Ⅴ、移植過程(新建工程及文件)
1.新建工程
新建Keil軟件工程及其工程的配置這里就不在多說(shuō),可以參考我的另外一篇文章:
http://blog.csdn.net/ybhuangfugui/article/details/51510482
配置的時(shí)候需要將uCOS-II下的文件添加到工程,同時(shí)也需要將他們的路徑配置好。
如下動(dòng)畫:
2.新建、修改文件
工程建好之后,還需要新建一些文件(main.c、 bsp.c、 bsp.h、 app_cfg.c、 app_task.c、 app_task.h等)。同時(shí),還需要修改某些文件,修改的這些文件是移植過程的重點(diǎn),我將在下一篇文章進(jìn)行總結(jié)。
我將新建好的工程和源代碼整理打包供大家下載(注意:沒有修改源代碼,暫時(shí)編譯通不過)。
360云盤下載(新建工程、文件):
https://yunpan.cn/cRpHh6CTYQavV訪問密碼 cc34
Ⅵ、說(shuō)明
當(dāng)你掌握UCOS在一種平臺(tái)上的移植,其他平臺(tái)移植原理類似,請(qǐng)不要局限某一平臺(tái)。
以上總結(jié)僅供參考,若有不對(duì)之處,敬請(qǐng)諒解。
-
STM32
+關(guān)注
關(guān)注
2270文章
10900瀏覽量
356046 -
移植
+關(guān)注
關(guān)注
1文章
379瀏覽量
28134 -
嵌入式操作系統(tǒng)
+關(guān)注
關(guān)注
1文章
118瀏覽量
31526 -
ucos2
+關(guān)注
關(guān)注
0文章
15瀏覽量
3558
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論