[STM32H7] stm32h7芯片上锁,解除flash读保护状态

[复制链接]
1121|9
 楼主| Jiangxiaopi 发表于 2025-3-8 11:29 | 显示全部楼层 |阅读模式
现象
给芯片下载程序的时候,keil读取不到芯片,首先排查供电是否正常,烧录管脚接线是否正确,检查都无问题。考虑是芯片上锁了,flash进入到读保护状态。

解决办法
下载ST官方的ST-LINK Utililty软件
将芯片的四个管教与ST-LINK下载器接好,打开软件,点击connect,提示连接以后,读取到芯片的信息以后,下载一个已经编译好的hex文件,program进去。下载后,芯片可以正常读取。

3313167ca5f894e552.png

未配置烧录管脚
使用stm32cubemx,弱没有配置serial wire在第一识别芯片以后也会让新芯片上锁,也可以使用以上方法解锁。



————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_44333690/article/details/145923796

tpgf 发表于 2025-4-9 12:17 | 显示全部楼层
是否考虑可以通过软件代码进行解锁的操作呢
flycamelaaa 发表于 2025-4-9 12:32 | 显示全部楼层
会不会擦除整个 Flash。
yangjiaxu 发表于 2025-4-9 14:32 | 显示全部楼层
解锁一般都可以用ISP烧个简单的程序解决,如果不可以ISP的话,就用jlink试试解锁,实在不行,换芯片吧
dongnanxibei 发表于 2025-4-10 10:42 | 显示全部楼层
我有个开发板芯片被锁,不知道如何解。
磨砂 发表于 2025-4-11 17:18 | 显示全部楼层
在软件界面中找到“Option bytes”或相关设置选项,将读保护级别设置为“Level 0”,然后点击“Program”或“Apply”按钮,软件会自动将新的设置写入芯片,解除读保护状态
晓伍 发表于 2025-4-12 09:49 | 显示全部楼层
在代码中调用[size=0.875]FLASH_Unlock()函数,解锁Flash控制器,以便进行后续操作
八层楼 发表于 2025-4-12 12:05 | 显示全部楼层
FLASH_OBProgramInitTypeDef OptionsBytesStruct;
OptionsBytesStruct.OptionType = OPTIONBYTE_RDP;
OptionsBytesStruct.RDPLevel = OB_RDP_LEVEL_0;
HAL_StatusTypeDef status = HAL_FLASHEx_OBProgram(&OptionsBytesStruct);
if(status == HAL_OK){
    // 操作成功
}else{
    // 处理错误
}


观海 发表于 2025-4-12 14:37 | 显示全部楼层
为了防止误操作,在完成读保护解除后,可以再次调用[size=0.875]FLASH_Lock()函数锁定Flash控制器
guanjiaer 发表于 2025-4-12 16:57 | 显示全部楼层
可以使用ST-LINK Utility软件进行解锁
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

250

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部