深夜!我偷偷的把室友的STM32换成了GD32

发布者:清晨微风最新更新时间:2025-11-07 来源: bilibili关键字:STM32  GD32 手机看文章 扫描二维码
随时随地手机看文章

一、什么是GD32

GD32是由北京兆易创新开发的国产32位MCU,基于Arm Cortex- M3/M23/M4内核以及RISC-V内核的32位通用微控制器,与STM32相比,CPU主频更高,内存更多,外设更丰富。其众多产品是以STM32芯片为模板,基于STM32的底层寄存器地址进行正向研发,部分产品可以直接PIN TO PIN替代STM32的芯片,部分型号可以直接以STM32的程序做部分修改后直接烧入进GD32中运行,例如GD32E103、GD32F10x、GD32F30x都是和STM32F10x系列是完全PIN TO PIN兼容的,内部地址寄存器完全兼容,唯一区别只是内核不同,但在使用外设时影响不会很大。

一个大胆的想法从我脑海中诞生,我要狸猫换太子,GD32F103ZET6替换掉STM32F103ZET6。

入夜,趁着室友入睡后,悄悄的拿走室友的STM32开发板,点起我的小台灯。

掏出了我沉寂许久的GD32F103ZET6芯片。

开足风枪马力,把STM32F103ZET6淦下来,再把GD32F103ZET6淦上去,一番辛苦下,大功告成。

保险起见,下面使用正点原子STM32库函数例程一一测试,绝不给室友发现的机会!

流水灯测试

直接下载流水灯程序到GD32,因为使用到主频按照STM32的来配置(72M)无需修改启动超时,程序下载使用J-Link(ST-Link不行),因为都是基于M3内核,所以直接使用Keil下载!下载完成,复位启动!

啪!翻车!LED反转时间约为设定时间的10倍,多年经验告诉我,我晶振引脚虚焊了,补焊,复位,启动!啪!成了,灯闪了!

但是这一切还不够,万一室友学会的点灯,后面咋办?我还要测!

串口测试,替换文字,下载例程。

程序启动,测试完美!

仿真测试,断点测试,完美

外部中断测试,按下按键,LED切换,测试通过

定时器闪灯,测试完美!定时器PWM比较输出,测试完美!现象呼吸灯。

TFT测试,完美到爆

ADC检测,完美极了

模拟IIC测试,稳如老狗

不测了,就先到这,下次等室友睡觉在继续测,今天美滋滋,STM32芯片反手一卖就是几倍差价,同志们学会了没!

二、GD32与STM32

GD32和STM32资源对比

GD32与STM32软硬件设计对比

相同点

1.芯片的型号命名方式相同,而且相同信号的引脚定义基本相同,具体命名规范如下

2.函数库文件基本相同:因为GD32正向研发,对于PIN TO PIN的芯片,内部寄存器地址和STM32完全相同,所以STM32的库文件编译后的文件可以直接下载。

3.编译工具相同如keil、IAR都相同

不同点

1.工作电压有所不同,STM32的工作电压在2.0~ 3.6V或1.65~3.6V,GD32的工作电压在 2.6~3.6V,工作范围相对要窄。

2.GD32F303/F103主频比STM32F103主频要高,适合一些更快的计算中

3.GD32提高了相同工作频率下的代码执行速度,所以GD32的_NOP()时间比STM32更加短,所以不使用定时器做延时时要注意修改

4.GD32的flash擦除时间要比STM32更长

5.功耗上GD32的功耗要相对高一点

6.GD32的BOOT0必须接10K下拉或接GND,ST可悬空,这点很重要。

7.RC复位电路必须要有,否则MCU可能不能正常工作,ST的有时候可以不要。

8.GD的swd接口驱动能力比ST弱,可以有如下几种方式解决:

a、线尽可能短一些;

b、降低SWD通讯速率

c、SWDIO接10k上拉,SWCLK接10k下拉。

9.GD对时序要求严格,配置外设需要先打开时钟,在进行外设配置,否则可能导致外设无法配置成功;ST的可以先配置在开时钟。

10.修改外部晶振起振超时时间,不用外部晶振可跳过这步。原因:GD与ST的启动时间存在差异,为了让GD MCU更准确复位(不修改可能无法复位)。(来源果果小师弟)


关键字:STM32  GD32 引用地址:深夜!我偷偷的把室友的STM32换成了GD32

上一篇:关于STM32G系列双Bank机制刷写机制
下一篇:STM32输入捕获

推荐阅读最新更新时间:2026-03-25 16:39

