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

您所在的位置:网站首页 hal库怎么下载 GD32使用HAL库(CubeMX生成代码)编程(直接替换同型号STM32替换)

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

2024-07-14 21:30| 来源: 网络整理| 查看: 265

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

本文章参考以下文章:

无。

文章结构: GD32直接使用HAL库(CubeMX生成代码)编程 一、使用背景二、芯片选型三、CubeMx程序生成四、Keil修改项五、总结

一、使用背景

由于最近芯片价格高涨,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,已经完成以下外设的实验:

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

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

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

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

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

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

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

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

GD32替换STM32只需一步!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3