一、前言
入门STM32嵌入式开发,STM32F103估计是大家的首选。当年我自学STM32嵌入式开发时,使用的就是正点原子的STM32F103战舰板子。STM32F103使用的是Cortex-M3架构,相比STM32F407(Cortex-M4)与STM32H743(Cortex-M7)来说较为简单,所以STM32F103更适合入门。
本博文介绍如何在STM32F103上完成RTX5的移植。
我使用的Keil版本:

一定要使用最新的CMSIS软件包。下载地址:https://www.keil.com/dd2/pack/

STM32工程:
链接:https://pan.baidu.com/s/1aj8QNfx3pXIHifKaLuhR4g
提取码:w6ts
二、CubeMX
2.1、RCC与Clock Configuration


2.2、SYS

2.3、GPIO

2.4、Project Manager
生成代码。


三、Keil
3.1、Target
- ARM Compiler选择V5与V6.14都可以,因为V5都快要淘汰了,所以选择V6.14。
- Use MicroLIB一定要勾选。

3.2、Output

3.3、C/C++(AC6)

3.4、Debug

接着,编译一下工程。

3.5、裸机模板代码(main.c)
移植RTX5之前,先准备能正常闪烁LED的工程。

编译,烧写代码,观察LED灯正在闪烁。

3.6、开始移植RTX5

点击OK后,返回Keil的工程文件可以看到多了一个CMSIS的图标,里面就是RTX5源码。

3.7、隔离Device上的文件


完成隔离后,点击编译代码就会出现三个错误信息,以下三个函数被重复定义:
- PendSV_Handler
- SysTick_Handler
- SVC_Handler

在stm32f1xx_it.c里备注掉刚才说重复定义的三个函数。值得注意的是,这三个函数在每一次使用STM32CubeMX生成工程后,需要再一次重新备注。

编译代码,0错误,0警告!!!!

四、代码
4.1、main.h

4.2、main.c



编译,烧写代码
五、DEBUG
5.1、RTX RTOS
打开RTX ROTS调试窗口

在RTX RTOS调试窗口,能看到两个线程。LED灯也在闪烁,RTX5移植成功!

5.2、通过CubeMX的NVIC屏蔽掉HAL库与RTX5冲突的中断函数

这样可以省去每一次通过CubeMX重新生成代码后,都要去屏蔽那三个全局中断函数。
本文详细介绍STM32F103上RTX5实时操作系统的移植过程,包括环境搭建、代码配置及调试步骤,适合初学者快速上手。
1196

被折叠的 条评论
为什么被折叠?



