keil版本:5.25
安装
GigaDevice.GD32F4xx_DFP.3.0.4.pack
Keil.STM32F4xx_DFP.2.15.0.pack
一、GD32F470 与 STM32F429 切换编译
1、原项目为STM32F429 工程,切换到GD32F470 只需在 Options for Target"“对话框的Device菜单中选中“GD32F470II”,重新编译即可,一般不会有编译错误。
2、将项目工程在切换回STM32F429,在 Options for Target”"对话框的Device菜单中选中“GD32F29IITx”,重新编译即可,但这样会显示编译错误,如图:
空间不够报警。
解决:STM332F429 IRAM1、IRAM2 都要勾选
GD32F470 只有 IRAM1
3、有时将项目工程再次切换回GD32F470时,会报错如下图:
这个错误一直没找到原因,我是重装了keil之后才解决。
二、ST FSMC 移植到GD EXMC
ST的 FSMC PSRAM 支持8bit、16bit、32bit的位宽通讯
GD的EXMC PSRAM 只支持8bit、16bit 的位宽通讯文章来源:https://uudwc.com/A/jAbA9
三、CAN初始化卡死在 Error_Handler();
解决:更改stm32f4xx_hal_can.c中
HAL_StatusTypeDef HAL_CAN_Init(CAN_HandleTypeDef *hcan) 函数
移动 CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);函数位置
详见:GD32替换STM32遇到的坑之《HAL库CAN无法初始化》文章来源地址https://uudwc.com/A/jAbA9