J-Flash J-Link解锁GD32单片机
目录
- 前言
- 一、使用J-Flash工具解锁单片机
- 1.打开J-Flash软件
- 2.创建工程
- 3.连接 J-Link
- 4.解锁Flash
- 二、使用J-Link STM32 Unlock解锁GD32
- 1.打开J-Link STM32 Unlock工具
- 2.命令行输入
- 3.解锁成功
- 4.验证
- 三、附录
- 总结
- 😀*授人鱼,更要授人以渔,希望猿一的本篇博客能帮助到您!*
前言
提示:本篇所使用的工具为J-Link V9,软件为J-Flash V6.48b
当给GD32单片机Flash上锁,即配置安全保护后,单片机无法再通过keil、J-Link工具J-Flash烧录程序,
可通过J-Link STM32 Unlock或者J-Flash两种方法都可以。
我们先来用J-Link命令行验证下是否是真的开启了安全保护的
打开J-Link Commander
如下,根据提示,输入Connect,
根据提示,再输出?,选择你对应的单片机芯片,博主这里选择为GD32F303RC
根据提示,选择连接方式,博主这里使用的是SWD,所以输入s即可;
选择速率:输入4000即为4000kHz
如下,表示连接成功
我们使用mem 0x08000000 10命令来查看地址为0x08000000起始的10个字节的数据
上图中可以看到,提示我们并不能读取到内存(Flash)的的内容;
还有一种方法,GD32同STM32一样,可通过查看相应的配置寄存器内容来辨别是否安全保护(上锁),如下图
当地址0x1ffff800,即SPC的内容不是0xA5时,则处于保护状态,同样他的布字节同理
我们输入mem 0x1ffff800 10命令
可以看到SPC的地址并不是0xA5,而是0xBB,同理它的补字节即SPC_N,也不是0x5A,而是0x44,所以我们可以肯定的是当前单片机Flash是处于保护状态的。
提示:演示使用的单片机为GD32F303RC
一、使用J-Flash工具解锁单片机
1.打开J-Flash软件
2.创建工程
选择芯片为STM32F103RC,256KB的Flash大小这一款
3.连接 J-Link
选择连接,Connect
弹窗,点击Yes
4.解锁Flash
选择Unsecure Chip,开始解锁
弹窗提示解锁成功,然后可以开始愉快的编程下载了
二、使用J-Link STM32 Unlock解锁GD32
1.打开J-Link STM32 Unlock工具
2.命令行输入
打开后,如下,输入2,为什么输入2,因为GD32F303类比为STM32F103(懂得都懂),虽然内核不同,但Flash大小相同
3.解锁成功
出现如下图所示即解锁成功
4.验证
如果不放心,我们可以使用keil、J-Flash再下载程序(简单),或者使用命令行(略高级)来查看
打开J-Link Commander
如下,根据提示,输入Connect,
根据提示,再输出?,选择你对应的单片机芯片,博主这里选择为GD32F303RC
根据提示,选择连接方式,博主这里使用的是SWD,所以输入s即可;
选择速率:输入4000即为4000kHz
如下,表示连接成功
接下来根据手册,我们查看是是否解锁成功,查看0x1ffff800地址的头两个字节是否为A5 5A(即A5和它的补字节)
输入命令,mem 0x1ffff800 10,可以看到头两个字节是A5和5A,所以也验证了确实解锁成功了
同时,也可以验证下手册中提到的,当保护解除,会自动触发一次全片擦除
我们输入命令,mem 0x08000000 10,
可以看到,地址内的内容全变为0xFF,验证现象与手册中提到的是一致的。
三、附录
附录来源于网络,供参考未验证 GD32E230系列 STM32F030系列 GD32E230F4 STM32F030F4 GD32E230R8 STM32F030R8 GD32F10X,GD32F30X,GD32E103,GD32F3X0 STM32F103系列 GD32F103C8 GD32F303C8 GD32E103C8 GD32F3x0C8 STM32F103C8 GD32F450 STM32F429系列 GD32F450VE STM32F429VE
J-Link 命令行相关命令查询 https://wiki.segger.com/J-Link_Commander
总结
以上就是使用J-Falsh相关工具解锁GD32单片机的两种简易方法!!!
😀授人鱼,更要授人以渔,希望猿一的本篇博客能帮助到您!
- 😀*授人鱼,更要授人以渔,希望猿一的本篇博客能帮助到您!*