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
S
根据提示,选择连接方式,博主这里使用的是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
S
根据提示,选择连接方式,博主这里使用的是SWD,所以输入s即可;
选择速率:输入4000即为4000kHz
在这里插入图片描述
如下,表示连接成功
在这里插入图片描述
接下来根据手册,我们查看是是否解锁成功,查看0x1ffff800地址的头两个字节是否为A5 5A(即A5和它的补字节)
在这里插入图片描述
输入命令,mem 0x1ffff800 10,可以看到头两个字节是A5和5A,所以也验证了确实解锁成功了
在这里插入图片描述
同时,也可以验证下手册中提到的,当保护解除,会自动触发一次全片擦除
在这里插入图片描述
我们输入命令,mem 0x08000000 10,
在这里插入图片描述

可以看到,地址内的内容全变为0xFF,验证现象与手册中提到的是一致的。


三、附录

附录来源于网络,供参考未验证GD32E230系列 <> STM32F030系列
GD32E230F4 <> STM32F030F4
GD32E230R8 <> STM32F030R8GD32F10X,GD32F30X,GD32E103,GD32F3X0 <> STM32F103系列
GD32F103C8 GD32F303C8 GD32E103C8 GD32F3x0C8<> STM32F103C8GD32F450 <> STM32F429系列
GD32F450VE <> STM32F429VE

J-Link 命令行相关命令查询 https://wiki.segger.com/J-Link_Commander

总结

以上就是使用J-Falsh相关工具解锁GD32单片机的两种简易方法!!!

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/690921.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jakarta Bean Validation

Validation 官网 https://beanvalidation.org/ 常见注解 Bean Validation中定义的注解&#xff1a; 注解详细信息Null被注释的元素必须为 nullNotNull被注释的元素必须不为 nullAssertTrue被注释的元素必须为 trueAssertFalse被注释的元素必须为 falseMin(value)被注释的元素…

不买服务器也可以将本地服务放到互联网(ngrok内网穿透)

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 不买服务器也可以将本地服务放到互联网 前言ngrok基础&#xff1a;穿越网络边界的魔法使用场景&#xff1a;突破网络限制的利器实战 前言 在网络的世界里&#xff0c;有时候你的服务像是困在一座数字…

IO进程线程作业day2

使用fread和fwrite完成两个图片文件的拷贝 #include <myhead.h> #define high 541 #define wide 541 int main(int argc, const char *argv[]) {//以只读的方式打开图片文件1.bmpFILE *fp NULL;if((fp fopen("./1.bmp", "r")) NULL){perror(&qu…

【RPG Maker MV 仿新仙剑 战斗场景UI (二)】

RPG Maker MV 仿新仙剑 战斗场景UI 二 战斗指令菜单原仙剑战斗指令图RMMV战斗指令对应代码战斗指令菜单代码效果 战斗指令菜单 原仙剑战斗指令菜单是使用方向键控制&#xff0c;同时按照使用情况正好对应四个指令和四个方向&#xff0c;同时没有选中的菜单用黑色透明图片覆盖&…

左右联动布局效果

效果图&#xff1a; <template><el-dialog :modelValue"modelValue" :before-close"close" fullscreen :close-on-click-modal"false"><div class"farmer_detail"><div class"info_content"><di…

基于Springboot+Vue的超市管理系统源码

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 随着社会经济的发展和…

力扣OJ题——相交链表

题目&#xff1a;160. 相交链表 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 思路一&#xff08;暴力求解&#xff09;&#xff1a; A链表的每个节点依次跟B链表中节点进行…

stm32 DCMI的知识点

1.DCMI的简介 DCMI全称Digital camera interface&#xff08;数字摄像头接口&#xff09;&#xff0c;是一种可以采集摄像头数据的一种接口。此接口适用于黑白摄像头、X24 和 X5 摄像头&#xff0c;并可以假定所有预处理&#xff08;如调整大小&#xff09;都可以在该摄像头模…

【动态规划专栏】专题一:斐波那契数列模型--------1.第N个泰波那契数

本专栏内容为&#xff1a;算法学习专栏&#xff0c;分为优选算法专栏&#xff0c;贪心算法专栏&#xff0c;动态规划专栏以及递归&#xff0c;搜索与回溯算法专栏四部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握算法。 &#x1f493;博主csdn个人主页&#xff1a;小…

