GD32单片机和STM32单片机的区别

发布者:心灵舞动最新更新时间:2024-10-30 来源: cnblogs关键字:GD32  STM32  单片机 手机看文章 扫描二维码
随时随地手机看文章

一、前言

什么GD32?

GD32是国内开发的一款单片机,据说开发的人员是来自ST公司的,GD32也是以STM32作为模板做出来的。

所以GD32和STM32有很多地方都是一样的,不过GD32毕竟是不同的产品,不可能所有东西都沿用STM32,有些自主开发的东西还是有区别的。相同的地方我们就不说了,下面我给大家讲一下不同的地方。

二、区别

1、内核

GD32采用二代的M3内核,STM32主要采用一代M3内核,下图是ARM公司的M3内核勘误表,GD使用的内核只有752419这一个BUG。

11e2c490-bf90-11ec-9e50-dac502259ad0.png?imageView2/2/w/1000

2、主频

使用HSE(高速外部时钟):GD32的主频最大108M,STM32的主频最大72M

使用HSI(高速内部时钟):GD32的主频最大108M,STM32的主频最大64M

主频大意味着单片机代码运行的速度会更快,项目中如果需要进行刷屏,开方运算,电机控制等操作,GD是一个不错的选择。

3、供电

外部供电:GD32外部供电范围是2.63.6V,STM32外部供电范围是23.6V。GD的供电范围比STM32相对要窄一点。

内核电压:GD32内核电压是1.2V,STM32内核电压是1.8V。GD的内核电压比STM32的内核电压要低,所以GD的芯片在运行的时候运行功耗更低。

4、Flash差异

GD32的Flash是自主研发的,和STM32的不一样。

GD Flash执行速度:GD32 Flash中程序执行为0等待周期。

STM32 Flash执行速度:ST系统频率不访问flash等待时间关系:0等待周期,当0

Flash擦除时间:GD擦除的时间要久一点,官方给出的数据是这样的:GD32F103/101系列Flash 128KB 及以下的型号, Page Erase 典型值100ms, 实际测量60ms 左右。对应的ST 产品Page Erase 典型值 20~40ms。

5、功耗

从下面的表可以看出GD的产品在相同主频情况下,GD的运行功耗比STM32小,但是在相同的设置下GD的停机模式、待机模式、睡眠模式比STM32还是要高的。

11f53a4e-bf90-11ec-9e50-dac502259ad0.png?imageView2/2/w/1000

6、串口

GD在连续发送数据的时候每两个字节之间会有一个Bit的Idle,而STM32没有,如下图。

120fa762-bf90-11ec-9e50-dac502259ad0.png?imageView2/2/w/1000

GD的串口在发送的时候停止位只有1/2两种停止位模式。STM32有0.5/1/1.5/2四种停止位模式。

GD 和STM32 USART的这两个差异对通信基本没有影响,只是GD的通信时间会加长一点。

7、ADC差异

GD的输入阻抗和采样时间的设置和ST有一定差异,相同配置GD采样的输入阻抗相对来说要小。具体情况见下表这是跑在72M的主频下,ADC的采样时钟为14M的输入阻抗和采样周期的关系:

1221af98-bf90-11ec-9e50-dac502259ad0.png?imageView2/2/w/1000

8、FSMC

STM32只有100Pin以上的大容量(256K及以上)才有FSMC,GD32所有的100Pin或100Pin以上的都有FSMC。

9、103系列RAM&FLASH大小差别

GD103系列和ST103系列的ram和flash对比如下图:

12526a5c-bf90-11ec-9e50-dac502259ad0.png?imageView2/2/w/1000

10、105&107系列STM32和GD的差别

GD的105/107的选择比ST的多很多,具体见下表:

12665044-bf90-11ec-9e50-dac502259ad0.png?imageView2/2/w/1000

11、抗干扰能力

