六、GD32 MCU 选项字节设置及解除方法

news2024/9/21 5:48:41

您在使用GD32过程中是否遇到过芯片反复复位,代码无法更新,代码一直执行在0x1fffxxxx区域,或代码执行在SRAM区域的情况?如果有遇到这类现象是否找到原因呢?如果没找到是否检查过选项字节是否正常呢?这一章节我们针对各系列的选项字节设置和解除做一个相关说明,后续遇到上述问题可以考虑一下是否是选项字节配置错误导致。

1 .各系列选项字节说明

GD32L23x/GD32E50x系列选项字节:

输入图片说明

GD32E103/GD32E11x/GD32VF103/GD32C103/GD32C113GD32F10x/GD32F20x/GD32F30x/GD32F403系列选项字节介绍:

输入图片说明

GD32F1x0/GD32F3x0/GD32E230/GD32E231/GD32E232系列选项字节:

输入图片说明

GD32A503选项字节:

输入图片说明

GD32F4xx系列选项字节:

输入图片说明

2.通过代码实现

具体做法这里不详细介绍,具体参考5.11章FMC配置介绍,需要注意,读保护的设置和解除需要芯片上下电才能生效,通过外部代码解除读保护需要将代码运行在ram里面执行。

 3.通过 JTAG/SWD 接口实现

3.1.使用 Jlink 设置和解除选项字节

连好Jlink与目标板连线,打开J-Link Commander命令提示窗工具“JLink.exe”

输入图片说明

按照提示输入相应信息 connect→?→s→100

输入图片说明

如果连接OK,可以识别到芯片的内核信息,即可输入mem命令获取对应的选项字节信息;

输入图片说明

Jlink command 常用命令简介:

mem Read memory. Syntax: mem [<Zone>:]<Addr>, <NumBytes> (hex)
mem8 Read 8-bit items. Syntax: mem8 [<Zone>:]<Addr>, <NumBytes> (hex)
mem16 Read 16-bit items. Syntax: mem16 [<Zone>:]<Addr>, <NumItems> (hex)
mem32 Read 32-bit items. Syntax: mem32 [<Zone>:]<Addr>, <NumItems> (hex)
w1 Write 8-bit items. Syntax: w1 [<Zone>:]<Addr>, <Data> (hex)
w2 Write 16-bit items. Syntax: w2 [<Zone>:]<Addr>, <Data> (hex)
w4 Write 32-bit items. Syntax: w4 [<Zone>:]<Addr>, <Data> (hex)

通过上位机J-Flash设置读保护:

a.在J-Flash中选择对应物料型号:

输入图片说明

b.接调试线,然后选择Target→ Connect:

输入图片说明

c.选择Target→ Manual Programming→Secure Chip,可完成芯片读保护设置;

输入图片说明

d.读保护设置完成后重新上电下电可以通过Jlink command回读判断;

输入图片说明

通过上位机J-Flash去除读保护:

将 目 标 板 通 过 Jlink 与 目 标 板 连 接 后 , 选 择 对 应 物 料 型 号 ,Target→ManualProgramming→Unsecure Chip

输入图片说明

注:(1)通过JFlash上位机仅能设置读保护,不能设置其他选项字节;

(2)GD32F405/407/450系列之外的型号通过设置读保护,断电,再解除读保护可以实现其他选项字节的擦除;

通过J-Flash上位机其他办法设置和去除读保护:(了解即可)

A、使用绿色版Jflash里面jflash的project工程,里面已经写好了Init setps,如果设置了读保护,将jlink与目标板connect时会发送Init steps序列解除读保护;

输入图片说明

B、使用bat脚本调用.jlink文件来实现读写保护的设置,可以找技术支持提供相应资源,原理不详述;

输入图片说明

3.2.使用 GDlink 设置和解除选项字节:

a.接好GDLINK与目标芯片的连线,然后打开Target→Connect

输入图片说明

b.Connect后会在信息窗口自动回读芯片信息和选项字节信息;

输入图片说明

c.选择Target里面的Configure OptionBytes点开即可编辑选项字节(仅三合一的GDLINK支持)

输入图片说明

输入图片说明

板载的GDlink不支持Configure OptionBytes,仅可设置和解除读保护;

板载GDLINK connect时出现如下界面选择“确定”,然后设置”Securtiy”和”Insecurity”

输入图片说明

输入图片说明

4.通过 ISP 命令选项字节设置和解除

通过ISP命令选项字节设置和解除:

a.将修改芯片BOOT电平,接好串口/USB,让芯片处于ISP状态

