移植 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循环,移植成功。
欢迎加入作者的小圈子
扫描下方左边二维码加入QQ交流群,扫描下方右边二维码关注个人微信公众号并获取更多隐藏干货,QQ交流群:816747642 微信公众号:Crystal软件学堂
![](https://images.cnblogs.com/cnblogs_com/yangguang-it/1907263/o_201227061707QQ20201227141844.png)
![](https://images.cnblogs.com/cnblogs_com/yangguang-it/1704156/o_200415115115qrcode_for_gh_5c7d1da35871_258.jpg)
作者:Crystal软件学堂 bilibili视频教程地址:https://space.bilibili.com/5782182 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在转载文章页面给出原文连接。 如果你觉得文章对你有所帮助,烦请点个推荐,你的支持是我更文的动力。 文中若有错误,请您务必指出,感谢给予我建议并让我提高的你。 |