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

    文章

    1633

    浏览量

    147953
  • STM32
    +关注

    关注

    2270

    文章

    10896

    浏览量

    355768
收藏 人收藏

    评论

    相关推荐

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

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

    STM32CUBEMX开发GD32F303保护写保护概述

    芯片保护以后,flash将不可以从外部读取,这样可以防止别人读取或者盗取芯片代码,如果想再次烧录代码,需要解除保护,有时候在代码调试的过程中,也有可能会触发
    的头像 发表于 07-17 14:36 2343次阅读
    <b class='flag-5'>STM32</b>CUBEMX开发GD32F303<b class='flag-5'>读</b><b class='flag-5'>保护</b>与<b class='flag-5'>写保护</b>概述

    PIC单片机写保护的问题

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

    STM32Flash写了保护怎么办??

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

    STM32对内部Flash保护措施

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

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

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

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

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

    STM32Flash写保护,SWD引脚锁的各种解决办法汇总(2020-03-10)

    问题现象:MDK,J-Flash,IAR等无法连接芯片,有时候链接上了,但是无法下载。注意:如果下载器线的接触不良,也会有这个问题。问题描述:1、Flash写保护根本原因是工程设计有问题,特别是
    发表于 12-27 18:45 14次下载
    <b class='flag-5'>STM32</b>的<b class='flag-5'>Flash</b>读<b class='flag-5'>写保护</b>,SWD引脚锁的各种解决办法汇总(2020-03-10)

    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 1.1w次阅读

    STM32Flash写了保护怎么办?

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

    STM32CUBEMX开发GD32F303(2)----保护写保护

    芯片保护以后,flash将不可以从外部读取,这样可以防止别人读取或者盗取芯片代码,如果想再次烧录代码,需要解除保护,有时候在代码调试的过程中,也有可能会触发
    的头像 发表于 11-23 11:22 2376次阅读
    <b class='flag-5'>STM32</b>CUBEMX开发GD32F303(2)----<b class='flag-5'>读</b><b class='flag-5'>保护</b>与<b class='flag-5'>写保护</b>

    STM32用串口下载后,不小心写保护保护了,如何解锁?

    介绍如何在STM32中解锁写保护保护,并提供详实的步骤以供参考。 1. 测试板子 在开始解锁之前,需要测试板子是否在保护状态下。首先,连
    的头像 发表于 10-29 17:24 4630次阅读

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

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

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

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