首页 > 其他 > 详细

移植 uC/OS-III 到 STM32

时间:2019-02-12 15:20:42      阅读:307      评论:0      收藏:0      [点我收藏+]

首先,打开 Micrium 公司官方网站(http://micrium.com/),点击“Downloads”选项卡进入下载页面,在“Brouse by MCU Manufacturer”栏目展开“STMicroelectronics”,单击“Viewall STMicroelectronics”。

由于在“Projects”栏目中选择一个基于 Keil MDK 平台在 cortex-M3 内核 MCU 评估板上测试的μC/OS-Ⅲ源码,单击即可。

技术分享图片

 

页面跳转后,点击“Download”按钮即可下载,下载前要登录该网站,未账户的注册后登录。

https://pan.baidu.com/s/1BEOTPg1BBHCncOJAmDYgrA   我自己上传到百度网盘的

选择一个STM32 开发板可用的裸机例程作为程序模板,这里准备了一个简单的“LED 流水灯”例程,

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

 

在该例程的“User”文件夹下建立下面几个文件夹

技术分享图片

拷贝下图路径下μ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”窗口,给工程添加包含路径。

技术分享图片

编译整个工程,有 1 个错误,这是由于工程没有使用μC/OS-Ⅲ源码中 STM32 的“stm32f10x_lib.h”总头文件,在这里使用裸机例程里已有的“stm32f10x.h”文件。

技术分享图片

技术分享图片

再 编 译 , 错 误 和 警 告 不 减 反 增 。 这 里 还 需 继 续 修 改 。 首 先 修 改 启 动 文 件“ 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 板载驱动代码,这里要改成自己的裸机板载驱动代码。“bsp.h”的修改如下:
修改一:

  把uCOS自带的STM32板载驱动文件改为自己的STM32裸机板载驱动程序

  技术分享图片

修改二:

技术分享图片

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

技术分享图片

  修改二:

技术分享图片

  修改三:

技术分享图片

接下来修改应用文件“app_cfg.h”和“app.c”。“app_cfg.h”的修改如下:

技术分享图片

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

技术分享图片

  修改二:

技术分享图片

  修改三:

技术分享图片

编译工程,没有错误和警告,下载程序到秉火 STM32-ISO 开发板,可以观察到 LED1 每隔 5 秒切换一次亮灭状态,移植成功。

 


 

 

 

 

移植 uC/OS-III 到 STM32

原文:https://www.cnblogs.com/tianxxl/p/10365135.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!