STM32L452 在未知情况下打开了读保护RDP?

[复制链接]
 楼主| hello丶酷狗 发表于 2025-3-12 17:22 | 显示全部楼层 |阅读模式
各位大佬们多提提宝贵建议定位根本原因,跪谢。
STM32L452 在未知情况下打开了读保护RDP? MCU无法运行,只有解除读保护后重新烧录固件
这是一个未知情况下打开RDP的异常,主程序源码为bootloader+APP

check bootloader有一个读RDP状态操作,

APP有操作option byte。
以上操作都为官方HAL库
别乱了阵脚 发表于 2025-4-13 01:06 | 显示全部楼层
STM32L452 中,读保护(RDP) 被意外启用导致 MCU 锁死,通常与 Bootloader APP 对选项字节(Option Bytes)的操作冲突有关

冰春彩落下 发表于 2025-4-13 02:21 | 显示全部楼层
Bootloader APP 误操作选项字节:直接调用 HAL_FLASHEx_OBProgram() 修改 RDP 级别(如从 Level 0 切换到 Level 1)。未正确处理选项字节的解锁序列(需先写入 OPTKEY1 OPTKEY2

江河千里 发表于 2025-4-13 03:15 | 显示全部楼层
在选项字节写入过程中发生断电或复位,可能会导致配置错误

三生万物 发表于 2025-4-13 04:24 | 显示全部楼层
程序意外跳转到修改选项字节的代码段(如中断向量表损坏)

光辉梦境 发表于 2025-4-13 05:25 | 显示全部楼层
Bootloader 读取 RDP 级**未恢复寄存器状态,可能遗留敏感配置

淡漠安然 发表于 2025-4-13 06:42 | 显示全部楼层
如果 APP 尝试修改其他选项字节(如 WRPBOR),可能误触 RDP

远山寻你 发表于 2025-4-13 07:27 | 显示全部楼层
避免直接操作 RDP:除非必要(如产品量产),否则不修改 RDP

暖了夏天蓝了海 发表于 2025-4-13 08:24 | 显示全部楼层
通过共享内存(如 0x20000000)或特定寄存器传递 RDP 级别,避免 APP 重复读取

夜阑风雨 发表于 2025-4-13 09:19 | 显示全部楼层
APP 启动时检查 Bootloader 是否已正确初始化选项字节

一秒落纱 发表于 2025-4-13 10:12 | 显示全部楼层
禁用未使用的中断,防止意外跳转到选项字节修改代码。启用写保护(WRP):保护 Flash 关键区域

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

本版积分规则

14

主题

83

帖子

0

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