GD32替代STM32使用Cube MX的HAL库开发

目录

    • 一、STM32F103与GD32F103 差别比较
    • 二、GD32使用CubeMX配置
        • 1、配置单片机型号
        • 2、晶振配置
        • 3、其它配置
    • 三、GD32使用Keil配置
        • 1、更改型号为GD32芯片
        • 2、编译下载
    • 四、例程下载链接

一、STM32F103与GD32F103 差别比较

1、 “ 相同 ” 之处:
1)外围引脚Pin兼容,每个引脚上的复用功能也完全相同。
2)芯片内部寄存器、外部IP寄存器地址和逻辑地址完全相同,但是有些寄存器默认值不同,有些外设模块的设计时序上和STM32有差异,这点差异主要体现在软件上修改,详情见下文。
3)型号命名方式完全相同,所以替代只需找尾缀相同的型号即可,例如:STM32F103C8T6 与 GD32E103C8T6。
从上面的介绍中,我们可以看出,GD32F30/E103系列和STM32F103系列是兼容的,但也需要一些注意的地方。
2、 “ 不相同 ” 之处:
1)BOOT0必须接10K下拉或接GND,ST可悬空,这点很重要。
2)RC复位电路必须要有,否则MCU可能不能正常工作,ST的有时候可以不要。
3)有时候发现用仿真器连接不上。因为GD的swd接口驱动能力比ST弱,可以有如下几种方式解决:
① . 线尽可能短一些;
② . 降低SWD通讯速率;
③ . SWDIO接10k上拉,SWCLK接10k下拉。
④ . 使用电池供电等,注意GD的工作电压,例如跌落到2.0V~2.6V区间,ST还能工作,GD可能无法启动或工作异常。

二、GD32使用CubeMX配置

1、配置单片机型号

本文我们通过GD32F103RCT6单片机控制LED闪烁,因为F103系列的GD32与STM32芯片内部寄存器、外部IP寄存器地址和逻辑地址完全相同,所以我们对应的在 Cube MX 里面选择对应的STM32型号,如下所示。
GD32替代STM32使用Cube MX的HAL库开发_第1张图片

2、晶振配置

由于Cube MX使用的STM32的芯片所以最高只能配置为72M,所以这里就直接配置为72M即可。
GD32替代STM32使用Cube MX的HAL库开发_第2张图片

3、其它配置

引脚的模式 、默认电平状态 、及引脚上拉下拉状态等与STM32的配置方式基本相同

三、GD32使用Keil配置

1、更改型号为GD32芯片

通过下面方式选择对应GD32型号进行更改(注意:Keil要安装 GD32 的 pack 固件库下载链接: GD32固件库 )。
GD32替代STM32使用Cube MX的HAL库开发_第3张图片

2、编译下载

再对项目进行编译,然后使用JTAG下载或者使用编译生成的HEX文件进行烧录都是可以正常运行代码的。
GD32替代STM32使用Cube MX的HAL库开发_第4张图片

四、例程下载链接

LED闪烁例程—链接: https://download.csdn.net/download/qq_26043945/85115562.

你可能感兴趣的:(GD32单片机,stm32,单片机,c语言,arm,嵌入式硬件)