简介
GD32支持在系统编程ISP,通过MCU内引导程序进行Flash编程,支持UART和USBDFU下载。ISP模式需设置BOOT0引脚进入,下载完成需切换回Flash模式。注意事项包括确保BOOT0电平、电源和通信接口稳定。
ISP:In System Programing,在系统编程,通过MCU片内的引导程序进行Flash编程。 GD32片内有一个只读信息块,用于存放引导装载程序,引导程序在MCU出厂前就会提前烧录好。复位时MCU通过BOOT0引脚电平状态选择进入Flash启动模式还是ISP升级模式。目前所有系列均支持通过UART对Flash进行编程,有USBFS外设的系列同时支持通过USB DFU协议进行下载。
具体操作
引导选择
ISP 烧录工具
ISP烧录对工具以及形式没有特殊要求,只需按照约定的协议,使用上位机软件或其他CPU通过指定的通信方式(UART&USB)和MCU间进行通信传输即可。
UART ISP可使用PC上位机软件通过串口线、USB转串口、485等连接至MCU指定的串口引脚。UART的ISP软件:
官方工具GD32 All In One Programmer;
第三方工具FlyMCU。
USB DFU可直接通过USB连接目标MCU或PCB,使用上位机软件即可下载。USB DFU的ISP软件:
官方工具GD32 All In One Programmer。
ISP 引脚分配
不同系列的GD32MCU支持的ISP下载接口有所不同,但除GD32W515外所有型号均可以支持PA9、PA10进行ISP下载。
各系列ISP下载外设及引脚如下表。
ISP 下载电路
ISP下载模式需要让MCU执行System区域中的boot loader代码,不同于用户模式从Flash启动,故而下载前需要让MCU进入System启动模式,因此除通信引脚外还需要将BOOT0引脚引出,如需要热启动下载模式还需预留复位引脚接口或按键。
所需预留接口参考图如下图,BOOT0引脚可通过跳线帽或拨码开关控制,也可以通过其他控制器同时控制BOOT0引脚和Reset引脚让MCU进入下载模式。
ISP 下载流程介绍
ISP模式需要从System区域启动,所以需要让MCU复位时BOOT0引脚状态为高电平。
可通过跳线帽、拨码开关、按键或其他控制器控制拉高BOOT0引脚电平,对MCU进行一次复位或上电即可进入ISP模式;进入ISP模式后便可释放BOOT1引脚,此时可使用上位机软件或控制器通过UART或USB的方式进行烧录;当下载完成后需要切换回Flash运行模式,同样让BOOT0引脚拉低为低电平,然后复位或重启可进入Flash运行模式并运行用户代码。 使用ISP模式下载的操作流程图见下图。
GD32 All In One Programmer
ISP烧录注意事项
确保启动(复位、上电)前BOOT0为高电平。
确保电源稳定,避免较大纹波影响MCU稳定性。
保证通信接口稳定,下载失败可降低波特率复位重新开始。
部分型号支持多组引脚进行UART下载以及USB下载,所以在下载开始时会有下载引脚的检测握手, USB模块和三个串口中有任何一个收到有效的握手信号后就会进入使用该模块的升级模式并停止检测其他的升级方式。
因此使用UART下载时,在MCU上电到开始下载前,需要注意其他支持ISP下载的UART RX引脚不能有电平变化,USB的PA12引脚禁止下拉。