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

    文章

    1759

    浏览量

    155912
  • 数据
    +关注

    关注

    8

    文章

    7349

    浏览量

    95025
  • STM32
    +关注

    关注

    2313

    文章

    11195

    浏览量

    374666
  • 代码
    +关注

    关注

    30

    文章

    4976

    浏览量

    74384

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NOR FLASH和NAND FLASH的对比

    FLASH芯片的擦写次数一般来说都是有限的,目前主流产品的擦写寿命普遍在10万次左右。当FLASH芯片接近使用寿命终点时,写操作可能会出现失败。不过,需要注意NAND FLASH采用整块擦写机制
    的头像 发表于 03-31 16:58 477次阅读

    详解MAX17613C:多功能电源保护芯片

    详解MAX17613A/MAX17613B/MAX17613C:多功能电源保护芯片 在电子工程师的日常设计工作里,电源保护一直是至关重要的一环。一款性能出色的保护芯片能够显著提升系统的
    的头像 发表于 02-08 09:40 313次阅读

    LAT1180+STM32L4R9 的 QuadSPI Flash 通讯速率不理想应用笔记

    客户反应 STM32L4R9 同 QSPI Flash 通讯,测出来的读取速率为 10MB/s, 和理论值相差较大。按照客户的时钟配置和 STM32L4R9 的数据手册中的数据,OSPI 读数速率为 10MB/s肯定存在问题。
    发表于 01-11 17:30 0次下载

    STM32保护的解除和出现的原因,使用串口和ST-LINK Utility解除读保护

    STM32保护保护保护出现的现象 1、串口下载会出现: 当出现这个读保护字样的时候就是芯片已经读
    的头像 发表于 12-30 10:10 2063次阅读
    <b class='flag-5'>STM32</b>读<b class='flag-5'>保护</b>的解除和出现的原因,使用串口和ST-LINK Utility解除读<b class='flag-5'>保护</b>

    CW32F030的FLASH存储器支持擦写PC页的保护功能

    CW32F030 的 FLASH 存储器支持擦写 PC 页保护功能。 当用户程序运行 FLASH 时,如果当前程序指针 PC 正好位于待擦写的 FLASH 地址页范围内,则该擦写操作失
    发表于 12-11 07:38

    CW32F030 FLASH的读保护功能

    CW32F030 支持 FLASH保护功能,设置读保护后,无法通过 ISP 或 SWD 方式对 FLASH 进行读取操作。读保护只支持整
    发表于 12-11 06:54

    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 5278次阅读
    <b class='flag-5'>STM32</b>C011开发(3)----<b class='flag-5'>Flash</b>操作

    Flash保护怎么实现?

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

    STM32项目分享:智能语音台灯(机智云)

    01—项目简介1.功能详解STM32智能语音台灯(机智云)功能如下:STM32F103C8T6单片机作为主控单元按键切换模式,支持自
    的头像 发表于 07-24 18:03 1831次阅读
    <b class='flag-5'>STM32</b>项目分享:智能语音台灯(机智云)

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

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

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

    BDxxIC0系列具有过电流保护(OCP)和过热保护(TSD)功能。本文将介绍过电流保护功能,下一篇将介绍过热
    的头像 发表于 07-08 09:11 1941次阅读
    <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 1557次阅读