日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

移植 uC/OS-III 到 STM32

發(fā)布時(shí)間:2023/12/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 移植 uC/OS-III 到 STM32 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

首先,打開 Micrium 公司官方網(wǎng)站(http://micrium.com/),點(diǎn)擊“Downloads”選項(xiàng)卡進(jìn)入下載頁面,在“Brouse by MCU Manufacturer”欄目展開“STMicroelectronics”,單擊“Viewall STMicroelectronics”。

由于在“Projects”欄目中選擇一個(gè)基于 Keil MDK 平臺(tái)在 cortex-M3 內(nèi)核 MCU 評估板上測試的μC/OS-Ⅲ源碼,單擊即可。

?

頁面跳轉(zhuǎn)后,點(diǎn)擊“Download”按鈕即可下載,下載前要登錄該網(wǎng)站,未賬戶的注冊后登錄。

https://pan.baidu.com/s/1BEOTPg1BBHCncOJAmDYgrA? ?我自己上傳到百度網(wǎng)盤的

選擇一個(gè)STM32 開發(fā)板可用的裸機(jī)例程作為程序模板,這里準(zhǔn)備了一個(gè)簡單的“LED 流水燈”例程,

https://pan.baidu.com/s/1hRXh-OGDUXWy80k0MC8MOA

?

在該例程的“User”文件夾下建立下面幾個(gè)文件夾

拷貝下圖路徑下μC/OS-Ⅲ源碼文件到“APP”文件夾下。

拷貝下圖路徑下μC/OS-Ⅲ源碼文件到“BSP”文件夾下

拷貝下圖路徑下μC/OS-Ⅲ源碼文件到“uC-CPU”文件夾下。

拷貝下圖路徑下μC/OS-Ⅲ源碼文件到“uC-LIB”文件夾下。

拷貝下圖路徑下μC/OS-Ⅲ源碼文件到“uCOS-III”文件夾下。

將“User”文件夾下的“led”文件夾剪切到“BSP”文件夾里面,并且刪除“main.c”文件。

打開工程,首先移除廢棄的文件。

給工程增加下面的組件。

?

為“APP”組件添加“\User\APP”文件夾下的所有文件。

為“APP”組件添加“\User\BSP”文件夾下的所有文件和“\User\BSP\led”文件夾下的源文件。

為“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”窗口,給工程添加包含路徑。

編譯整個(gè)工程,有 1 個(gè)錯(cuò)誤,這是由于工程沒有使用μC/OS-Ⅲ源碼中 STM32 的“stm32f10x_lib.h”總頭文件,在這里使用裸機(jī)例程里已有的“stm32f10x.h”文件。

再 編 譯 , 錯(cuò) 誤 和 警 告 不 減 反 增 。 這 里 還 需 繼 續(xù) 修 改 。 首 先 修 改 啟 動(dòng) 文 件“ startup_stm32f10x_hd.s ”, 將 PendSV_Handler SysTick_Handler 分 別 改 為OS_CPU_PendSVHandler OS_CPU_SysTickHandler,共兩處。?

cpu_cfg.h”的修改如下:
修改一:

修改二:

bsp.h”和“bsp.c”文件使用的都是 uC/OS-III 源碼的 STM32 板載驅(qū)動(dòng)代碼,這里要改成自己的裸機(jī)板載驅(qū)動(dòng)代碼。“bsp.h”的修改如下:
修改一:

  把uCOS自帶的STM32板載驅(qū)動(dòng)文件改為自己的STM32裸機(jī)板載驅(qū)動(dòng)程序

  

修改二:

bsp.c”的修改如下:
  修改一:

  修改二:

  修改三:

接下來修改應(yīng)用文件“app_cfg.h”和“app.c”。“app_cfg.h”的修改如下:

app.c”的修改如下:
  修改一:

  修改二:

  修改三:

編譯工程,沒有錯(cuò)誤和警告,下載程序到秉火 STM32-ISO 開發(fā)板,可以觀察到 LED1 每隔 5 秒切換一次亮滅狀態(tài),移植成功。

?


?

?

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/tianxxl/p/10365135.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的移植 uC/OS-III 到 STM32的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。