stm32 软件怎么设置写保护_STM32 读保护功能和清除读保护功能设置

1

STM32

对内部

Flash

的保护措施

所有

STM32

的芯片都提供对

Flash

的保护,防止对

Flash

的非法访问

-

写保护和读保护。

1)

、读保护即大家通常说的

加密

,是作用于整个

Flash

存储区域。一旦设置了

Flash

的读

保护,内置的

Flash

存储区只能通过程序的正常执行才能读出,而不能通过下述任何一种方

式读出:

通过调试器

(JTAG

SWD)

RAM

中启动并执行的程序;

2)

、写保护是以四页

(1KB/

) Flash

存储区为单位提供写保护,对被保护的页实施编程或擦

除操作将不被执行,同时产生操作错误标志。

读与写设置的效果见下表:

读保护写保护

Flash

的操作功能

有效

有效

CPU

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

有效

无效

CPU

可以读写,禁止调试和非法访问,页

0~3

为写保护。

无效

有效

CPU

可读,允许调试和非法访问。

无效

无效

CPU

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

2

、当

Flash

读保护生效时,

CPU

执行程序可以读受保护的

Flash

区,但存在两个例外情况:

1)

、调试执行程序时;

2)

、从

RAM

启动并执行程序时

STM32

还提供了一个特别的保护,

即对

Flash

存储区施加读保护后,

即使没有启用写保护,

Flash

的第

0

3

页也将处于写保护状态,这是为了防止修改复位或中断向量而跳转到

RAM

区执行非法程序代码。

3

Flash

保护相关函数

FLASH_Unlock();   //Flash

解锁

FLASH_ReadOutProtection(DISABLE);  //Flash

读保护禁止

FLASH_ReadOutProtection(ENABLE);   //Flash

读保护允许

4

stm32

置读保护跟清读保护操作

功能:

读保护设置后将不能读出

flash

的内容;

当解除读保护的时候

stm32

会自动擦出整篇

flash

读保护设置:在程序的开头加入

读保护

代码,即实现了读保护功能;

(每次程序运行先开

保护)

解除读保护:

解除读保护可以设置在按键里面,

方便实现解锁,

也不可不设按键在

RAM

执行程序再清除读保护;

(1)

设置读保护:

int main(void)

{

....

if(FLASH_GetReadOutProtectionStatus() != SET)

{

//FLASH_Unlock();

不解锁

FALSH

也可设置读保护???

FLASH_ReadOutProtection(ENABLE);

}

......

while(1)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值