如果你还不了解什么是STM32对其Flash的保护,那么今天就来给你讲解一下什么是STM32的Flash保护!
01、什么是Flash?
STM32的FLASH组织结构,可能因不同系列、型号略有不同。比如大家熟悉的STM32F1中小容量一页大小只有1K,而F1大容量一页有2K。
还比如有些系列以扇区为最小单元,有的扇区最小16K,有的128K不等。
通常Flash包含几大块,这里以F40x为例:
主存储器:用来存放用户代码或数据。
系统存储器:用来存放出厂程序,一般是启动程序代码。
OTP 区域:一小段一次性可编程区域,供用户存放特定的数据。
02、什么是STM32对内部Flash的保护?
所有的STM32芯片都会提供对Flash的保护,防止对Flash的非法访问,分为:写保护和读保护。
1、读保护就是大家通常说的“加密”,作用于整个Flash存储区域。如果一旦设置了Flash的读保护,那么单片机内置的Flash存储区就只能通过程序的正常执行才能读出,而不能通过下述方式读出:
(1) 使用调试器(JTAG或SWD);
(2)从内存RAM中启动并执行的程序;
2、写保护是以四页(1KB/页) Flash存储区为单位提供写保护,如果对Flash设置了写保护,那么就无法对Flash进行编程和擦除,而且同时产生操作错误标志。 当出现下图标志的时候,就要检查Flash是否被保护起来了。
03、读保护与写保护的相关效果
当设置读保护与写保护时,其效果如下图所示:
1)flash保护的相关函数
2)STM32如何设置读保护?
我们只需要在程序开头加入“设置读保护”的代码就可以,这样就可以在每次运行代码的时候都检查一下,如果没有开的话就打开,如果开了就跳过。下面是读保护的代码:
当我们在程序的开头执行了上面的代码之后,使用j-link就不能在读出程序了,这样就实现了读保护。
3)如何通过代码解除Flash保护
解除读保护可以下面代码来进行解除,我们为了方便解锁,可以设置一个按键。
来源:玩转单片机与嵌入式
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理
审核编辑 黄宇
-
FlaSh
+关注
关注
10文章
1644浏览量
148863 -
STM32
+关注
关注
2274文章
10929浏览量
358006
发布评论请先 登录
相关推荐
STM32CUBEMX开发GD32F303读保护与写保护概述
![<b class='flag-5'>STM32</b>CUBEMX开发GD32F303<b class='flag-5'>读</b><b class='flag-5'>保护</b>与<b class='flag-5'>写保护</b>概述](https://file1.elecfans.com/web2/M00/8C/E8/wKgaomS04SCAew-7AAOLcJM0fZY978.jpg)
PIC单片机写保护的问题
如何解决STM32芯片Flash写保护导致无法下载程序,无法在线调试的问题
第51章 设置FLASH的读写保护及解除
![第51章 设置<b class='flag-5'>FLASH</b>的读<b class='flag-5'>写保护</b>及解除](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32的Flash读写保护,SWD引脚锁的各种解决办法汇总(2020-03-10)
![<b class='flag-5'>STM32</b>的<b class='flag-5'>Flash</b>读<b class='flag-5'>写保护</b>,SWD引脚锁的各种解决办法汇总(2020-03-10)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
如何解决STM32芯片Flash写保护的问题
STM32CUBEMX开发GD32F303(2)----读保护与写保护
![<b class='flag-5'>STM32</b>CUBEMX开发GD32F303(2)----<b class='flag-5'>读</b><b class='flag-5'>保护</b>与<b class='flag-5'>写保护</b>](https://file.elecfans.com/web2/M00/7D/21/poYBAGN9kXWAQuCVAAKuW5rnAN0744.jpg)
评论