一、移植到STM32G473RC准备工作. u! c7 j! k' a4 I% X 1.1、Keil版本支持STM32 G系列* D5 q6 u$ G: I& T* s : `# B+ U# f: g. v2 |: Y" d 1.2 Keil下找到G系列文件并下载安装) I1 j- D, y2 q2 T3 a) q # [# R; u$ Z% Z3 i6 S3 ` . _3 _5 v! W9 L) }5 ?' m6 _# [; x # o4 H1 F5 ]4 Y2 w9 r 1.3 安装成功% T" M) o! i' E) R% q% @# O % z7 Q; m* P) B 1.4 Keil版本过低,不支持新的DFP包造成的错误。(重新安装新版本即可,我尝试了MDK529.exe) 4 W" y, c$ V" U5 V& U% i $ J8 @4 |& [( \' I7 _ 二、移植' _( o- J- k' t4 ], u8 B" e 2.1 安装STM32CubeMX,目前ST官方主推。$ }4 J9 T& q) @& _, D9 } 2.2 官方下载库文件(STM32G系列不再有std库,只有hal库)5 Y$ k1 j, S/ Y) G8 ~ + z% i# f( b' g# j5 R& \) @ " @% [/ D5 c' Y- M) b 2.3 导入库文件,打开STM32CubeMX,点击Help -> Manage embedded software packages 。 % p$ p3 M$ ~' a. z: g$ _ 我这里是添加本地packages,即通过3.2已经有下载了hal库。* A0 X* |6 \. _, `7 ]; d+ Q \! M/ n G+ k _* E) D% l 7 o; X5 D @4 ]# H9 |" I" f6 a3 i 2.4 选择IC,然后在Middleware下选择FREERTOS,版本10.2.1,接口选择CMSIS_V2(V2与V1的区别可以参考百度其他文档)。 2.5 SYS下的Timebase Source选择TIMI1,否则生成code是会有警告提示,与FreeRTOSg3 _: R( P. ?8 z HAL使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源,否则会有冲突。) p0 t5 X/ d0 C% ^ 3 C. [ K6 O" L, |; M7 A+ X9 w SYS Timebase选择Tim1 & |& I8 v/ @, [/ F. o 2.6 选择MDK-ARM, 点击GENERATE CODE,生成工程。 : q( u; j% @7 Q s }! w1 x3 u! y1 R9 S* [ d8 f 点击生成:$ u A' _+ h1 e- J 6 z' b7 B- G2 x1 j1 q; ? 2.7 打开MDK工程,编译。( @* @) {1 Q- J" d% b" |+ n# J" N 三、源码下载(不使用STM32CubeMX移植的需要自行下载源码)2 W, h, a" o2 T+ c+ A* p 1、虽然FreeRTOS官方最新版本为 FreeRTOSv10.3.1.zip, 但手头项目还是决定基于V9.0开始。目前官方下载路径已经迁移的Githu: N( i8 |1 S7 o% V- O8 B2 |7 E! \ ( k$ i: z* u! H4 Z 2、GIthub下载旧版本 (无需登录,游客下载)3 B9 w% |4 p. I! b3 j : h+ R3 T4 v( ~. U0 E+ W& ^ 7 Y$ m3 Q0 N2 J: l4 p / q6 \4 P3 l( u- t . | c# j/ p1 l% V : T! m; Y4 Q. m v & g: H. I0 Z% g* M6 Y& n |
STM32固件库分享,超全系列整理
【经验分享】STM32G4_CORDIC与定点带符号整数数据格式
STM32的CAN FD位定时设置注意事项
基于STM32G474 中 Triggered-half 模式的实现
基于STM32G4的数字控制 15kW双向PFC
基于STM32G431简介
今天14:00 | 基于STM32的MATLAB电机控制方案直播
基于STM32G474外红外接收经验分享
STM32G431RBT6之Key模块入门
STM32G431RBT6--LED模块入门