一、移植到STM32G473RC准备工作
1.1、Keil版本支持STM32 G系列
1.2 MDK5 Software Packs Keil下找到G系列文件并下载安装
1.3 安装成功
1.4 Keil版本过低,不支持新的DFP包造成的错误。(重新安装新版本即可,我尝试了MDK529.exe)
二、移植
2.1 安装STM32CubeMX,目前ST官方主推,官方下载:STM32CubeMX - STM32Cube initialization code generator - STMicroelectronics
2.2 官方下载库文件(STM32G系列不再有std库,只有hal库)
2.3 导入库文件,打开STM32CubeMX,点击Help -> Manage embedded software packages 。
我这里是添加本地packages,即通过3.2已经有下载了hal库。
2.4 选择IC,然后在Middleware下选择FREERTOS,版本10.2.1,接口选择CMSIS_V2(V2与V1的区别可以参考百度其他文档)。
2.5 SYS下的Timebase Source选择TIMI1,否则生成code是会有警告提示,与FreeRTOSg
HAL使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源,否则会有冲突。
SYS Timebase选择Tim1
2.6 选择MDK-ARM, 点击GENERATE CODE,生成工程。
点击生成:
2.7 打开MDK工程,编译。
三、源码下载(不使用STM32CubeMX移植的需要自行下载源码)
1、虽然FreeRTOS官方最新版本为 FreeRTOSv10.3.1.zip, 但手头项目还是决定基于V9.0开始。目前官方下载路径已经迁移的Github,下载方式参考如下: FreeRTOS - Free RTOS Source Code Downloads, the official FreeRTOS zip file release download
2、GIthub下载旧版本 (无需登录,游客下载)