深夜!我偷偷的把室友的STM32换成了GD32
一、什么是GD32 GD32是由北京兆易创新开发的国产32位MCU,基于Arm Cortex- M3/M23/M4内核以及RISC-V内核的32位通用微控制器,与STM32相比,CPU主频更高,内存更多,外设更丰富。其众多产品是以STM32芯片为模板,基于STM32的底层寄存器地址进行正向研发,部分产品可以直接PIN TO PIN替代STM32的芯片,部分型号可以直接以STM32的程序做部分修改后直接烧入进GD32中运行,例如GD32E103、GD32F10x、GD32F30x都是和STM32F10x系列是完全PIN TO PIN兼容的,内部地址寄存器完全兼容,唯一区别只是内核不同,但在使用外设时影响不会很大。 一个大胆的想法
[单片机]
VScode开发STM32/GD32单片机-环境搭建
1、软件下载 1.1、安装 VSCode 1.2、下载安装 VisualGDB 1.3、下载安装 mingwin64 1.4、下载安装 OpenOCD 1.5、下载 GNU Arm Embedded Toolchain 2、软件安装 2.1、安装完成 VisualGDB 找到安装目录如下位置 将破解软件放在里边 管理员方式运行弹出如下两个窗口 2.2、安装 mingwin64 安装完成之后将路径添加到环境变量中 找到安装目录下得bin文件夹,将文件路径添加到系统环境变量中 设置环境变量 上 2.3安装 OpenOCD 软件,直接将bi
[单片机]
VScode开发<font color='red'>STM32</font>/<font color='red'>GD32</font>单片机-环境搭建
都是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位MCU,ESP32、<font color='red'>GD32</font>、<font color='red'>STM32</font>有什么区别
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:GD32F103RCT6 中断引脚没有外界上拉电阻 中断配置如下: RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO, ENABLE); GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStructure); GPIO_EXTILineConfig(
[单片机]
GD32 MCU高效控制方案,多维赋能家电全场景变频驱动
当前,国内家电行业正处于智能化与能效升级的关键转型期,随着新国标能效标准的深化落地与全屋智能互联需求的爆发,传统家电控制技术正面临从单一功能驱动向全场景智能协同的迭代挑战。在这一技术跃迁进程中, MCU作为变频驱动系统的核心控制枢纽,正以其算力升级与算法创新能力 ,成为破解家电能效优化、精准控制与场景联动等技术痛点的核心引擎。 从变频空调的精准控温到智能家电的自主决策,MCU通过集成化硬件设计与智能化控制算法的深度融合,正推动家电行业从硬件功能竞争向系统化竞争演进,成为驱动国内家电技术升级与全球竞争力提升的底层技术支柱。 从功能控制到智能互联 起源于20世纪80年代空调领域的家电变频驱动技术,正以功率半导体与控制算法的
[家用电子]
<font color='red'>GD32</font> MCU高效控制方案,多维赋能家电全场景变频驱动
节省IO的小技巧:GD32 MCU如何使用一个GPIO实现串口半双工收发
一般情况串口的接受和发送分别需要使用TX和RX两个引脚来实现,但在一些UART的实际应用中,通信双方身份为主机和从机,数据流是半双工的,那么当IO口资源紧张时可以使用半双工模式通过一个引脚实现数据的发送和接受,同时又保证数据不出错。我们一起来看下红枫派开发板例程中是如何实现的? 首先GD32F303的UART是支持半双工模式的,但想要真正使用起来,软硬件还需要特殊设计。 首先是硬件设计,在红枫派开发板中的RS485通信使用半双工实现,原理图是这样的: 其中很重要的两个点是: 1、在MCU的TX引脚上一定要增加一个上拉电阻,保证MCU发送和接受模式切换时IO口电平可以保持高电平的空闲态。 2、485端实际还是发送和接受
[单片机]
节省IO的小技巧:<font color='red'>GD32</font> MCU如何使用一个GPIO实现串口半双工收发
GD32开发实战指南(基础篇) 第5章 跳动的心脏-Systick
开发环境: MDK:Keil 5.30 开发板:GD32F207I-EVAL MCU:GD32F207IK Cortex-M的内核中包含Systick定时器了,只要是Cortex-M系列的MCU就会有Systick,因此这是通用的,下面详细分析。 1 Systick工作原理分析 SysTick 定时器被捆绑在 NVIC 中,用于产生 SysTick 异常(异常号 :15)。在以前,操作系统和所有使用了时基的系统都必须有一个硬件定时器来产生需要的“滴答”中断,作为整个系统的时基。滴答中断对操作系统尤其重要。例如,操作系统可以为多个任务分配不同数目的时间片,确保没有一个任务能霸占系统 ;或者将每个定时器周期的某个时间范围赐予特定的
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

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