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

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

3天内不再提示

讲讲STM32单片机Flash的读保护和写保护

jf_pJlTbmA9 来源:玩转单片机与嵌入式 作者:玩转单片机与嵌入 2023-10-26 15:52 次阅读

如果你还不了解什么是STM32对其Flash的保护,那么今天就来给你讲解一下什么是STM32的Flash保护!

01、什么是Flash?

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

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

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

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

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

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

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

wKgaomUD80-ATsGvAAIwFYJ7CTY509.png

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

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

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

(1) 使用调试器(JTAG或SWD);
(2)从内存RAM中启动并执行的程序;

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

wKgZomUD81CAaeldAAB-JauJ0Ik365.png

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

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

wKgaomUD81OAOudVAACa_EhvYh8743.png

1)flash保护的相关函数

wKgaomUD81SAIjxYAAD3z6AOYZE792.png

2)STM32如何设置读保护?

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

wKgZomUD81aAQ5MeAAEbl64qgq0197.png

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

3)如何通过代码解除Flash保护

解除读保护可以下面代码来进行解除,我们为了方便解锁,可以设置一个按键。

wKgZomUD81iAY4XhAAE-cdrg93s431.png

来源:玩转单片机与嵌入式
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理

审核编辑 黄宇

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

    关注

    10

    文章

    1551

    浏览量

    146720
  • STM32
    +关注

    关注

    2240

    文章

    10675

    浏览量

    348882
收藏 人收藏

    评论

    相关推荐

    STM32如何设置读保护和解除读保护

    STM32还提供了一个特别的保护,即对Flash存储区施加读保护后,即使没有启用写保护Flash
    发表于 01-04 09:28 9003次阅读

    PIC单片机写保护的问题

    最近搞到一块PIC单片机“PIC16C765”想研究一下,在网上买了一个下载器,还装好了软件,写了一个小程序编译也成功了,就是在下载的时候不能正常下载到里面,老是显示写保护,要么就数据读取错误
    发表于 11-08 19:01

    STM32Flash写了保护怎么办??

    为了防止对Flash的非法访问,所有STM32的芯片都提供对Flash保护,具体分为写保护
    发表于 01-08 10:52

    设置FLASH写保护及解除的方法

    51.1 选项字节与读写保护在实际发布的产品中,在STM32芯片的内部FLASH存储了控制程序,如果不作任何保护措施的话,可以使用下载器直接把内部F
    发表于 12-03 07:24

    STM32对内部Flash保护措施

    一、STM32对内部Flash保护措施所有STM32的芯片都提供对Flash保护,防止对
    发表于 01-20 07:23

    请问FLASH_CRYPT_CNT写保护如何解除?

    验证flash加密功能时不小心将FLASH_CRYPT_CNT字段设置成写保护了,导致现在无法关闭flash加密。请问有什么方法取消写保护
    发表于 03-06 06:14

    磁盘被写保护怎么办?u盘写保护怎么去掉?

    我们在使用电脑,在复制电脑上的资料到U盘的时候,有时会显示出磁盘被写保护,不能对磁盘进行任何操作。磁盘被写保护怎么办?以下是小编整理的u盘写保护怎么去掉的方法:第一
    发表于 11-02 10:00 15.5w次阅读
    磁盘被<b class='flag-5'>写保护</b>怎么办?u盘<b class='flag-5'>写保护</b>怎么去掉?

    如何解决STM32芯片Flash写保护导致无法下载程序,无法在线调试的问题

      本文介绍了如何解决STM32芯片Flash写保护导致无法下载程序,无法在线调试的问题;如果您遇到相同的问题,希望本文可以带来一些帮助; 1 FLASH
    的头像 发表于 12-22 16:51 1.3w次阅读

    第51章 设置FLASH的读写保护及解除

    51.1 选项字节与读写保护在实际发布的产品中,在STM32芯片的内部FLASH存储了控制程序,如果不作任何保护措施的话,可以使用下载器直接把内部F
    发表于 11-23 17:51 12次下载
    第51章     设置<b class='flag-5'>FLASH</b>的读<b class='flag-5'>写保护</b>及解除

    STM32芯片解除写保护的方法(亲测有效)

    STM32芯片解除写保护的方法(亲测有效)前言方法一、用J-Flash来解除写保护1.设置2.操作步骤(1)下载安装JFlash软件,已安装的跳到第二步(2)打开JFlash,选择Cr
    发表于 12-24 19:38 22次下载
    <b class='flag-5'>STM32</b>芯片解除<b class='flag-5'>写保护</b>的方法(亲测有效)

    STM32Flash写了保护怎么办?

    为了防止对Flash的非法访问,所有STM32的芯片都提供对Flash保护,具体分为写保护和读保护
    发表于 02-08 16:39 7次下载
    <b class='flag-5'>STM32</b>的<b class='flag-5'>Flash</b>写了<b class='flag-5'>保护</b>怎么办?

    如何解决STM32芯片Flash写保护的问题

    本文介绍了如何解决STM32芯片Flash写保护导致无法下载程序,无法在线调试的问题;如果您遇到相同的问题,希望本文可以带来一些帮助。
    的头像 发表于 03-14 17:24 1w次阅读

    STM32Flash写了保护怎么办?

    STM32还提供了一个特别的保护,即对Flash存储区施加读保护后,即使没有启用写保护Flash
    的头像 发表于 04-02 15:55 3879次阅读

    STM32Flash写了保护怎么办?STM32如何设置读保护和解除读保护

    保护机制,然后才能更好地解决这个问题。 STM32Flash有两种保护,一种是写保护,一种是读保护
    的头像 发表于 10-29 17:24 6941次阅读

    STM32加密问题:怎样预置一段Flash保护和清除读保护的程序

    ,在STM32芯片中,我们可以通过设置BFB2和BFB1位来对Flash进行保护。BFB2位用于读保护写保护,其中1表示打开读
    的头像 发表于 10-29 17:24 1323次阅读