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设备和自举保护)相关推荐

  1. 【STM32H7教程】第70章 STM32H7的内部Flash基础知识和HAL库API

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第70章       STM32H7的内部Flash基础知识和 ...

  2. STM32读写内部flash

    概念:计算机中最小的信息单位是bit,也就是一个二进制位,8个bit组成一个Byte,也就是1个字节, 1个存储单元存放1个字节,每个存储单元对应一个32位(bit)地址,所以重要的话说三遍:对于32 ...

  3. STM32HAL库-针对芯片内部FLASH读保护实现防篡改、破解功能(详解)

    目录 概述 一.使用方法 二.STM32CubeMx配置​ 三.Examples 四.运行结果 五.总结 概述 本篇文章介绍如何使用STM32HAL库,针对芯片读写保护实现防篡改.破解功能(详解),本 ...

  4. 【stm32H7读内部flash程序】

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.芯片内部flash 二.驱动程序 1.扇区自动识别代码 2.读数据 2.写数据 总结 前言 STM32 corte ...

  5. STM32HAL库-F4-针对芯片内部FLASH读保护实现防篡改、破解功能(详解)

    概述 本篇文章介绍如何使用STM32HAL库,针对芯片读写保护实现防篡改.破解功能(详解),本案例还包含内部FLASH读写数据,本质就是操作Flash. 硬件:STM32F401CEU6最小系统板(内 ...

  6. STM32HAL库-内部Flash在指定页读写保护示例

    概述 本篇文章介绍如何使用STM32HAL库,内部Flash在特定页读写保护示例. 硬件:STM32F103CBU6最小系统板 软件:Keil 5.29  + STM32CubeMX5.6.1 一.使 ...

  7. c语言flash里能存文件吗,STM32内部FLASH打包读写

    最近做到的项目在运行需要把一组uint8_t(unsigned char)的数据进行掉电储存,想到单片机STM32f030f4p6内部flash可以直接由程序操作,写了以下代码用于uint8_t数据打 ...

  8. STM32F103使用内部Flash保存参数

     在我们应用开发时,经常会有一些程序运行参数需要保存,如一些修正系数.这些数据的特点是:数量少而且不需要经常修改,但又不能定义为常量,因为每台设备可能不一样而且在以后还有修改的可能.将这类数据存在 ...

  9. STM32之内部FLASH原理

    不同型号的 STM32,其 FLASH 容量也有所不同,最小的只有 16K 字节,最大的则达到了 1024K 字节.市面上 STM32F1 开发板使用的芯片是 STM32F103系列,其 FLASH ...

最新文章

  1. sqlalchemy中的first_or_404()和get_or_404()使用(前端页面可视化操作——查询和添加)
  2. systemctl和service
  3. 计算机组成原理——程序查询方式、程序中断方式
  4. Python3--批量爬取数据之调用百度api进行翻译
  5. Linux下rz命令和sz命令使用方法
  6. Apache Zookeeper入门1
  7. java的位桶是什么_Java关于桶排序的知识点总结
  8. ecshop mysql 标题表_ecshop商品分类列表页如何自定义title标题
  9. redis-集群(cluster)扫盲篇(一)
  10. Mac OS开启黑暗模式
  11. MATLAB 2015B中文安装激活破解方法图文教程
  12. c语言打码软件官方下载,触动精灵人工打码软件
  13. 代码实现抖音时钟罗盘
  14. js实现农历和公历相互转换(完整demo)
  15. 下城投 × 奇点云 |「数智城投驾驶舱」,打造转型示范新样板
  16. 回顾我的 2018 读书历程以及个人感悟,让我们一起期待更好的未来(本文耗时 8 个月。。。)
  17. 我讨厌单元测试:滕振宇谈如何进行单元测试
  18. AdSense 使用教程: 通过让 Google 在您的网站上投放广告,帮助您从中获利
  19. 2017 BIT复试机试(软件)
  20. C语言删除字符串的所有尾部空格

热门文章

  1. 用js实现动态添加表格数据
  2. 基于冲突的搜索算法(CBS)个人笔记
  3. pandas中DataFrame的常用操作
  4. MSI微星主板MSI Dual CoreCenter监控软件 2.0.1.5
  5. VS Code 快速删除多行的部分内容
  6. quick-cocos2d-x 绑定C++自定义类
  7. 330pics-shell scripts-second
  8. Java实现哈希加密(HmacSHA1、HmacMD5、HmacSHA256、HmacSHA512)
  9. 甘超波:NLP自我价值感
  10. android菜单键 r9,Android OPPO R9 后台 无法启动 Activity 问题