J-Flash J-Link解锁GD32单片机

02-27 1112阅读

目录

  • 前言
  • 一、使用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-Flash J-Link解锁GD32单片机

            我们先来用J-Link命令行验证下是否是真的开启了安全保护的

            打开J-Link Commander

            J-Flash J-Link解锁GD32单片机

            如下,根据提示,输入Connect,

            J-Flash J-Link解锁GD32单片机

            根据提示,再输出?,选择你对应的单片机芯片,博主这里选择为GD32F303RC

            J-Flash J-Link解锁GD32单片机

            根据提示,选择连接方式,博主这里使用的是SWD,所以输入s即可;

            选择速率:输入4000即为4000kHz

            J-Flash J-Link解锁GD32单片机

            如下,表示连接成功

            J-Flash J-Link解锁GD32单片机

            我们使用mem 0x08000000 10命令来查看地址为0x08000000起始的10个字节的数据

            J-Flash J-Link解锁GD32单片机

            上图中可以看到,提示我们并不能读取到内存(Flash)的的内容;

            还有一种方法,GD32同STM32一样,可通过查看相应的配置寄存器内容来辨别是否安全保护(上锁),如下图

            J-Flash J-Link解锁GD32单片机

            当地址0x1ffff800,即SPC的内容不是0xA5时,则处于保护状态,同样他的布字节同理

            我们输入mem 0x1ffff800 10命令

            J-Flash J-Link解锁GD32单片机

            可以看到SPC的地址并不是0xA5,而是0xBB,同理它的补字节即SPC_N,也不是0x5A,而是0x44,所以我们可以肯定的是当前单片机Flash是处于保护状态的。


            提示:演示使用的单片机为GD32F303RC

            一、使用J-Flash工具解锁单片机

            1.打开J-Flash软件

            J-Flash J-Link解锁GD32单片机

            2.创建工程

            J-Flash J-Link解锁GD32单片机

            选择芯片为STM32F103RC,256KB的Flash大小这一款

            J-Flash J-Link解锁GD32单片机

            3.连接 J-Link

            选择连接,Connect

            J-Flash J-Link解锁GD32单片机

            弹窗,点击Yes

            J-Flash J-Link解锁GD32单片机

            4.解锁Flash

            选择Unsecure Chip,开始解锁

            J-Flash J-Link解锁GD32单片机

            弹窗提示解锁成功,然后可以开始愉快的编程下载了

            J-Flash J-Link解锁GD32单片机

            二、使用J-Link STM32 Unlock解锁GD32

            1.打开J-Link STM32 Unlock工具

            J-Flash J-Link解锁GD32单片机

            2.命令行输入

            打开后,如下,输入2,为什么输入2,因为GD32F303类比为STM32F103(懂得都懂),虽然内核不同,但Flash大小相同

            J-Flash J-Link解锁GD32单片机

            3.解锁成功

            出现如下图所示即解锁成功

            J-Flash J-Link解锁GD32单片机

            4.验证

            如果不放心,我们可以使用keil、J-Flash再下载程序(简单),或者使用命令行(略高级)来查看

            打开J-Link Commander

            J-Flash J-Link解锁GD32单片机

            如下,根据提示,输入Connect,

            J-Flash J-Link解锁GD32单片机

            根据提示,再输出?,选择你对应的单片机芯片,博主这里选择为GD32F303RC

            J-Flash J-Link解锁GD32单片机

            根据提示,选择连接方式,博主这里使用的是SWD,所以输入s即可;

            选择速率:输入4000即为4000kHz

            J-Flash J-Link解锁GD32单片机

            如下,表示连接成功

            J-Flash J-Link解锁GD32单片机

            接下来根据手册,我们查看是是否解锁成功,查看0x1ffff800地址的头两个字节是否为A5 5A(即A5和它的补字节)

            J-Flash J-Link解锁GD32单片机

            输入命令,mem 0x1ffff800 10,可以看到头两个字节是A5和5A,所以也验证了确实解锁成功了

            J-Flash J-Link解锁GD32单片机

            同时,也可以验证下手册中提到的,当保护解除,会自动触发一次全片擦除

            J-Flash J-Link解锁GD32单片机

            我们输入命令,mem 0x08000000 10,

            J-Flash J-Link解锁GD32单片机

            可以看到,地址内的内容全变为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单片机的两种简易方法!!!

            😀授人鱼,更要授人以渔,希望猿一的本篇博客能帮助到您!

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]