0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解什么是STM32对其Flash的保护

Q4MP_gh_c472c21 来源:金橙智能 作者:金橙智能 2021-06-27 11:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

如果你还不了解什么是STM32对其Flash的保护,那么就由小橙同学来给你讲解一下什么是STM32的Flash保护!

什么是Flash?

STM32的FLASH组织结构,可能因不同系列、型号略有不同。比如大家熟悉的STM32F1中小容量一页大小只有1K,而F1大容量一页有2K。

还比如有些系列以扇区为最小单元,有的扇区最小16K,有的128K不等。

通常Flash包含几大块,这里以F40x为例:

主存储器:用来存放用户代码或数据。

系统存储器:用来存放出厂程序,一般是启动程序代码

OTP 区域:一小段一次性可编程区域,供用户存放特定的数据。

选项字节:存放与芯片资源或属性相关的配置信息。

什么是STM32对内部Flash的保护?

所有的STM32芯片都会提供对Flash的保护,防止对Flash的非法访问,分为:写保护和读保护。

1、读保护就是大家通常说的“加密”,作用于整个Flash存储区域。如果一旦设置了Flash的读保护,那么单片机内置的Flash存储区就只能通过程序的正常执行才能读出,而不能通过下述方式读出:

(1) 使用调试器(JTAG或SWD);

(2)从内存RAM中启动并执行的程序;

2、写保护是以四页(1KB/页) Flash存储区为单位提供写保护,如果对Flash设置了写保护,那么就无法对Flash进行编程和擦除,而且同时产生操作错误标志。 当出现下图标志的时候,就要检查Flash是否被保护起来了。

读保护与写保护的相关效果

当设置读保护与写保护时,其效果如下图所示:

读保护写保护 对Flash的操作功能

有效有效CPU只能读,禁止调试和非法访问。

有效无效CPU可以读写,禁止调试和非法访问,页0~3为写保护。

无效有效CPU可读,允许调试和非法访问。

无效无效CPU可以读写,允许调试和非法访问。

1、flash保护的相关函数

2、STM32如何设置读保护?

我们只需要在程序开头加入“设置读保护”的代码就可以,这样就可以在每次运行代码的时候都检查一下,如果没有开的话就打开,如果开了就跳过。下面是读保护的代码:

ed7daabe-d6b2-11eb-9e57-12bb97331649.png

当我们在程序的开头执行了上面的代码之后,使用j-link就不能在读出程序了,这样就实现了读保护。

3、如何通过代码接触Flash保护解除读保护可以下面代码来进行解除,我们为了方便解锁,可以设置一个按键。

ed903544-d6b2-11eb-9e57-12bb97331649.png

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FlaSh
    +关注

    关注

    10

    文章

    1715

    浏览量

    154671
  • 数据
    +关注

    关注

    8

    文章

    7314

    浏览量

    93946
  • STM32
    +关注

    关注

    2305

    文章

    11120

    浏览量

    371066
  • 代码
    +关注

    关注

    30

    文章

    4940

    浏览量

    73119

