GD32使用HAL库(CubeMX生成代码)编程(直接替换同型号STM32替换)

GD32直接使用HAL库(CubeMX生成代码)编程

本文章参考以下文章:

无。

一、使用背景

由于最近芯片价格高涨,STM32出现高价格与缺货的囧况。

https://baijiahao.baidu.com/s?id=1709133215644206348&wfr=spider&for=pc

与此同时,在各个设备上的国产化需求也日益旺盛。
以往较多的低端设备上,或者定制化嵌入式设备中都采用的意法半导体公司的STM32芯片作为主控制器,但由于受到上述两点的影响,设备采用国产化芯片成了主要解决方案。
在这里插入图片描述

二、芯片选型

为了加快项目进度,或原有程序移植,建议使用与STM32 Pin-Pin对应的国产芯片。
本次实验挑选了GD32F103RCT6直接替换STM32F103RCT6,这个型号的GD32是与STM32差距最小的(外部封装、内部寄存器)。
关于STM32与GD32的差异,有兴趣的可以去查查。

三、CubeMx程序生成

根据个人的工程或者项目自定义创建CubeMX的工程(使用对于的STM32的型好),并生成代码。
采用GD32F103RCT6与GD32F103VET6,已经完成以下外设的实验:

  1. IO控制
  2. 看门狗
  3. DMA
  4. 时钟分配(GD32理论可以跑108M,STM32最多72M,属于向下兼容)
  5. ADC(PWM触发的DMA方式)与DAC(阻塞)
  6. 定时器1、2、3、4、5,在使用FreeRTOS时,往后的定时器作为sysTick出现过问题,初始化不通过,目前还没有深究这部分是GD32的定时器与STM32不兼容,还是FreeRTOS的问题,建议采用前面部分的定时器做sysTick。
  7. RTC功能
  8. 串口(空闲中断的DMA接收,发送,1.8.4版本HAL库直接有空闲中断接收)
  9. CAN(貌似不能与USB同时使用,共享一个RAM地址,GD32的CAN功能不能使用1.8.4版本)
  10. FreeRTOS(直接使用CubeMX生成)
  11. 内部Flash读写(低速)

以上实验不需要去更改任何一个参数或增加延时,适用于1.8.31.8.4版本。
在这里插入图片描述

四、Keil修改项

目前GD32唯一与STM32使用不同的地方,之前的开发都与STM32一致。
  1. 修改器件型号,修改为对应的GD32的型号,(找不到器件型号,需要去兆易创新官网下载)

CSDN链接:
https://download.csdn.net/download/qq_40824852/72547805

官网下载链接:
GD32固件包
找到对应的.pack文件直接安装即可。
这一步骤是保证固件对应GD32。

在这里插入图片描述
在这里插入图片描述
修改型号后,再次使用CubeMX生成代码后,会出现以下情况,重新选择正确的GD32型号即可。
在这里插入图片描述
2. 修改下载相关的设置(不使用keil附带的下载设置,不用管这部分)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
最后点击确认即可.

  1. 正常编译工程,并下载程序至芯片,程序就可以正常运行了!
除GD32F103系列外的芯片,可能不适用上述操作。

五、总结

GD32替换STM32只需一步!

  • 20
    点赞
  • 122
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhuzhu、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值