将uC/OS-III移植到CubeMX生成的HAL库工程中

本文介绍了将uC/OS-III操作系统移植到STM32CubeMX生成的HAL库工程的过程,详细阐述了移植步骤,包括移植准备、文件添加和编译路径设置、库函数修改等,并在测试后确认移植成功。然而,面临的问题是当CubeMX更新代码时,需要重新进行移植工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1#前言

  毕设需要将uC/OS-III移植到stm32的板子上。目前国内大多数教程都是将uC/OS-III移植到ST 3.5.0库上的,没有讲如何移植到CubeMX生成的HAL库工程中的。主要原因可能是CubeMX每次生成代码时,都会将一部分用户修改的代码再修改回去,需要重新修改,比较麻烦。但鉴于CubeMX生成配置源代码极为方便,且不容易出错,一些HAL函数也比较好用。因此有必要将uC/OS-III移植到CubeMX生成的HAL库工程中。

  我的开发环境:stm32f103ret6 + Keil5 + CubeMX + uC/OS-III源码(从Micrium下载的F107的例程)


2#移植准备

  由于本人水平有限,还不知道怎么移植系统能够使得CubeMX更新代码时,可以不用重新修改代码。因此尽量一口气将想要配置好的配置好。
  生成代码工程格式选”MDK5”,最好勾选那个“每个外设都独立生成.c和.h”的选项,这样比较干净。


3#移植

  移植大部分操作可以参考野火那本书里面(书名叫《uCOS-III 应用开发指南—基于 STM32F103系列》,云盘:云盘下载),个人建议先照着那本书做一遍,先在ST 3.5.0 的库上移植成功,顺手学一下怎么用,再接着做我这里。好,现在假定你已经照着那本书移植一遍了,那么要做的事情有:
  ①请再不厌其烦的添加文件、添加编译路径(你就可以把之前移植时修改好的文件复制过来,大部分内容不用再次修改)

  ②请把BSP_Init函数里面的内容删了,我们用新的。另外,bsp_led这些文件都不用了,你们懂得。

  ③修改所选用的库函数:因为使用的不再是ST 3.5.0的库,因此原来的stm32f10x.h头文件换成stm32f1xx_hal.h(bsp.h里有一处,includes.h里有一处,共两处),如果不改的话,一些中断号会被重复定义。
  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值