话说本人使用的是GD32F103VCT6(或GD32F103VET6),采用SWD烧写的方式,确实一直用的好好的。但是,量产的多少,总会出现一些意想不到的情况,比如引出SWD烧写口的焊盘脱落了,或者因为静电等原因造成SWD无法烧录,又或者是出现“Programming error@:0x00000000”的情况。这个时候,只是一味地采用SWD烧写的方式,就有点无能为力了。

众所周知,可以使用串口给STM32烧写程序,只需设置成Boot0=1,Boot1=0,使用flash_loader_demonstrator这个小工具即可。那么,GD32F10x是否也可以这么做呢?查看了电路图,我的电路板刚好USART1也引出来了。马上去试试呗。
GD32F10x的引导配置
GD32F10x系列微控制器提供了三种引导源,可以通过BOOT0和BOOT1引脚来进行选择。该两个引脚的电平状态会在复位后的第四个CK_SYS(系统时钟)的上升沿进行锁存。用户可自行选择所需要的引导源,通过设置上电复位和系统复位后的BOOT0和BOOT1的引脚电平。一旦这两个引脚电平被采样,它们可以被释放并用于其他用途。

上电序列或系统复位后,ARMCortex-M3处理器先从0x00000000地址获取栈顶值,再从0x00000004地址获得引导代码的基地址,然后从引导代码的基地址开始执行程序。 根据所选择的引导源,主FLASH存储器(开始于0x08000000的原始存储空间)或系统存储器(开始于0x1FFFF000的原始存储空间)被映射到引导存储空间(起始于0x00000000)。片上SRAM存储空间的起始地址是0x20000000,当它被选择为引导源时,在应用初始化代码中,你必须使用NVIC异常表和偏移寄存器来将向量表重定向到SRAM中。嵌入式的Bootloader存放在系统存储空间,用于对FLASH存储器进行重新编程。在GD32F10x设备中,Bootloader可以通过USART0(对应STM32F10x的USART1)接口和外界交互。

使用串口来给GD32F10x烧写程序
1、采用FlyMcu工具,测试是不行,识别不了GD32F10x芯片。

2、是不是GD32F10x有自己专用的串口烧写工具呢?网上一搜索,确实如此,那就是:GigaDevice MCU ISP Programmer。 3、采用GigaDevice MCU ISP Programmer给GD32F10x烧写程序: (1)打开软件:分明是欺负我的笔记本屏幕有点小啊,算了,忍了。

识别出串口为“COM15”,波特率不要选择太高,这里选择“115200”。点击“Next”,会弹出下面界面:

(2)继续点击“Next”,会出现下面界面:

能够自动识别出芯片型号,我这里的芯片型号是“GD32F103VCT6”。继续点击“Next”,会出现下面界面:

勾选“Download to Device”,添加要烧录的hex文件,勾选上“Erase necessary pages”和“Verity after download”,点击“Next”即可。 (3)此时会出现下面的界面,说明正在烧写程序:

(4)出现下面的界面,表示烧写成功。

