本帖最后由 智芯云技术 于 2023-11-20 15:48 编辑
往期内容有介绍:开发资料下、使用各个工具开发环境搭建,感兴趣的可以翻一下,之前发的帖子,希望能帮到各位工程师。
GD32烧录说明
GD32 MCU提供了多种烧录方法,可在调试和生产等阶段进行便捷的烧录。GD32目前主要烧录方法有ISP烧录、SWD/JTAG在线下载、脱机烧录三种类型。
◼ ISP烧录:使用串口或USB即可烧录,无需特殊工具支持。可根据协议自行定制下载方式,需要控制BOOT0引脚电平选择启动模式。
◼ SWD/JTAG在线下载:无需切换MCU启动方式,使用仿真器等可进行下载。需使用仿真器和上位机进行操作。
◼ 脱机烧录:适用于大批量的产线生产,烧录过程无需PC和软件,可脱机进行烧录,批量烧录效率高。
本章对三种烧录方法有以下三个方面介绍。1. 烧录工具和硬件连接:介绍各烧录方法需使用的工具,以及硬件所需接口。2. 软件操作和烧录流程:介绍烧录软件的操作方法和烧录流程。3. 注意事项:介绍烧录注意事项和烧录失败的常见原因。
本章节 提 到 的 相 关 GD 官 方 软 件 网盘 https://pan.baidu.com/s/1mhQsNpu进行下载, 网盘类有Jflash的绿色版本可下载使用。
ISP 烧录
ISP:In System Programing,在系统编程,通过MCU片内的引导程序进行Flash编程。GD32片内有一个只读信息块,用于存放引导装载程序,引导程序在MCU出厂前就会提前烧录好。复位时MCU通过BOOT0引脚电平状态选择进入Flash启动模式还是ISP升级模式。目前所有系列均支持通过UART对Flash进行编程,有USBFS外设的系列同时支持通过USB DFU协议进行下载。
引导模式
ISP 烧录工具
ISP烧录对工具以及形式没有特殊要求,只需按照约定的协议,使用上位机软件或其他CPU通过指定的通信方式(UART&USB)和MCU间进行通信传输即可。
1. UART ISP可使用PC上位机软件通过串口线、USB转串口、485等连接至MCU指定的串口引脚。UART的ISP软件:
◼ 官方工具GigaDevice MCU ISP Programmer;
◼ 第三方工具FlyMCU。
2. USB DFU可直接通过USB连接目标MCU或PCB,使用上位机软件即可下载。USB DFU的ISP软件:
◼ 官方工具GD32 MCU DFU Tool。
ISP 引脚分配
不同系列的GD32MCU支持的ISP下载接口有所不同,但所有型号均可以支持PA9、PA10进行ISP下载。各系列ISP下载外设及引脚见表
ISP 外设和引脚分配
ISP 下载电路
ISP下载模式需要让MCU执行System区域中的boot loader代码,不同于用户模式从Flash启动,故而下载前需要让MCU进入System启动模式,因此除通信引脚外还需要将BOOT0引脚引出,如需要热启动下载模式还需预留复位引脚接口或按键。所需预留接口参考图3-1,BOOT0引脚可通过跳线帽或拨码开关控制,也可以通过其他控制器同时控制BOOT0引脚和Reset引脚让MCU进入下载模式。
ISP 下载接口电路
ISP 下载流程介绍
ISP模式需要从System区域启动,所以需要让MCU复位时BOOT0引脚状态为高电平。可通过跳线帽、拨码开关、按键或其他控制器控制拉高BOOT0引脚电平,对MCU进行一次复位或上电即可进入ISP模式;进入ISP模式后便可释放BOOT1引脚,此时可使用上位机软件或控制器通过UART或USB的方式进行烧录;当下载完成后需要切换回Flash运行模式,同样让BOOT0引脚拉低为低电平,然后复位或重启可进入Flash运行模式并运行用户代码。 使用ISP模式下载的操作流程图见图
ISP 下载操作流程图
ISP UART 下载流程
ISP的UART下载可使用GigaDevice ISP Programmer和FlyMCU上位机,如需自制上位机或用其他 控 制 器 烧 录 MCU , 可 参 考 文 档 GD ISP PROTOCOL-USART 。 本 文 以 GigaDevice ISPProgrammer工具下载为例进行介绍,GigaDevice ISP Programmer下载流程如图3-3所示。
GigaDevice ISP Programmer 下载流程图
GigaDevice ISP Programmer 下载步骤:
1. 通过USB转串口、232等连接MCU和PC,让MCU进入ISP模式。
UART 下载 PC 连接目标板
3. 打开GigaDevice ISP Programmer并选择Port端口,可设置合适的波特率,MCU会自动匹配。如图
ISP UART Programmer 首页面
4. 如果MCU有读保护状态,Next后会有如图3-6的页面提示,如果需要去除继续烧录先点击“Remove protection”,将MCU设置为读出保护,然后等待MCU删除保护再执行下一步操作。没有读保护的情况点击Next后会显示设备可读,且可以看到设备Flash、SRAM容量以及MCU UID。
ISP Programmer 读保护提示界面
5. 继续点击Next后第三个页面会显示Flash每个Page的详细信息和ISP Bootloader版本。若某个Page有写保护会在这个界面显示。
ISP Programmer Flash 状态和 ISP 版本界面
6. 第四个界面如下图3-8,其中可以进行擦除、下载、读取、读保护设置、选项字节编辑操作,其中擦除、下载、读取均可以选择起始地址操作指定范围的Page。
ISP Programmer 编程界面
7. 选项字节下可进行Flash写保护、读保护设置;以及选项字节特殊功能的设置,可开启上电自动使能硬件看门狗、执行低功耗命令时进行复位等特殊功能,如无需使用这些功能请勿对其进行操作,若程序中或异常操作导致修改选项字节开启了特殊功能可在此界面下进行修改恢复到默认值,修改后需点击Apply to Device才可写入MCU。选项字节具体介绍请参考各系列User Munual FMC章节选项字节说明。
ISP Programmer 选项字节编辑界面
GigaDevice DFU Tool 下载步骤
1. 使用ISP USB DFU方式下载只需让MCU进入ISP模式,然后通过USB Devcie电路连接PC,便可使用GigaDevice Dfu Tool进行烧录。Gigadevice Dfu Tool工具页面如图
GigaDevice Dfu Tool 首页面
2. 点击首界面下方信息栏中的0选型可查看Flash各Page详细信息。
GigaDevice Dfu Tool Flash 详情显示
8. 点击首界面下方信息栏中的1选型可对选型字节进行编辑。
GigaDevice Dfu Tool 选型字节编辑
ISP 烧录注意事项
1、 确保启动(复位、上电)前BOOT0为高电平。
2、 确保电源稳定,避免较大纹波影响MCU稳定性。
3、 保证通信接口稳定,下载失败可降低波特率复位重新开始。
4、 部分型号支持多组引脚进行UART下载以及USB下载,所以在下载开始时会有下载引脚的检测握手, USB模块和三个串口中有任何一个收到有效的握手信号后就会进入使用该模块的升级模式并停止检测其他的升级方式。因此使用UART下载时,在MCU上电到开始下载前,需要注意其他支持ISP下载的UART RX引脚不能有电平变化,USB的PA12引脚禁止下拉。
SWD/JTAG 在线下载
GD32系列MCU支持SWD和JTAG(部分型号不支持)接口进行下载调试,这些功能通过ARM CoreSight组件的标准配置和链状连接的TAP控制器来实现的。调试和跟踪功能集成在ARM Cortex-M内核中。调试系统支持串行(SW)调试和跟踪功能,部分型号也支持JTAG调试。调试和跟踪功能具体请参考下列文档:
◼ Cortex-M4技术参考手册;
◼ ARM调试接口V5结构规范。
目前GD32 MCU主要支持的调试下载设备有:J-linkV8/V9、U-link、标准的CMSIS-DAP调试工具如GD-link。SWD/JTAG的优势在于及下载和调试功能一体,可直接在集成开发环境IDE(如MDK、IAR ) 中 进 行 下 载 和 在 线 仿 真 。 同 时 还 有 丰 富 的 下 载 以 及 调 试 上 位 机 , 如 J-flash 和 GD-link Programmer工具。J-flash可使用6.3版本及以上可选择GD MCU型号,也可在网盘->共享文件夹->软件中下载绿色版J-flash。GD-link Programmer请使用官网发布的最新版本。
注意:M23内核型号的E23x系列仅支持J-linkV9、U-link2、GD-link。
SWD/JTAG 引脚定义
同时支持SWD/JTAG的系列有GD32F10x、GD32F20x、GD32F30x、GD32F4xx、GD32E10x,仅支持SWD的系列为:GD32F1x0、GD32F3x0、GD32E23x。SWD/JTAG调试下载引脚定义如表
SWD/JTAG 引脚定义
SWD/JTAG 烧录软件
J-link烧录需使用J-flash上位机,Jflash6.2版本及以上可选择到GD MCU型号。J-flash支持擦除、烧录、读取Flash、读保护、去读保护等操作。同时使用J-flash还可以进行Bin文件的截取、合并等操作。
GD-link烧录需使用GD-link Programmer,可支持擦除、烧录、读取、读保护、去读保护等功能,同时还可以将Bin装载到GD-link中实现脱机离线烧录功能,离线烧录在第4章节会详细介绍。
SWD/JTAG 下载电路
SWD/JTAG下载电路如下图如图3-13所示,如使用4线的SWD下载方式保留下图中SWDIO(PA13)、SWDCLK(PA14)、VCC、GND即可。注意:SWD/JTAG下载模式需要BOOT0拉低为正常的Flash启动模式。
SWD/JTAG 下载电路
Jlink 仿真器接口
Jlink仿真器是标准的Jtag接口,同时支持Jtag/SWD模式下载,其中除调试信号线外,还有Reset、VCCvref(Pin1)、VCCoutput(Pin2)引脚、GND引脚,引脚定义如图3-14所示。使用SWD模式下载时调试信号只需SWDIO(Pin7)、SWDCLK(Pin9)即可。一般可以做一个转接板方便连接和调试,如图
需注意有的Jlink硬件必须连接VCCvref(Pin1)获取MCU的工作电压,一般在Jlink内部有一个跳线帽可以选择VCCoutput(Pin2)是否对外供电。
Jlink 仿真器接口
Jlink 引脚定义
Jtag 接口转接板
GD-link 仿真器接口
GD-link仿真器接口为10针,支持Jtag/SWD模式下载和调试,接口定义见图3-16和表3-5。使用SWD时只需使用Pin2、Pin4连接目标板PA13、PA14即可,Pin1电源引脚可以对目标板进行供电。为方便连接和调试可以使用转接板,如图
GDlink 接口
GDlink 引脚定义
GDlink 转接板
J-flash 下载流程
1. 使用Jlink连接到目标板,Jlink上的指示灯状态为绿灯常亮。
2. 打开J-flash软件,在Options菜单栏下点击Project setting进入设置界面
Jflash 首页面
3. 在Project Settings界面中的MCU选项卡下设置Device选项选择需要下载的MCU型号,如图。在Target Interface选项卡下选择调试口的类型和速度,如图。
J-flash 软件 MCU 型号选择
J-flash 软件调试口设置
4. 选择好型号后,相关操作便都在Jflash首页面的Target菜单栏下,首先点击Connect进行连接,连接成功后下方Log框会有信息提示,如图。
J-flash 软件连接目标板
J-flash 打开 Bin 文件
5. 在Target菜单栏下Manual Programming选项下有上锁(读保护)、解锁(去读保护)、擦除、编程、读等操作可选,如图。如需下载只需点击Target菜单栏下ProductionProgram或按下F7即可下载,下载成功后会有弹窗提示,如图,如果下载失败下方Log会显示详细错误信息。
Jflash 用户操作选项
Jflash 下载成功
GD-link Programmer 下载流程
1. 使用GD-link连接到目标板,连接成功后GD-link上的LED2快速闪烁。2. 打开GD-link Programmer软件,在菜单栏Target下点击Connect连接MCU。在右边信息栏可以显示GD-link固件信息、MCU信息,同时可选择SWD/JATG以及设置通信速率。在下方STATUS栏中会显示MCU选项字节信息,如果选项字节前两个字节不是A5 5A 则表示MCU有安全保护,需要点击Insecurity后才能操作。如图。
GD-link Programmer 软件连接目标板
3. 在菜单栏File下点击OPEN可以打开Bin或Hex,如果是打开Bin会有弹窗需要输入Bin的起始地址。打开Bin或Hex都会在下方Status栏中显示文件的校验和。如图
GD-link Programmer 打开 Bin 或 Hex
3. 在菜单栏GD-link下选择Configuration可设置脱机烧录和在线烧录选项。脱机烧录在offline-program中可以选择脱机烧录添加安全保护(Low等级);擦除方式可选择全片或按Page擦除,如果分多次烧录的场景可选择page擦除避免擦除此前下载的内容;脱机烧录还可以勾选Program Limit const选项并填入烧录次数限定脱机烧录次数,达到该烧录次数后Bin将自动删除需要重新装入。如图。
GD-link Programmer 脱机烧录设置
4. 在菜单栏GD-link下选择Updata file可以把打开的Bin或Hex装载到GD-link中,点击后会有弹窗确认装载,点击“是”即可将文件装入GD-link内。如图。
GD-link Programmer 脱机烧录装载代码
5. 装入代码成功后即可使用GD-link连接至目标板,点击GD-link上的按键K1后LED1开始闪烁则表示开始脱机烧录,烧录成功后LED1会常亮,如图3-33所示。若LED1闪烁后长灭则代表烧录失败需重新烧录或检查硬件连接。
烧录成功后 LED1 常亮
6. 烧录成功后可直接更换目标板继续烧录下一块设备。
GD-link 固件更新
当打开GD-link Programmer后提示GD-link固件需要更新等情况,可长按住GD-link按键重新插上USB连接电脑进入GD-link升级模式,此时LED3会长亮。进入升级模式后可松开按键,在菜单栏GD-link选项卡下点击Updata Firmware更新GD-link固件,进度条结束后提示更新成功。
GD-link 脱机烧录注意事项
1. MCU无法连接时需注意检查MCU中是否有程序禁用了SWD/Jtag调试端口,MCU是否处在睡眠等状态下。如果都不是可以降低调试连接线的长度再进行测试,注意调试线不能过长。
2. 如果下载不够稳定的情况可以尝试在SWDIO和SWDCLK上添加上下拉电阻,降低调试连接线的长度。
3. SWD/Jtag信号线避免串入较多干扰,PCB走线注意不要靠电感等感性器件过近,如干扰较多可以增加上下拉处理对地并pF级电容。
4. 如烧录一定次数后无法继续烧录请注意装载代码前GD-link是否设置了限定离线烧录次数。可重新设置后再次装入文件重新下载。
有其他问题也可以联系我们哦,
|