JFlash解除GD32读保护
如果用户添加了读保护或者误操作等导致的下载不了,一般keil的提示信息如下(提示这个信息不一定就是读保护):
打开JLink-commander,可以发现芯片,如下图:
输入“mem 0x1ffff800 10”,从0x1ffff800地址读取10个字节,如果读出来的前两个字节全是FF的话说明芯片处于读保护状态
可以先进行解锁尝试,步骤如下:
1、打开J-Flash V6.40如下图:没有安装JLINK驱动的客户,自行百度JLINK V640下载安装,版本理论上没有要求,新的最好。
2、打开界面如下,操作如下:
3、选择芯片:这里选择ST的型号,为啥选ST的,一方面因为GD的型号不全,另一方面选择GD的型号可能解锁指令不能用,后面新的J-Flash版本应该会逐步完善GD。下面给出一些对应的参考型号,不唯一,大体原则就是FLASH大小保持一致。
GD32E230系列 <—> STM32F030系列
例如:GD32E230F4 <—> STM32F030F4
GD32E230R8 <—> STM32F030R8
…
GD32F10X,GD32F30X,GD32E103,GD32F3X0 <—> STM32F103系列
例如:GD32F103C8 GD32F303C8 GD32E103C8 GD32F3x0C8<—> STM32F103C8
…
GD32F450 <—> STM32F429系列
例如:GD32F450VE <—> STM32F429VE
…
其他系列类似。
例如下图,对GD32E230F4进行解锁:
4、连接MCU,下面出现Connect successfully
如果连接不上:进行如下检查:
1>复位电路是否正常,10K加0.1UF,抓电源与复位脚波形,复位时间大概在0.3ms
2>BOOT0必须拉低;
3>线尽可能的短或换线;mcu驱动能力可能不够;
5、进行解锁
之后会弹出解锁成功的对话框
6>回到JLink-commander,再次输入“mem 0x1ffff800 10”读取0x1ffff800开始的10个字节,提示前两个字节为A5 5A,说明芯片解除读保护成功,可以正常下载程序了。