可以看出,烧写过程还是挺方便、挺快捷的。 这样就完成了几块电路板的修复,还是挺不错的。
关键字:串口 GD32F10x 烧写程序
引用地址:
如何使用串口来给GD32F10x烧写程序
推荐阅读最新更新时间:2026-03-24 12:13
关于STM32单片机采用CH340串口烧写程序的细节
针对STM32系列单片机,大家一般采用STLink和Jlink来下载程序,这里我们试一下CH340 USB转串口芯片的下载方法,主要是将Boot电平设置好。 采用:STM32F103C6T6芯片microUSB 接口连上电脑,com3端口 环境:Win10,提前安装好CH340/341系列的驱动 针对BOOT0和BOOT1的不同接线方式(高电平,低电平,不接线),开发板的下载情况分析如下图:(“x”代表不接线,“√”代表能成功下载) Boot接线方式 首先对BOOT0与BOOT1如何连接及连接方式介绍一下。 STM32 单片机的BOOT0 和BOOT1 应用原理 STM32 三种启动模式对应的存储介质均是芯片内置的,它们是:
[单片机]
【GD32 MCU 移植教程】7、从 GD32F10x 移植到 GD32E103
1. 前言 本应用笔记旨在帮助您快速将基于 GD32F10x 2.0 版本及以上固件库开发的应用程序从GD32F10x 系列微控制器移植到 GD32E103 系列微控制器。GD32E103 和 GD32F10x 系列相比,考虑软硬件兼容性,从 Flash 和 SRAM 容量,包括外设模块的增强性能上来看,E103 最接近 F105。 开始前您需要安装 GD32E103 关于 KEIL 或 IAR 的插件,在工程选项的器件条目中选择GD32E103 对应型号,添加 GD32E103 的 Flash 下载算法。 为了更好的利用本应用笔记中的信息,您需要对 GD32 系列微控制器有比较深刻的了解。您可在 GD32MCU 资料网站 下
[单片机]
【GD32 MCU 移植教程】1、从 GD32F10x 移植到 GD32F30x
1. 前言 对于使用 GD32 系列微控制器进行产品开发的设计人员来说,因产品及功能升级,往往需要将一种微控制器替换成另一种微控制器,在保留既有功能的情况下增加新功能。为了更快地推出新产品,设计人员经常要将应用程序移植到新的微控制器。本应用笔记旨在帮助您快速将应用程序从 GD32F10x 系列微控制器移植到 GD32F30x 系列微控制器。 为了更好的利用本应用笔记中的信息,您需要对 GD32 系列微控制器有比较深刻的了解。 2. 引脚兼容性 GD32F10x 与 GD32F30x 在相同封装下是 Pin To Pin 兼容的。但由于 GD32F30x 较 GD32F10x 增加了内部 48MHz RC 振荡器给 USBD
[单片机]
迅为4412开发板一键烧写QT程序到开发板
之前我们写好一个程序,都是先交叉编译完,然后在通过 nfs/tftp 或者其他的方法拷贝到开发板,然后在手动执行,如果我们调试程序很频繁,那我们每次都重新拷贝到开发板,那这样就太麻烦了,有没有方便一点的办法呢,这个就是接下来我们要介绍的一种方法,一键烧写 QT 程序到开发板,我们只需要在qtcreater 上点击一下编译,那么 QT 程序会自动到开发板上来运行,是不是非常的方便? 85.1 在开发板上移植 ssh 要想实现一键烧写,那么我们必须就先要在开发板上移植一个 ssh,本次实验我们使用的是 busybox 文件系统,这个文件系统并不支持 ssh,所以我们要先移植一个上去。接下来,我们一起来移植一下。 移植环境: 编译器保持
[单片机]
02.基于Android的蓝牙通讯的OpenBlt-STM32烧写程序
0.背景 工作中遇到这样一种情况:安卓系统显示器通过蓝牙与控制器进行通讯,控制器的硬件是STM32芯片。目前控制器STM32的芯片进行升级是用PC端升级软件,升级的程序是利用开源库OpenBLT Bootloader(https://www.feaser.com/openblt/doku.php?id=homepage)。下载OpenBLT源码,源码提供两种烧写方式: 1.BootCommander.exe 命令行方式 :C开发环境 2.MicroBoot.exe 带UI界面方式:Lazarus IDE开发环境 不管哪种方式都用到源码中的/Host/Source/LibOpenBLT 由于之前对Lazarus IDE没有接触过,加
[单片机]
mini2440烧写裸机程序
1、实现1+2+3------+100 AREA test02,CODE,READONLY start MOV R0,#0 MOV R1,#1 MOV R2,#1 LOOP ADD R2,R2,R0 ADD R1,R1,#1 CMP R1,#101 BEQ label ADD R2,R2,R1 B LOOP label NOP NOP NOP END 2、汇编LED测试 /************************************ *注意修改段名为testLED(两处修改) *在MDK中,要添加簇文件RuninRAM.sct *在MDK中,要添加初始化文件Ext_RAM.ini
[单片机]
PIC OTP 单片机程序烧写方法
MCU最小系统与烧写引脚 烧写引脚连接: 这里要特别注意Vpp引脚的处理; 用到的烧写工具 PIC K150 烧写器; 这里作者刚开始采购的是kit 3.5;因为看到“MPLAB X IDE v5.50”支持作者使用的芯片,买回来的时候才发现,当选择目标芯片的时候“kit 3.5 编程器”选项是灰色的选不了,当选择别的目标芯片的时候“kit 3.5 编程器”可以选择,这时候作者才知道烧写器买错了。 用到的烧写软件 链接:https://pan.baidu.com/s/1ylAWyYZxGEB8ReFbscLApw 提取码:1234 这里直接借用作者K150时候卖家给的连接; 需要一个串口驱动+K150
[单片机]
解决MDK通过JLink烧写程序之后必须断电才可以运行的问题
问题描述: 烧写完程序之后必须要断电重启程序才能跑起来,很麻烦,很坑爹。 解决方法: 将下图此处勾选即可。
[单片机]