打印

【GD32 MCU入门教程】六、GD32 MCU 选项字节设置及解除方法

[复制链接]
751|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
聚沃科技|  楼主 | 2024-8-27 09:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
您在使用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方案商聚沃科技原创发布,了解更多GD32 MCU教程,关注聚沃科技官网,GD32MCU技术交流群:859440462

使用特权

评论回复
沙发
tpgf| | 2024-9-3 11:59 | 只看该作者
GD32 MCU选项字节的设置及解除方法包括通过代码、JTAG/SWD接口、ISP命令等方式

使用特权

评论回复
板凳
wakayi| | 2024-9-5 10:10 | 只看该作者
通过连接Jlink与目标板,并使用J-Link Commander工具输入相应命令,可以实现选项字节的读取和写入

使用特权

评论回复
地板
wowu| | 2024-9-5 20:07 | 只看该作者
修改芯片的BOOT电平并让其进入ISP状态,如果芯片处于读保护状态,可以选择去除读保护

使用特权

评论回复
5
xiaoqizi| | 2024-9-10 15:21 | 只看该作者
修改芯片的BOOT电平并让其进入ISP状态,如果芯片处于读保护状态,可以选择去除读保护

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

170

主题

190

帖子

7

粉丝