硬汉嵌入式论坛

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

[客户分享] STM32F412的选项字节RDP为0xAA,而SPRMOD为1且使能对应扇区PCROP后,芯片将无法解除保护,再也无法烧录程序

[复制链接]

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
120448
QQ
发表于 2025-12-9 01:35:28 | 显示全部楼层 |阅读模式
STM32F412的选项字节说明如下:

1.png

2.png

3.png

特别注意这个SPRMOD设置

闪存用户扇区(0至11)可通过专用读保护(PCROP)功能防止D总线读取访问。PCROP保护的启用方式如下,通过FLASH_CR寄存器中的SPRMOD选项位进行选择:
- SPRMOD = 0:nWRPi控制对应用户扇区的写保护
- SPRMOD = 1:nWRPi控制对应用户扇区的读写保护(PCROP)

当扇区启用读保护(PCROP模式激活)时,仅能通过闪存接口的ICODE总线执行取指操作访问:
- 通过D总线进行的任何读取操作将触发RDERR标志错误。
- 对PCROP保护扇区的任何编程/擦除操作将触发WRPERR标志错误。

关键的问题来了:

只有当RDP级别从1变为0时,才能同时停用SPRMOD和/或解除PCROP保护用户扇区的保护。若未满足此条件,用户选项字节的修改将被取消,并置位写入错误标志WRPERR。由于所有有效的nWRPi位均未复位且SPRMOD保持激活状态,允许修改用户选项字节(BOR_LEV、RST_STDBY等)。

也就是下面这个设置

1234.png



回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-10 17:27 , Processed in 0.067505 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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