將 uC/OS III 移植到 STM32開發板

操作軟件平臺:Keil uVision5, Mac下的Windows10虛擬機

我用的是野火團隊的STM32F103VET6開發板,野火的淘寶店鋪:https://m.tb.cn/h.3pZzHil

OK!開始吧!

第一步: 安裝Keil uVision5  ,該軟件是由ARM公司提供,官網下載地址:http://www.keil.com/download/product/           ,這裏給大家提供以下鏈接含MDK/Keil軟件,F1/F4/F7芯片包及破解工具。該分享由網友提供,免去了大家從官網更新芯片包下載慢的麻煩,破解工具僅供學習交流使用,請支持正版。百度雲下載鏈接:http://pan.baidu.com/s/1bpc7Xmf

第二步: 下載uC/OSIII源碼, 官網地址:https://www.micrium.com/     ,點進download, 在Browse by MCU Manufacturer下面選STMicroelectronics, 點View all STMicroelectronics.

第三步:下載uC/OSIII例程, 這裏提供給大家一個簡單的LED流水燈例程,網盤下載鏈接:https://pan.baidu.com/s/1SbWjigi7V-KnuypTxtYofw          ,提取碼:2eee

在LED流水燈 >User下面新建一個APP文件夾 和一個BSP文件夾,

將Micrium源碼裏的Micrium>Software>EvalbBoards>Micrium>uC-Eval-STM32F107>uCOS-III裏的如下文件拷貝到APP文件夾中,

將Micrium源碼裏的Micrium>Software>EvalbBoards>Micrium>uC-Eval-STM32F107>BSP裏的bsp.c和bsp.h拷貝到BSP文件夾裏,

下一步將Micrium>Software>uC-CPU,uC-LIB,uCOS-III拷貝到LED流水燈>User目錄下,這三個文件下每個文件夾下都有兩個這樣的GNU,IAR文件是多餘的,由於Keil MDK僅使用到RealView編譯器,所以這兩個無關編譯器文件可以刪掉

然後將User文件夾下的led文件夾剪切到BSP文件夾裏面,並且刪除main.c文件.

第四步:用Keil打開工程文件,移除廢棄文件

第五步:給工程添加如下組件

爲APP添加\User\APP下的所有文件

爲BSP組件添加\User\BSP文件夾下所有文件和\User\BSP\led下的.c文件

爲uC/CPU組件添加\User\ uC-CPU文件夾下的所有文件和\User\ uC-CPU\ARM-Cortex-M3\ RealView文件夾下的所有文件

爲uC/LIB組件添加\User\ uC-LIB文件夾下的所有文件和\User\ uC-LIB\Ports\ARM-Cortex-M3\ RealView文件夾下的所有文件

爲uC/OS-III Source組件添加\User\ uCOS-III\ Source文件夾下的所有文件。

爲uC/OS-III Port組件添加\User\uCOS-III\Ports\ARM-Cortex-M3\Generic\RealView文件夾下的所有文件。

第六步:打開“Options for Target”窗口,給工程添加包含路徑

第七步:編譯項目, 發現有兩個錯誤, 別慌!

第八步:修改:

將<stm32f10x_lib.h>改成<stm32f10x.h>

在startup_stm32f10x_hd.s中做如下兩處修改

在cpu_cfg.h中的修改CPU_CFG_TS_32_EN,將其改爲使能.

同樣在cpu_cfg.h中,

在bsp.h中修改如下頭文件,

同樣bsp.h中頭文件段落以下代碼全部刪掉,只保留兩個函數原型聲明刪完是這樣的

在bsp.c中刪掉如下兩個驅動函數,並修改初始化函數.

同時在bsp.c中做以下修改,

在app_cfg.h中,將APP_CFG_SERIAL_EN改爲DEF_DISABLED

在app.c中,刪除BSP_InitDisAll();

並在起始任務函數中修改控制LED亮滅的函數

app.c中如下這兩個函數聲明及其函數體都刪掉,因爲這兩個函數的函數體是空的,且這兩個函數沒有被使用,

然後編譯就沒有錯誤啦!

秉火的STM32開發板用的USB轉串口的驅動芯片是CH340,你可以直接去野火的論壇去下載,你要是懶,emmmm點這裏吧(https://pan.baidu.com/s/1VBvrXh2uv3dt31jINSuYyw 密碼:m2pr) ,連接板子,給開發板上電.   

第九步:

然後打開 mcuisp 軟件,配置如下:

1搜索串口,設置波特率 115200(儘量不要設置的太高) 

2選擇要下載的 HEX 文件

3校驗、編程後執行

4DTR 低電平復位,RTS 高電平進入 bootloader

5開始編程。(如果出現一直連接的情況,按一下開發板的復位鍵即可)

這就是一個簡單的能在STM32開發板上面跑起來的例程, 接下來你就可以發揮你的想象力和編碼能力啦, 想做什麼就自己動手吧!!

更多問題請訪問野火🔥的論壇www.fireBBS.cn

(本篇文章參考野火教程資料,如侵聯)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章