关于这一点,官方没有给出,我也是在做项目的时候偶然发现的,项目原本是用STM32F103C8T6,后来换成GD F103C8T6,这两个芯片的引脚完全一致,然后单片机用了的两个邻近的引脚作为SPI的时钟引脚和数据输出引脚,然后发现STM32的SPI能正常通讯,GD的不行,经过检查发现PCB板SPI的铜线背面有两根IIC的铜线经过,信号应该是受到影响了。

示波器看了一下引脚的电平,发现确实是,STM32和GD的数据引脚波形都不正常,但是STM32的波形要好很多,波形虽然差了点,但是SPI通讯依然正常。

而GD则不能正常通讯了。然后我又把SPI的通讯速率减慢,发现STM32的数据引脚很快就恢复正常波形了,而GD的依然差,直到速率降到很低才恢复正常。初步怀疑是STM32内部对引脚有做一些滤波的电路,而GD则没有。

虽然我用的这个电路板本身布线有些不合理,但是在同样恶劣的环境下,STM32依然保证了通讯的正常,而GD不行,这在一定程度上说明了GD的抗干扰能力不如STM32。


关键字:GD32  STM32  单片机 引用地址:GD32单片机和STM32单片机的区别

上一篇:【GD32 MCU 入门教程】二、GD32 MCU 烧录说明(1)ISP 烧录
下一篇:【GD32 MCU 入门教程】二、GD32 MCU 烧录说明(3)脱机烧录

推荐阅读最新更新时间:2026-03-25 11:29

