GD32F470 移植STM32F429工程 Keil调试笔记

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 的位宽通讯
在这里插入图片描述

三、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无法初始化》

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
gd32f470stm32f407是两款由不同公司生产的微控制器芯片。移植是指将原本为一种平台设计的软件或硬件系统成功转移到另一种平台上运行的过程。以下是关于将gd32f470stm32f407进行移植替换的一些要点: 1. 芯片架构:gd32f470stm32f407虽然都是基于ARM Cortex-M4内核,但芯片的架构可能存在一些差异。移植过程中,需要了解芯片的寄存器映射、外设配置等信息,并对原有的代码进行相应修改。 2. 外设接口:gd32f470stm32f407可能在外设接口上存在一些差异。例如,它们的GPIO接口可能存在差异,寄存器映射可能不同。移植过程中,需要对外设配置进行适当修改,确保移植后的代码可以正确地与外设进行通信。 3. 中断处理:gd32f470stm32f407的中断控制器可能有所不同。在移植过程中,需要针对不同的中断控制器进行相应的修改,以确保中断的正常触发和处理。 4. 系统时钟:gd32f470stm32f407的时钟配置可能存在差异。需要根据实际情况修改时钟配置,以确保移植后的系统可以正常工作。 5. 软件库和驱动程序:gd32f470stm32f407可能使用不同的软件库和驱动程序。在进行移植时,需要替换原有的软件库和驱动程序,确保其与gd32f470芯片的特性和功能兼容。 总结而言,移植gd32f470stm32f407需要对芯片的架构、外设接口、中断处理、系统时钟、软件库和驱动程序等进行适当的修改和替换。通过仔细分析和调整,可以成功将原本为stm32f407设计的软件或硬件系统移植gd32f470平台上运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值