里飞网

 找回密码
 立即注册
查看: 6342|回复: 0
打印 上一主题 下一主题

STM32开启读保护功能后,同时也启动了一个特别的保护

[复制链接]

45

主题

311

帖子

2814

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2814
跳转到指定楼层
楼主
发表于 2020-7-4 11:41:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 阿里兄 于 2020-7-4 11:44 编辑

STM32开启读保护功能后,同时也启动了一个特别的保护

1、我们的程序生产时是启用读保护的,且是使用IAP+APP的形式。
2、当我们发现IAP有BUG或想增加功能时,想通过APP来更新IAP功能。
3、想法是好的,现实是残酷的,这是因为,STM32开启读保护功能后,同时也启动了提供了一个特别的保护。
4、即对Flash存储区施加读保护后,即使没有启用写保护,Flash的第 0 ~ 3 页也将处于写保护状态,这是为了防止修改复位或中断向量而跳转到RAM区执行非法程序代码。
5、也就是说IAP所在的前面0-3页不可写,如果强制写还可能破坏掉原有的IAP。
6、另外能不能通过代码解除读保护,来解除写保护呢,答案是不能,因为在解除读保护时,STM32会清空FLASH,这就是代码自己杀死自己了。






回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|里飞网  

GMT+8, 2024-11-23 12:45 , Processed in 0.070759 second(s), 4 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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