STM32GD32单片机,上电后不运行,复位后才能运行,解决方法
问题描述:仿真器下载程序后,可运行;拔掉仿真器,断电重新上电后,处理器不运行,手动复位后产品能正常运行 出现上面描述的问题,目前我遇到的有两种情况: ①外设设备初始化未完成:可以注释排查外设设备,在初始化的地方添加一段延时,等待产品初始化完成。 ②晶振起振时间长:(上示波器查看晶振起振时间)在时钟初始化启动外部时钟之前添加一段延时等待。 以上是我诸多工程中遇到的情况及解决的方法,如有其他情况 ,欢迎大家不吝赐教。
[单片机]
VScode开发STM32/GD32单片机-MakeFile工程JlinkRTT配置
本次使用开发板为STM32F401CCU6,使用CubeMX配置一个Makefile工程 配置时候为内部时钟 工程选择makefile工程类型 只生成需要的文件 用VSCode打开后显示很多波浪线 选择快编辑头文件路径配置 在如下位置添加使用HAL库并且加上支持的芯片 把makefile如下位置的代码修改为 编译完成后如下所示 配置LED灯来查看工程是否正常 添加如下代码 重新生成代码后编译,然后打开JFlash下载程序 选择点击target下选项链接单片机 打开工程路径下的hex文件 然后下载 复位开发板然
[单片机]
VScode开发<font color='red'>STM32</font>/<font color='red'>GD32</font><font color='red'>单片机</font>-MakeFile工程JlinkRTT配置
都是32位MCU,ESP32、GD32STM32有什么区别
01 三款MCU简介 STM32:意法半导体在 2007 年 6 月 11 日发布的产品,32位单片机(不多介绍了,懂得都懂)。 GD32:兆易创新 2013 年发布的产品,在芯片开发、配置、命名上基本模仿 STM32,甚至 GPIO 和 STM32 都是 pin to pin 的,封装不改焊上去直接用。有时候 STM32 的源码不修改,重新编译烧写到 GD32 上就可以跑。当然也有很多不同,比如串口驱动、USB 、库文件等。 ESP32:乐鑫公司 2017 年开发的产品,和 STM32、GD32 不同,ESP32 主要面向物联网领域,支持功能很多,但引出 GPIO pin 脚很少,因此大多数 GPIO 都有很多复用功能。出厂
[单片机]
都是32位<font color='red'>MCU</font>,ESP32、<font color='red'>GD32</font>、<font color='red'>STM32</font>有什么区别
STM32GD32横向对比区别
GD32 是国产单片机,据说开发人员来自ST公司,GD32 也是以 STM32 作为模板做出来的。所以 GD32 和 STM32 有很多地方都是一样的,不过 GD32 毕竟是不同的产品,不可能所有东西都沿用 STM32,有些自主开发的东西还是有区别的。不同的地方如下: 1、内核 GD32 采用二代的 M3 内核,STM32 主要采用一代 M3 内核, ARM 公司的 M3 内核勘误,GD 使用的内核只有 752419 这一个 BUG。 2、主频 使用HSE(高速外部时钟):GD32的主频最大108M,STM32的主频最大72M 使用HSI(高速内部时钟):GD32的主频最大108M,STM32的主频最大64M 主频大意味着单片
[单片机]
<font color='red'>STM32</font>与<font color='red'>GD32</font>横向对比区别
gd32stm32程序可以互用吗?
GD32和STM32是两种不同的芯片系列,相同点是都属于ARM Cortex-M系列芯片。虽然它们有相似的架构和指令集,但是由于它们来自不同的厂商,所以它们之间仍然存在一些差异。因此,GD32和STM32之间不能直接互用程序。 首先,GD32和STM32之间的主要差异在于硬件平台。GD32和STM32的硬件平台不完全相同,存在一些不同之处,例如引脚定义、时钟控制、中断控制等。这些差异会影响程序在不同硬件平台上的运行。因此,如果要实现程序互用,需要在代码中加入条件编译和适配。 其次,GD32和STM32之间的软件支持也有所不同。虽然它们都遵循ARM Cortex-M系列的指令集,但它们的官方开发环境、库文件和驱动程序可能存在差异。因
[单片机]
STM32GD32移植攻略
使用STM32的芯片的朋友,可以很方便的将移植到GD32上面,下面就具体移植过程分享一下: 整个移植过程可以分为硬件和软件两个方面。 硬件方面: 首先要确定先前所使用ST芯片的flash大小和管脚数量,然后替换成GD相同大小Flash和管脚数量的芯片。 简单来说就是STM32F103xxxx替换成GD32F103xxxx。 GD和ST的命名规则相同。 软件方面: 以Keil开发环境为例,打开头文件“stm32f10x.h” 找到定义 #define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500) 替换为 #define HSE_STARTUP_TIMEOUT ((uint16_t)0xFFFF) 重新
[单片机]
GD32 MCU 移植教程】9、从 STM32F10x 系列移植到 GD32F30x 系列
1.本文简介 GD32F30x 系列 MCU 是基于 Arm® Cortex®-M4 处理器的 32 位通用微控制器,与 STM32F10x 系列 MCU 保持高度兼容。本文主要从以下三个方面进行介绍:硬件资源对比、外设及性能对比以及从 STM32F10x 移植到 GD32F30x 的移植步骤,旨在让开发者能够快速从 STM32F10x 移植到 GD32F30x,缩短研发周期,加快产品开发进度。 2.GD32F30x vs STM32F10x 硬件资源对比 GD32F30x 和 STM32F10x 硬件引脚对比如表 2-1. GD32F30x 和 STM32F10xpin 对比所示,由该表可知,GD32F30x 与 STM32
[单片机]
【<font color='red'>GD32</font> <font color='red'>MCU</font> 移植教程】9、从 STM32F10x 系列移植到 GD32F30x 系列
GD32 MCU 移植教程】2、从 GD32F303 移植到 GD32F503
1. 前言 GD32E503 系列是 GD 推出的 Cortex_M33 系列产品,该系列资源上与 GD32F303 兼容度非常高,本应用笔记旨在帮助您快速将应用程序从 GD32F303 系列微控制器移植到 GD32E503 系列微控制器。 2. 引脚兼容性 GD32F303 与 GD32E503 在相同封装下是 Pin To Pin 兼容的。但由于 GD32E503 较 GD32F303多了 SHRTIMER、SQPI 功能,所以两者引脚定义有细微差别,如下表所示: 表 1 GD32F303 系列和 GD32E503 系列引脚区别 3. 内部资源兼容性 下表给出了 GD32F303 与 GD32F503 的资源对比总览(
[单片机]
【<font color='red'>GD32</font> <font color='red'>MCU</font> 移植教程】2、从 GD32F303 移植到 GD32F503
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved