STM32H7内部Flash的读保护说明(Level0默认,Level1连接保护,Level2设备和自举保护)
RDP(read out protection)
1、Level 0(无保护)
默认设置,所有读写和擦除操作都可以正常支持。
2、Level 1 (Flash连接保护)
(1)可以防止连接调试器时读取Flash内容,或者RAM中存有恶意获取代码,也是禁止的。
因此只要调试器连接芯片,或者从内部RAM启动运行代码,都是禁止访问内部Flash的.
(2)如果没有检测到从内部RAM启动,从系统bootloader启动且没有连接调试器,对用户Flash的读写和擦除操作都是允许的,并且其它安全存储区也是可以访问的。否则是禁止访问的,一旦检测到对Flash的读请求,将产生总线错误。
(3)如果将Level 1切换到Level 0时,用户Flash区和安全区域将被删除。
3、Level 2(设备保护和自举保护)
(1)所有调试特性被关系。
(2)禁止从RAM启动。
(3)除了选项字节里面的SWAP位可以配置,其它位都无法再更改。
(4)禁止了调试功能,且禁止了从RAM和系统bootloader启动,用户Flash区是可以执行读写和擦除操作的,访问其它安全存储区也是可以的。
特别注意:Level2修改是永久性的,一旦配置为Level2将不再支持被修改。
一览表:
设置读保护的话,使用HAL的API可以设置,也可以使用STM32CubeProg设置:
STM32H7内部Flash的读保护说明(Level0默认,Level1连接保护,Level2设备和自举保护)相关推荐
- 【STM32H7教程】第70章 STM32H7的内部Flash基础知识和HAL库API
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第70章 STM32H7的内部Flash基础知识和 ...
- STM32读写内部flash
概念:计算机中最小的信息单位是bit,也就是一个二进制位,8个bit组成一个Byte,也就是1个字节, 1个存储单元存放1个字节,每个存储单元对应一个32位(bit)地址,所以重要的话说三遍:对于32 ...
- STM32HAL库-针对芯片内部FLASH读保护实现防篡改、破解功能(详解)
目录 概述 一.使用方法 二.STM32CubeMx配置 三.Examples 四.运行结果 五.总结 概述 本篇文章介绍如何使用STM32HAL库,针对芯片读写保护实现防篡改.破解功能(详解),本 ...
- 【stm32H7读内部flash程序】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.芯片内部flash 二.驱动程序 1.扇区自动识别代码 2.读数据 2.写数据 总结 前言 STM32 corte ...
- STM32HAL库-F4-针对芯片内部FLASH读保护实现防篡改、破解功能(详解)
概述 本篇文章介绍如何使用STM32HAL库,针对芯片读写保护实现防篡改.破解功能(详解),本案例还包含内部FLASH读写数据,本质就是操作Flash. 硬件:STM32F401CEU6最小系统板(内 ...
- STM32HAL库-内部Flash在指定页读写保护示例
概述 本篇文章介绍如何使用STM32HAL库,内部Flash在特定页读写保护示例. 硬件:STM32F103CBU6最小系统板 软件:Keil 5.29 + STM32CubeMX5.6.1 一.使 ...
- c语言flash里能存文件吗,STM32内部FLASH打包读写
最近做到的项目在运行需要把一组uint8_t(unsigned char)的数据进行掉电储存,想到单片机STM32f030f4p6内部flash可以直接由程序操作,写了以下代码用于uint8_t数据打 ...
- STM32F103使用内部Flash保存参数
在我们应用开发时,经常会有一些程序运行参数需要保存,如一些修正系数.这些数据的特点是:数量少而且不需要经常修改,但又不能定义为常量,因为每台设备可能不一样而且在以后还有修改的可能.将这类数据存在 ...
- STM32之内部FLASH原理
不同型号的 STM32,其 FLASH 容量也有所不同,最小的只有 16K 字节,最大的则达到了 1024K 字节.市面上 STM32F1 开发板使用的芯片是 STM32F103系列,其 FLASH ...
最新文章
- sqlalchemy中的first_or_404()和get_or_404()使用(前端页面可视化操作——查询和添加)
- systemctl和service
- 计算机组成原理——程序查询方式、程序中断方式
- Python3--批量爬取数据之调用百度api进行翻译
- Linux下rz命令和sz命令使用方法
- Apache Zookeeper入门1
- java的位桶是什么_Java关于桶排序的知识点总结
- ecshop mysql 标题表_ecshop商品分类列表页如何自定义title标题
- redis-集群(cluster)扫盲篇(一)
- Mac OS开启黑暗模式
- MATLAB 2015B中文安装激活破解方法图文教程
- c语言打码软件官方下载,触动精灵人工打码软件
- 代码实现抖音时钟罗盘
- js实现农历和公历相互转换(完整demo)
- 下城投 × 奇点云 |「数智城投驾驶舱」,打造转型示范新样板
- 回顾我的 2018 读书历程以及个人感悟,让我们一起期待更好的未来(本文耗时 8 个月。。。)
- 我讨厌单元测试:滕振宇谈如何进行单元测试
- AdSense 使用教程: 通过让 Google 在您的网站上投放广告,帮助您从中获利
- 2017 BIT复试机试(软件)
- C语言删除字符串的所有尾部空格
热门文章
- 用js实现动态添加表格数据
- 基于冲突的搜索算法(CBS)个人笔记
- pandas中DataFrame的常用操作
- MSI微星主板MSI Dual CoreCenter监控软件 2.0.1.5
- VS Code 快速删除多行的部分内容
- quick-cocos2d-x 绑定C++自定义类
- 330pics-shell scripts-second
- Java实现哈希加密(HmacSHA1、HmacMD5、HmacSHA256、HmacSHA512)
- 甘超波:NLP自我价值感
- android菜单键 r9,Android OPPO R9 后台 无法启动 Activity 问题