开发环境stm32f103zet6 + Keil5 + CubeMX + uC/OS-III源码(从Micrium下载的F107的例程)
根据uCOS-III STM32F103.pdf下载并修改UCOSIII程序代码,或修改文件夹Micrium_uC-Eval-STM32F107_uCOS-III中的代码,或直接使用本工程中UCOSIII文件夹中的代码。
使用本工程中UCOSIII文件夹里代码的移植步骤如下:
1. 根据需要,使用CubeMX配置并生成MDK5工程。
2. 修改启动文件startup_stm32f103xe.s中第91、92行修改为
以及207行
以及stm32f1xx_it文件中第179行函数名改为
OS_CPU_SysTickHandler(void)
此时改动的只是中断名称,不影响系统的正常运行。
3. 将UCOSIII文件夹复制到项目文件夹中,并在工程中添加对应的group。
4. 将stm32f1xx_it文件中第179行函数OS_CPU_SysTickHandler(void)中的
复制到OS_CPU_C.C中的OS_CPU_SysTickHandler(void)中。
5. 之后可以注释掉stm32f1xx_it文件中的
void PendSV_Handler(void)
//和
void OS_CPU_SysTickHandler(void)
两个函数。
此时stm32f1xx_it中OS_CPU_SysTickHandler(void)的功能已经由OS_CPU_C.C中的同名函数代替。
6. 将main函数中所有与初始化有关的函数转移到bsp.c(板级支持包,包含与硬件有关的函数)中。
7. 删除或注释掉main.c中的main()函数。
8. 在app.c(用户代码)中编写用户程序,此时main.c已经被掏空。
参考链接:https://blog.csdn.net/lingsuifenfei123/article/details/66972711