一、 主控芯片选型
为满足一定的可拓展性:
MiniFly采用的F411CEU6:👇
选型采用的F405RGT6:👆
主频 内核 Flash Ram 封装 通用IO 16TIM 32TIM 电机TIM 3ADC16CH 12DA SPI IIS IIC 串口 CAN FSMC 全速USB 高速USB TRNG
二、需要做些什么
由于MiniFly工程庞大,并且并未采用很多HAL库函数
因此在移植F411到F405上时 需要更改:
(更换系统文件 这些是在sys.h里面定义了的)(更改时钟配置 HAL SysTIcks FreeRTOS的统一)
(目前在F411源码基础上感觉修改启动文件和 PA9 PA10什么的会有隐藏的一大堆没修改到 或者 埋的坑)
(两个解决方案:
- 用一个F405的Temple进行移植 同样需要一个一个调试串口 IIC 等外设 好处是库函数可以沿用 坏处是标准库函数已经不更新了 官方现在只更新HAL库(可以参考STM32F429 FreeRTOS开发手册_V1.2
- 在Cube上生成F405 FreeRTOS系统进行移植 同样一个个调试外设 库函数应该也可以沿用 坏处是文件结构和不太相似 需要进行Goto 然后添加文件 以及 需要进行HAL库的学习
综上所述 决定在Cube上进行移植与开发
)
- 系统时钟配置
- SysTick与FreeRTOS系统时钟配置
- 各PWM与定时器配置 光改PA9 PA10是不行的 因为PA9,PA10对应着的是寄存器地址,这是不同的
- ADC配置
- IIC配置
-
FLASH配置等初始化配置
三、当前任务
进行Cube系统开发的学习
需要明白:
- 怎么利用Cube进行FreeRTOS系统的开发
- SysTick HAL FreeRTOS之间的关系 以及如何在Cube上进行配置
- 在FreeRTOS系统上进行任务创建并调试串口