输入图片说明

b.如果芯片处于读保护状态,接下来会直接让你选择去除读保护,否则无法继续往后执行;

输入图片说明

c.读保护去除成功后会弹出Readout unprotected successfully!界面。

输入图片说明

d.选择下一步芯片会读取写保护状态,如果被锁上W会被置位;

输入图片说明

e.选择Edit Option Bytes可以对选项字节进行编辑下载和读取

输入图片说明

输入图片说明

 更多GD32 MCU相关咨询:https://www.gd32bbs.com/  

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

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

相关文章

C++ | 类和对象(下)(static成员、友元、内部类、匿名对象)

目录 ​编辑 static成员 static性质简介 static属于整个类&#xff0c;属于所有对象 static成员的声明与定义 static函数 友元friend 友元特性简介 友元关系讲解 内部类 特性一 特性二 匿名对象 结语 static成员 static性质简介 static成员在类里面是非常独特的…

ContentProvider的相关知识总结

1.ContentProvider概念讲解&#xff1a; 2.使用系统提供的ContentProvider 其实很多时候我们用到ContentProvider并不是自己暴露自己的数据&#xff0c;更多的时候通过 ContentResolver来读取其他应用的信息&#xff0c;最常用的莫过于读取系统APP&#xff0c;信息&#xff0c…

Kubernetes中的CRI、CNI与CSI:深入理解云原生存储、网络与容器运行时

引言 随着云原生技术的飞速发展&#xff0c;Kubernetes&#xff08;简称K8s&#xff09;作为云原生应用的核心调度平台&#xff0c;其重要性日益凸显。K8s通过开放一系列接口&#xff0c;实现了高度的可扩展性和灵活性&#xff0c;其中CRI&#xff08;Container Runtime Inter…

使用归一化连接计数的胸部CT成像:预测CanCOLD研究中的肺气肿进展| 文献速递-AI辅助的放射影像疾病诊断

Title 题目 CT Chest Imaging Using Normalized Join-Count: Predicting Emphysema Progression in the CanCOLD Study 使用归一化连接计数的胸部CT成像&#xff1a;预测CanCOLD研究中的肺气肿进展 Background 背景 Pre-existing emphysema is recognized as an indicator…

【C++】------继承(一)

目录 前言 一、概念与定义 Ⅰ、是什么&#xff1f; Ⅱ、定义 1.定义格式&#xff1a; 2.继承方式和访问限定符 3.基类&#xff08;父类&#xff09;成员访问方式的变化 二、父类与子类的赋值转化 基本认识 原理 三、 继承中的作用域 四、子类(派生类)的默认成员函…

Spring中是如何实现IoC和DI的?

前言&#xff1a;在前一篇文章中对于IoC的核心思想进行了讲解&#xff0c;而本篇文章则从Spring的角度入手&#xff0c;体会Spring对于IoC是如何实现的。 如果对IoC还有不太了解的可以阅读上一篇文章&#xff0c;相信一定会带来全新的收获&#xff1a;什么是IoC&#xff08;控制…

5.5软件工程-系统测试

系统测试 意义和目的原则测试过程测试策略测试方法练习题 测试用例设计黑盒测试等价类划分边界值分析错误推测因果图 白盒测试逻辑覆盖循环覆盖基本路径测试法 练习题 调试软件度量练习题 考点少&#xff0c;知识点多 意义和目的 系统测试的意义&#xff1a;系统测试是为了发现…

浅谈Redis集群架构与主从架构

目录 1. Redis集群1.1 集群概念1.2 集群分片1.3 重新分片 2. 集群的主从模型2.1 主从模型2.2 主节点选举 1. Redis集群 1.1 集群概念 面试官&#xff1a;我看你简历写了Redis集群&#xff0c;你说一说&#xff1f; Redis主从架构和Redis集群架构是两种不同的概念&#xff0c;大…

【Spring成神之路】从源码角度深度刨析Spring循环依赖

文章目录 一、引言二、循环依赖出现的场景2.1 有参构造导致的循环依赖问题2.2 属性注入出现的依赖问题2.3 Spring IOC创建Bean的流程2.4 有参构造为何失败2.5 属性注入为何能成功2.6 AOP导致的循环依赖 三、Spring循环依赖源码刨析四、Spring循环依赖案例刨析 一、引言 循环依…

【MATLAB源码】数学建模基础教程---初步认识数学建模

