經(jīng)濟(jì)、輕巧、便捷的新一代MCU仿真器

YSPROG FOR GD32 MCU是深圳映時科技新研發(fā)的一款專門針對GD32MCU的仿真器,其對GD-Link不常用的功能進(jìn)行了刪減,只保留常用的SWD調(diào)試功能,降低了成本,使用上兼容GD32的START系列開發(fā)板板載調(diào)試器。
YSPROG使用ARM標(biāo)準(zhǔn)的CMSIS-DAP協(xié)議,理論上可用于所有ARM Cortex M系列MCU,同時USB接口使用HID協(xié)議,免去安裝驅(qū)動的麻煩。

主要特性
- 小巧便攜,僅優(yōu)盤大小,重量不足8克。
- 使用標(biāo)準(zhǔn)CMSIS-DAP協(xié)議,支持所有ARM Cortex M系列MCU的調(diào)試。
- USB使用HID協(xié)議,Windows下免驅(qū)動。
- 支持MDK、pyOCD、GD-Link Programmer等軟件。
- 內(nèi)置500mA自恢復(fù)保險絲。
- 支持固件升級。
常見問題FAQ
1.1 為什么連不上目標(biāo)芯片?
根據(jù)實(shí)際客戶反饋,連不上目標(biāo)芯片大部分原因是杜邦線接線問題。包括但不限于以下情況:
- 連接JTAG接口,YSPROG只支持SWD,不支持JTAG。
- CLK和DIO管腳接錯,從背面看排針絲印CLK和DIO在靠外的那排排針上。圖 3中的方形焊盤不是CLK,而是TDI。
- CLK和DIO管腳交叉,SWD調(diào)試的CLK和DIO是直連,不是交叉。
- 杜邦線不通。可以用萬用表通斷檔排除該問題。
- 目標(biāo)板應(yīng)用程序使用了PA14(SWCLK)、PA13(SWDIO)兩個管腳。
- 目標(biāo)板應(yīng)用程序使用了低功耗功能,調(diào)試時請暫時關(guān)閉低功耗功能。
- 使用3.3V給目標(biāo)板供電,3.3V對外輸出能力有限,目標(biāo)板請獨(dú)立供電。
實(shí)際目標(biāo)板上的3.3V通常會連接很多器件,GDLink板載的SOT-23電源芯片帶載能力有限,無法帶動那么多元器件。目標(biāo)板請獨(dú)立供電,或者使用GDLink-Lite的5V給目標(biāo)板供電。
1.2注意PA14(SWCLK)、PA13(SWDIO)默認(rèn)狀態(tài)
直接使用寄存器的用戶需要特別注意:不要修改PA14和PA13相關(guān)的默認(rèn)值。
因?yàn)镾WD接口在PORTA,PORTA的復(fù)位狀態(tài)和其它端口不同,PA14和PA13默認(rèn)復(fù)位為AF功能。
以GD32E230為例:
- GPIOA_CTL復(fù)位值為0x28000000,即CTL14=10b,CTL13= 10b,即AF功能。
- GPIOA_OSPD復(fù)位值為0x0C000000,即OSPD14=00b,OSPD13=11b,SWDIO速度為50M。
- GPIOA_PUD復(fù)位值為0x24000000,即PUD14=10b,PUD13=01b,SWCLK為下拉,SWDIO為上拉。
推薦使用固件庫來初始化GPIO,直接使用寄存器需要注意如果不使用PA14和PA13不要修改寄存器默認(rèn)值。
1.3 GDLink Programmer提示軟件過時?
目前YSPROG暫時只支持GDLink Programmer 3.0.0.5950版本。
使用GDLink Programmer 4.3.7.9954會彈出下圖提示,無法使用。

由于實(shí)測官方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,但是沒有經(jīng)過全面測試,客戶如果需要可以提前提出,普通用戶仍然建議使用3.0.0版本。
1.4 MDK無法調(diào)試?
MDK無法調(diào)試時,先嘗試使用GDLink Programmer 3.0.0來連接,排除MDK軟件配置問題。
MDK調(diào)試時,芯片不能有讀保護(hù);用戶的代碼中不能使用SWD接口的兩個管腳PA13和PA14;芯片中不能有低功耗操作。
1.5是否支持全部GD32芯片?
YSPROG使用的協(xié)議為ARM的CMSIS-DAP協(xié)議,因此支持所有GD32的ARM Cortex-M芯片。
GD32VF103系列使用RISC-V內(nèi)核,因此不支持,RISC-V是Cortex-M的競爭對手。
1.6是否支持其它Cortex-M芯片比如STM32?
實(shí)測可以在MDK(Keil)中使用YSPROG調(diào)試STM32F103C8T6芯片,MDK目前屬于ARM公司。其它ARM的Cortex-M芯片理論上也都支持。
由于廠商的限制,不能在ST-Link Utility這類專用上位機(jī)軟件中使用。