一、前言
入门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移植成功!