0 前言
有一块GD32的板子不知道为啥用着用着就下载不了程序了,没办法,只能另寻他法。作为STM32的平替,GD32的功能和STM32基本是一致的,所以也可以使用ISP来下载程序。于是就开始复活这块板子。
1 BOOT模式
对于熟悉STM32开发的人来说,这个肯定非常了解,但还是贴一张官方文档的图出来:
值得一提的是,这里可以使用ISP下载程序的,不仅只有一个串口,可以是其他串口或者USB等。所以想要使用串口下载,首先需要调整BOOT模式。
有一点很奇怪,那就是有些芯片只需要调整BOOT0引脚即可,BOOT1直接悬空,也能直接串口下载,典型代表就是立创和GD32合作出的GD32E230板子。但有些芯片必须得将BOOT1设置为1,才能进行程序下载。
关于BOOT模式的理解,可以参考这篇文章,讲得还是非常详细的。
2 软件使用
值得一提的是,相比于STM32使用最为广泛的串口下载程序FlyMCU竟然是一个第三方软件,GD32官方就提供了ISP软件:
下载传送门
而且还提供了Windows和Linux不同平台的终端软件,使用还是很方便的。其中Console就是命令行终端,使用指令调用一个程序进行下载,听着很复杂,但软件安装包内有详细的指令参数介绍和使用示例,所以还是很简单的。但是考虑到方便快捷,还是直接使用带图形界面的软件。如下图所示。
具体的使用建议参考安装包下的doc文件夹,里面有一个使用介绍的pdf。但其实布局已经非常明确了。首先在左上角选择交互的方式,可以选择COM,USB和GD ISP Bridge,前两者好理解,第三个是什么?根据使用文档的介绍,这个是支持一些特定的协议,如OSPI,IIC,CAN等:
这里条件有限,只能使用串口,所以选择COM,和UART。改好BOOT模式之后,点击Connect,如果没有什么问题的话就能正常连接成功。连接成功之后就是选择对应的hex文件再下载了。如果想要下载完就能看到运行效果,可以勾选这个“Jump to run app program”,当然,如果没有改变BOOT模式,下次上电还是在BootLoader里面。
3 USB下载
这个应该是要先下载一个程序,这样插上电脑才能被识别,这个以后有机会再尝试。