【GD32 MCU 入门教程】二、GD32 MCU 烧录说明(1)ISP 烧录
2024-10-30 来源:cnblogs
GD32 MCU提供了多种烧录方法,可在调试和生产等阶段进行便捷的烧录。GD32目前主要烧录方法有ISP烧录、SWD/JTAG在线下载、脱机烧录三种类型。
ISP烧录:使用串口或USB即可烧录,无需特殊工具支持。可根据协议自行定制下载方式,需要控制BOOT0引脚电平选择启动模式。
SWD/JTAG在线下载:无需切换MCU启动方式,使用仿真器等可进行下载。需使用仿真器和上位机进行操作。
脱机烧录:适用于大批量的产线生产,烧录过程无需PC和软件,可脱机进行烧录,批量烧录效率高。
本章对三种烧录方法有以下三个方面介绍。
1 烧录工具和硬件连接:介绍各烧录方法需使用的工具,以及硬件所需接口。
2 软件操作和烧录流程:介绍烧录软件的操作方法和烧录流程。
3 注意事项:介绍烧录注意事项和烧录失败的常见原因。
1. ISP 烧录
ISP:In System Programing,在系统编程,通过MCU片内的引导程序进行Flash编程。 GD32片内有一个只读信息块,用于存放引导装载程序,引导程序在MCU出厂前就会提前烧录好。复位时MCU通过BOOT0引脚电平状态选择进入Flash启动模式还是ISP升级模式。目前所有系列均支持通过UART对Flash进行编程,有USBFS外设的系列同时支持通过USB DFU协议进行下载。
1.1 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。
1.2 ISP 引脚分配
不同系列的GD32MCU支持的ISP下载接口有所不同,但除GD32W515外所有型号均可以支持PA9、PA10进行ISP下载。各系列ISP下载外设及引脚如下表。
1.3 ISP 下载电路
ISP下载模式需要让MCU执行System区域中的boot loader代码,不同于用户模式从Flash启动,故而下载前需要让MCU进入System启动模式,因此除通信引脚外还需要将BOOT0引脚引出,如需要热启动下载模式还需预留复位引脚接口或按键。所需预留接口参考图如下图,BOOT0引脚可通过跳线帽或拨码开关控制,也可以通过其他控制器同时控制BOOT0引脚和Reset引脚让MCU进入下载模式。
1.4 ISP 下载流程介绍
ISP模式需要从System区域启动,所以需要让MCU复位时BOOT0引脚状态为高电平。可通过跳线帽、拨码开关、按键或其他控制器控制拉高BOOT0引脚电平,对MCU进行一次复位或上电即可进入ISP模式;进入ISP模式后便可释放BOOT1引脚,此时可使用上位机软件或控制器通过UART或USB的方式进行烧录;当下载完成后需要切换回Flash运行模式,同样让BOOT0引脚拉低为低电平,然后复位或重启可进入Flash运行模式并运行用户代码。 使用ISP模式下载的操作流程图见下图。
ISP UART下载流程
ISP的UART下载可使用GD32 All In One Programmer,如需自制上位机或用其他控制器烧录MCU,可参考文档GD ISP PROTOCOL-USART。本文以GD32 All In One Programmer下载为例进行介绍,下载流程如图所示。
GD32 All In One Programmer 下载步骤:
1.让MCU进入ISP模式,将开发板串口连接到PC,运行GD32 All-In-One Programmer.exe,选择对应的COM口,奇偶校验和波特率等设置,并点击Connect按钮。如图所示。
2.出现Disconnect按钮则表示连接成功,上位机会识别MCU的型号,Flash以及SRAM大小。
按照以下说明进行上位机软件的操作
(1)点击Browse选择所需要下载的bin文件路径;
(2)输入bin文件需要下载的起始地址;
(3)勾选Jump to run the App Program,程序下载完成后MCU会产生一个系统复位;
(4)点击Download按钮下载程序;
(5)出现Finish并且进度条进行到100%表示下载成功,如图所示。
1.5 ISP烧录注意事项
确保启动(复位、上电)前BOOT0为高电平。
确保电源稳定,避免较大纹波影响MCU稳定性。
保证通信接口稳定,下载失败可降低波特率复位重新开始。
部分型号支持多组引脚进行UART下载以及USB下载,所以在下载开始时会有下载引脚的检测握手, USB模块和三个串口中有任何一个收到有效的握手信号后就会进入使用该模块的升级模式并停止检测其他的升级方式。因此使用UART下载时,在MCU上电到开始下载前,需要注意其他支持ISP下载的UART RX引脚不能有电平变化,USB的PA12引脚禁止下拉。