• YSPROG FOR GD32 MCU
  • YSPROG FOR GD32 MCU
  • YSPROG FOR GD32 MCU
  • YSPROG FOR GD32 MCU

YSPROG FOR GD32 MCU

所属分类: 产品案例 | 发布日期:2021年6月19日 下午6:15

YSPROG FOR GD32 MCU对GDLink不常用的功能进行了删减,只保留常用的SWD调试功能,降低了成本,使用上兼容GD32的START系列开发板板载调试器。

GDLink是GigaDevice(兆易创新)针对旗下GD32微控制器推出的一款调试器,其功能类似STM32系列微控制器的STLink调试器。

YSPROG FOR GD32 MCU

GDLink适用于GD32系列的Cortex M3、M4、M23内核产品,尤其是对于ARMv8-M架构的Cortex M23内核如GD32E23x系列支持较好。

GDLink功能强大但成本较高,YSPROG FOR GD32 MCU对GDLink不常用的功能进行了删减,只保留常用的SWD调试功能,降低了成本,使用上兼容GD32的START系列开发板板载调试器。

YSPROG使用ARM标准的CMSIS-DAP协议,理论上可用于所有ARM Cortex M系列MCU,同时USB接口使用HID协议,免去安装驱动的麻烦。

YSPROG FOR GD32 MCU

主要特性

  • 小巧便携,仅优盘大小,重量不足8克。
  • 使用标准CMSIS-DAP协议,支持所有ARM Cortex M系列MCU的调试。
  • USB使用HID协议,Windows下免驱动。
  • 支持MDK、pyOCD、GD-Link Programmer等软件。
  • 内置500mA自恢复保险丝。
  • 支持固件升级。

常见问题FAQ

1.1 为什么连不上目标芯片?

根据实际客户反馈,连不上目标芯片大部分原因是杜邦线接线问题。包括但不限于以下情况:

  • 连接JTAG接口,YSPROG只支持SWD,不支持JTAG。
  • CLK和DIO管脚接错,从背面看排针丝印CLK和DIO在靠外的那排排针上。图 3中的方形焊盘不是CLK,而是TDI。
  • CLK和DIO管脚交叉,SWD调试的CLK和DIO是直连,不是交叉。
  • 杜邦线不通。可以用万用表通断档排除该问题。
  • 目标板应用程序使用了PA14(SWCLK)、PA13(SWDIO)两个管脚。
  • 目标板应用程序使用了低功耗功能,调试时请暂时关闭低功耗功能。
  • 使用3.3V给目标板供电,3.3V对外输出能力有限,目标板请独立供电。

实际目标板上的3.3V通常会连接很多器件,GDLink板载的SOT-23电源芯片带载能力有限,无法带动那么多元器件。目标板请独立供电,或者使用GDLink-Lite的5V给目标板供电。

1.2注意PA14(SWCLK)、PA13(SWDIO)默认状态

直接使用寄存器的用户需要特别注意:不要修改PA14和PA13相关的默认值

因为SWD接口在PORTA,PORTA的复位状态和其它端口不同,PA14和PA13默认复位为AF功能。

以GD32E230为例:

  • GPIOA_CTL复位值为0x28000000,即CTL14=10b,CTL13= 10b,即AF功能
  • GPIOA_OSPD复位值为0x0C000000,即OSPD14=00b,OSPD13=11b,SWDIO速度为50M。
  • GPIOA_PUD复位值为0x24000000,即PUD14=10b,PUD13=01b,SWCLK为下拉,SWDIO为上拉。

推荐使用固件库来初始化GPIO,直接使用寄存器需要注意如果不使用PA14和PA13不要修改寄存器默认值。

1.3 GDLink Programmer提示软件过时?

目前YSPROG暂时只支持GDLink Programmer 3.0.0.5950版本。

使用GDLink Programmer 4.3.7.9954会弹出下图提示,无法使用。

由于实测官方GDLink使用4.3.7.9954版本无法连上GD32F150/GD32E230,原因未知,YSPROG暂未适配4.3.7.9954版本,请使用3.0.0.5950版本。

4.3.7.9954版本自带了一个命令行模式程序:GD_Link_CLI.exe,与YSPROG配合工作良好。

目前YSPROG有测试固件,可支持GDLink Programmer 4.3.7.9954和4.5.1.10871,但是没有经过全面测试,客户如果需要可以提前提出,普通用户仍然建议使用3.0.0版本。

1.4 MDK无法调试?

MDK无法调试时,先尝试使用GDLink Programmer 3.0.0来连接,排除MDK软件配置问题。

MDK调试时,芯片不能有读保护;用户的代码中不能使用SWD接口的两个管脚PA13和PA14;芯片中不能有低功耗操作。

1.5是否支持全部GD32芯片?

YSPROG使用的协议为ARM的CMSIS-DAP协议,因此支持所有GD32的ARM Cortex-M芯片

GD32VF103系列使用RISC-V内核,因此不支持,RISC-V是Cortex-M的竞争对手。

1.6是否支持其它Cortex-M芯片比如STM32?

实测可以在MDK(Keil)中使用YSPROG调试STM32F103C8T6芯片,MDK目前属于ARM公司。其它ARM的Cortex-M芯片理论上也都支持。

由于厂商的限制,不能在ST-Link Utility这类专用上位机软件中使用。

YSPROG使用视频教程

使用GD-Link Programmer演示视频