硬汉嵌入式论坛

 找回密码
 立即注册
查看: 334|回复: 5
收起左侧

[有问必答] STM32读保护

[复制链接]

2

主题

4

回帖

10

积分

新手上路

积分
10
发表于 2024-3-13 16:50:06 | 显示全部楼层 |阅读模式
使用的GD32F407芯片,然后执行读保护程序后,发现依然可以正常烧录跟调试,烧录日志上显示JLink执行了之前在注册表中保存的默认行为,对设备进行了解锁操作,并成功解锁了设备。
这是JLink自动破解了读保护功能吗?咋样才能让他真正实现读保护
        HAL_FLASH_OB_Unlock();
// 配置选项字节
        FLASH_OBProgramInitTypeDef OBConfig;
        OBConfig.OptionType = OPTIONBYTE_RDP;
        OBConfig.RDPLevel = OB_RDP_LEVEL_1; // 设置读保护级别
        HAL_FLASHEx_OBProgram(&OBConfig);

//// 锁定选项字节寄存器
        HAL_FLASH_Lock(); // 锁定 Flash
        HAL_FLASH_OB_Lock(); // 锁定选项字节
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106840
QQ
发表于 2024-3-14 00:41:07 | 显示全部楼层
大部分厂家芯片操作Option byte选项字节后,需要断电复位才会生效
https://www.armbbs.cn/forum.php? ... 0182&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

2

主题

4

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2024-3-14 09:07:16 | 显示全部楼层
eric2013 发表于 2024-3-14 00:41
大部分厂家芯片操作Option byte选项字节后,需要断电复位才会生效
https://www.armbbs.cn/forum.php?mod=v ...

我断电重新上电,发现还是可以从jflash里面读出来
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106840
QQ
发表于 2024-3-14 09:14:29 | 显示全部楼层
Thursdays 发表于 2024-3-14 09:07
我断电重新上电,发现还是可以从jflash里面读出来

那你的代码没有设置成功

设置level1读保护,解除读保护后要整片擦除,如果读出来是0xFF,那是正常的。
回复

使用道具 举报

2

主题

4

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2024-3-16 14:46:55 | 显示全部楼层
eric2013 发表于 2024-3-14 09:14
那你的代码没有设置成功

设置level1读保护,解除读保护后要整片擦除,如果读出来是0xFF,那是正常的。

读出来的不是0xFF,跟没有设置读出来的一样,是因为我用GD芯片,但程序库函数用的ST的导致的不兼容吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106840
QQ
发表于 2024-3-16 15:14:35 | 显示全部楼层
Thursdays 发表于 2024-3-16 14:46
读出来的不是0xFF,跟没有设置读出来的一样,是因为我用GD芯片,但程序库函数用的ST的导致的不兼容吗?

对,估计是不兼容。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-7 08:03 , Processed in 0.269145 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表