移植 uC/OS-III 到 STM32

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

可以选择自己的stm32型号进行下载,下载前要登录该网站

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

拷贝下图路径下 uC/OS-III 源码文件到“APP”文件夹下。

 

拷贝下图路径下 uC/OS-III 源码文件到“BSP”文件夹下。

 

将“User”文件夹下的“led”文件夹剪切到“BSP”文件夹里面,并且删除“main.c”文件。 

并对应添加全部文件, 以app为例,其他的不再演示:

全部文件添加之后,再添加路径:

接下来需要对工程文件进行修改。首先修改工程的启动文件“startup_stm32f429_439xx.s”。其中将PendSV_Handler 和 SysTick_Handler 分 别 改 为 OS_CPU_PendSVHandler 和 
OS_CPU_SysTickHandler,共两处。还有在复位时使能浮点支持。 

 修改三:

 bsp.h”和“bsp.c”文件使用的都是 uC/OS-III 源码的 STM32 板载驱动代码,这里要改成自己的裸机板载驱动代码。“bsp.h”的修改如下: 

接下来修改应用文件“app_cfg.h”和“app.c”。 在这里创建一个任务, 叫起始任务, 每
5 秒切换一次 LED1 的亮灭状态,以此来验证 uC/OS-III 系统是否移植成功。
app_cfg.h”的修改如下:

编译工程,没有错误和警告,下载程序正常运行,LED灯亮灭5s循环,移植成功。 

 

原文地址:https://www.cnblogs.com/yangguang-it/p/7261600.html