经济、轻巧、便捷的新一代MCU仿真器
YSPROG FOR GD32 MCU是深圳映时科技新研发的一款专门针对GD32MCU的仿真器,其对GD-Link不常用的功能进行了删减,只保留常用的SWD调试功能,降低了成本,使用上兼容GD32的START系列开发板板载调试器。
YSPROG使用ARM标准的CMSIS-DAP协议,理论上可用于所有ARM Cortex M系列MCU,同时USB接口使用HID协议,免去安装驱动的麻烦。
主要特性
- 小巧便携,仅优盘大小,重量不足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这类专用上位机软件中使用。