【Go语言】Go语言的数据类型

GO 语言的数据类型 Go 语言内置对以下这些基本数据类型的支持&#xff1a; 布尔类型&#xff1a;bool 整型&#xff1a;int8、byte、int16、int、uint、uintptr 等 浮点类型&#xff1a;float32、float64 复数类型&#xff1a;complex64、complex128 字符串&#xff1a;st…

层级关联,审批人功能

一个需求要求选择一级&#xff0c;下方展示一级的效果 后端给了审批人数据&#xff0c;但是数据需要单独处理 <template><div class"box"><el-form :model"ruleForm" :rules"rules" ref"ruleForm" label-width"…

MySQL多实例部署:从概念到实操的全面指南

目录 MySQL多实例管理 单实例 什么是多实例 多实例的好处 多实例的弊端 MySQL多实例用在哪些场景 资金紧张的公司 用户并发访问量不大的业务 大型网站也有用多实例 部署MySQL多实例 rpm和源码的优缺点 二进制方式安装mysql 准备二进制mysql运行所需的环境 准备多…

Android---Retrofit实现网络请求:Java 版

简介 在 Android 开发中&#xff0c;网络请求是一个极为关键的部分。Retrofit 作为一个强大的网络请求库&#xff0c;能够简化开发流程&#xff0c;提供高效的网络请求能力。 Retrofit 是一个建立在 OkHttp 基础之上的网络请求库&#xff0c;能够将我们定义的 Java 接口转化为…

IO线程进程

代码练习 使用fread和fwrite完成两个文件的拷贝 #include<myhead.h>int main(int argc, const char *argv[]) {FILE *fp NULL;//重新以只读的形式打开文件if((fp fopen("./OIP-C.bmp", "r")) NULL){perror("fopen error");return -1;…

SICTF round#3 web

1.100&#xff05;_upload url可以进行文件包含&#xff0c;但是flag被过滤 看一下源码 <?phpif(isset($_FILES[upfile])){$uploaddir uploads/;$uploadfile $uploaddir . basename($_FILES[upfile][name]);$ext pathinfo($_FILES[upfile][name],PATHINFO_EXTENSION);$t…

FL Studio21中文版本混音功能介绍

FL Studio 21的混音功能是其音乐制作能力中不可或缺的一部分&#xff0c;它为用户提供了强大的工具&#xff0c;以便他们可以对音轨进行细致的调整&#xff0c;确保音乐作品的最终呈现效果达到最佳。 FL Studio 21 Win-安装包下载如下: https://wm.makeding.com/iclk/?zonei…

数字化转型导师坚鹏:政府数字化转型之数字化技术

政府数字化转型之数字化技术 ——物联网、云计算、大数据、人工智能、虚拟现实、区块链、数字孪生、元宇宙等综合解析及应用 课程背景&#xff1a; 数字化背景下&#xff0c;很多政府存在以下问题&#xff1a; 不清楚新技术的发展现状&#xff1f; 不清楚新技术的重要应…

macOS开启HiDPI外接2K显示器(解决字体发虚问题)

1.前言&#xff1a; 购置了一台2K显示器&#xff0c;但通过HDMI直接连接时的显示效果让人难以接受&#xff0c;因此我们需要启用苹果系统的HiDPI模式&#xff0c;以实现更完美的显示效果。 那么&#xff0c;为什么要启用HiDPI模式呢&#xff1f;2K显示器的分辨率为2560*1440&…

IDEA连接database数据库

文章目录 一、连接数据库1、连接mysql2、连接参数配置3、配置驱动从maven仓库下载&#xff1a;要求联网将提前下载好的jar放到本地目录 4、完成 二、执行sql1、选择要操作的数据库2、执行sql 三、问题1、可能因为时区问题连接不上 一、连接数据库 1、连接mysql 2、连接参数配置…

【AI数字人-论文】AD-NeRF论文

文章目录 NeRFAD-NeRF模型NeRF体渲染个体NeRF表示背景和姿态编辑 loss 参考 NeRF 将一个连续的场景表示为一个输入为5D向量的函数&#xff0c;这个函数为NeRF函数&#xff0c;它的输入由一个空间点的3D位置 x ( x , y , z ) \mathbf{x} \left( x, y, z \right) x(x,y,z)和它…