原文标题:STM32的Flash写了保护怎么办?

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    4级读保护等级的设置

    FLASH 存储器擦写以及读保护:通过寄存器进行FLASH存储器的擦写保护,通过 ISP 指令进行 4 级读保护等级设置。 ‒ LEVEL
    发表于 11-28 07:16

    FLASH 存储器4级读保护等级的设置

    LEVEL0 无读保护,可通过 SWD 或者 ISP 方式对 FLASH 进行读取操作。 ‒ LEVEL1 FLASH保护,不可通过 SWD 或 ISP 方式读取。可通过 ISP
    发表于 11-17 08:09

    STM32C011开发(3)----Flash操作

    STM32C011 系列微控制器内置 Flash 存储器,支持程序存储与数据保存,具备页面擦除、双字写入、读写保护等功能。本文将简要介绍 STM32C011 的
    的头像 发表于 09-18 16:48 3594次阅读
    <b class='flag-5'>STM32</b>C011开发(3)----<b class='flag-5'>Flash</b>操作

    Flash保护怎么实现?

    我们客户要求要对代码存储区(code flash)增加外部读保护机制 我在TRM手册中只看到有flash保护保护应该怎么实现?
    发表于 07-30 07:30

    【HarmonyOS 5】鸿蒙应用隐私保护详解

    【HarmonyOS 5】鸿蒙应用隐私保护详解 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、前言 在今天这个手机不离手的时代,我们每天用手机支付
    的头像 发表于 07-11 18:30 945次阅读

    详解线性稳压器IC的过电流保护与过热保护

    BDxxIC0系列具有过电流保护(OCP)和过热保护(TSD)功能。本文将介绍过电流保护功能,下一篇将介绍过热
    的头像 发表于 07-08 09:11 1361次阅读
    <b class='flag-5'>详解</b>线性稳压器IC的过电流<b class='flag-5'>保护</b>与过热<b class='flag-5'>保护</b>

    什么是Flash闪存以及STM32使用NAND Flash

    NAND 文章目录 NAND 一、FLASH闪存是什么? 二、SD NAND Flash 三、STM32例程 一、FLASH闪存是什么? 简介 FL
    发表于 07-03 14:33

    MCU片上Flash

        MCU片上Flash是微控制器内部集成的非易失性存储器,主要用于存储程序代码、常量数据及系统配置信息。核心特性与功能如下: 一、定义与类型‌ 片上Flash采用浮栅晶体管技术,具备断电数据
    的头像 发表于 05-06 14:26 846次阅读

    PSoC6怎么设置Flash保护,防止用编程器读出?

    PSoC6 怎么设置Flash保护,防止用编程器读出
    发表于 04-21 06:15

    这款具有IGBT保护的芯片原理是什么?

    如下是一款具有IGBT保护的驱动芯片,如何检测并判断IGBT故障,并且在什么情况下触发该故障? 尤其是在一类短路和二类短路时是否应该触发,具体如何检测?
    发表于 04-05 20:16

    STM32项目分享:STM32智能语音分类垃圾桶

    01—项目简介1.功能详解STM32智能语音分类垃圾桶功能如下:1.STM32F103C8T6单片机系统板作为主控单元2.舵机驱动垃
    的头像 发表于 03-15 10:02 2387次阅读
    <b class='flag-5'>STM32</b>项目分享:<b class='flag-5'>STM32</b>智能语音分类垃圾桶

    STM32项目分享:STM32智能语音台灯

    —项目简介1.功能详解STM32智能语音台灯功能如下:1.STM32F103C8T6单片机系统板作为主控单元2.按键切换模式,支
    的头像 发表于 03-15 10:02 2330次阅读
    <b class='flag-5'>STM32</b>项目分享:<b class='flag-5'>STM32</b>智能语音台灯

    stm32的pcrop安全系数高不高,是否会像普通flash保护那样被人家破解?

    问题1,stm32的pcrop安全系数高不高,是否会像普通flash保护那样被人家破解?能否起到代码保护作用不被解密 2,哪些stm32
    发表于 03-13 06:09

    STM32H533芯片设置了读保护如何解决?

    我下载了STM32H533u3000FLASH下载之后,芯片进入了读保护状态,现在在系统管理里面可以看到u3000ST-LINKV3,但是在KEIL中找不到ST-LINKV3 ;; 尝试使用串口下载,出现如下问题;; 2 333
    发表于 03-11 07:31

    开关电源各部电路详解

    雷击,产生高压经电网导入电源时,由 MOV1、MOV2、MOV3:F1、F2、F3、FDG1 组成的电路进行保护。当加在压敏电阻两端的电压超过工作电压时,阻值降低,使高压能量消耗在压敏电阻上,若
    发表于 03-10 16:51