系列文章目录在最后面&#xff0c;各位同仁感兴趣可以看看&#xff01; 什么是数学建模 含义1.区分数学模型和数学建模2. 建立数学模型的注意事项3.数学建模流程图解4.数学建模模型分类5.论文常用套路6.最后&#xff1a;总结系列文章目录 含义 所谓数学建模&#xff0c;简言…

Python 中实现聊天客户端库

在 Python 中实现一个简单的聊天客户端库可以通过使用 socket 模块来处理网络通信。我们可以构建一个基于 TCP 的简单聊天系统&#xff0c;其中包括一个服务器和一个客户端。 1、问题背景 假设您正在尝试编写一个 Python 库&#xff0c;用于实现某个聊天协议的客户端。在连接…

c++入门基础(下篇)————引用、inline、nullptr

引用 引用的概念和定义 引⽤不是新定义⼀个变量&#xff0c;⽽是给已存在变量取了⼀个别名&#xff0c;编译器不会为引⽤变量开辟内存空间&#xff0c; 它和它引⽤的变量共⽤同⼀块内存空间。 类型& 引用别名 引用对象; 就像孙悟空也叫齐天大圣 猪八戒也叫天蓬元帅。…

正点原子imx6ull-mini-Linux驱动之Linux 自带的 LED 灯驱动实验(16)

前面我们都是自己编写 LED 灯驱动&#xff0c;其实像 LED 灯这样非常基础的设备驱动&#xff0c;Linux 内 核已经集成了。Linux 内核的 LED 灯驱动采用 platform 框架&#xff0c;因此我们只需要按照要求在设备 树文件中添加相应的 LED 节点即可&#xff0c;本章我们就来学习如…

Level3答案

突然发现&#xff0c;忘记公布了Level3答案&#xff1a; 1、 (1)heker.h HeiKe.h (2)Make_Text() (3)3 (4)heker.h 2、 (1)ArtText.h Maker_World.h (Maker_Game头文件组) (2)5.0 附加题、 我把标题截了张图&#xff01; 这是我们 Cookie Maker工作室 新出来的 “无标题技术”…

JavaScript基础——JavaScript数据及数据类型

JavaScript中数据的分类 数据是指设备、浏览器可以识别的内容。在JavaScript中&#xff0c;数据可分为基本数据类型&#xff08;值数据类型&#xff09;和引用数据类型。 console.log()函数 浏览器中按下F12或者右击检查&#xff0c;可以打开控制台。 在JavaScript中&#xff0…

微服务通过X-Forwarded-For获取客户端最原始的IP地址

文章目录 引言I 通过转发IP列表获取用户的IP地址II 存储真实IP字段到MDC中2.1 自己存储真实IP字段,方便获取。2.2 feign 传递MDC数据(将MDC中数据传入header)III 处理真实IP(应用)3.1 从MDC获取存储到日志系统中3.2 logback获取MDC数据(IP、追踪码)3.3 打印接口的请求IP引…

教你用python代码写一个中国象棋游戏

编写一个完整的中国象棋游戏是一个复杂的项目&#xff0c;因为它涉及到图形用户界面(GUI)的设计、游戏规则的实现、AI对手的开发等多个方面。不过&#xff0c;我可以提供一个简化的框架和一些基本思路&#xff0c;帮助你开始这个项目。 由于这里不能完整地实现一个图形化的象棋…

三十六、MyBatis-Plus(2)

&#x1f33b;&#x1f33b; 目录 一、CRUD 扩展&#xff08;1)1.1 Insert1.2 主键生成策略1.2.1 源码解释1.2.2 Twitter的snowflake算法 (雪花算法)1.2.3 主键自增&#xff1a;AUTO 我们需要配置主键自增1.2.4 手动输入&#xff1a;INPUT 就需要自己写 id 1.3 Update1.4 自动填…

2024杭电多校第五场

第一题&#xff1a;开关灯 直接暴力找规律。 发现如果n2&#xff08;mod3&#xff09;那么就是2的n-1次方。否则直接是2的n次方。 暴力代码 #include<bits/stdc.h> using namespace std; #define int long longsigned main() {int temp[100];temp[0] 1;for (int i …

SOMEIP_ETS_001:数组长度超过消息长度允许的范围

测试目的&#xff1a; 验证DUT&#xff08;Device Under Test&#xff0c;被测设备&#xff09;在接收到数组长度超过SOME/IP协议允许的最大长度时&#xff0c;是否能够返回错误消息。 描述 本测试用例旨在检查DUT在接收到一个SOME/IP消息时&#xff0c;如果该消息中的数组长…