STM32 读写保护功能及设置

功能::
读保护设置后将不能读出flash 的内容;当解除读保护的时候stm32 会自动擦出
整篇flash;
设置:
读保护设置:在程序的开头加入“读保护”代码,即实现了读保护功能;(每次程序

运行先
开保护)
解除读保护:解除读保护可以设置在按键里面,方便实现解锁,也不可不设;
(1)设置读保护:
if(FLASH_GetReadOutProtectionStatus() != SET)
{
//FLASH_Unlock();不解锁FALSH 也可设置读保护???
FLASH_ReadOutProtection(ENABLE);
}
(2)解除读保护
if(FLASH_GetReadOutProtectionStatus() != RESET)
{
FLASH_Unlock();
FLASH_ReadOutProtection(DISABLE);
}
这些函数在stm32f10x_flash 里面;
注意:调用上面这个库的时候需在#include "stm32f10x_flash.h"前加#define

_FLASH_PROG;
否则报(没有定义)错;

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了保护STM32F4芯片的代码和数据不被非法读写,可以使用STM32F4芯片的读写保护功能。下面是STM32F4芯片的读写保护设置方法: 1. 设置保护 (1)打开Flash保护功能 通过设置FLASH_CR寄存器的PRSTRT位和PRG位可以打开Flash保护功能。具体代码如下: ``` FLASH_Unlock(); //解锁Flash FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR); //清除Flash标志位 FLASH_OB_Unlock(); //解锁Option Byte FLASH_OB_RDPConfig(0x80); //设置Flash保护级别为Level 1 FLASH_OB_Launch(); //启动Option Byte编程 FLASH_OB_Lock(); //锁定Option Byte FLASH_Lock(); //锁定Flash ``` (2)禁止Flash保护功能 通过设置FLASH_CR寄存器的PRG位可以禁止Flash保护功能。具体代码如下: ``` FLASH_Unlock(); //解锁Flash FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR); //清除Flash标志位 FLASH_OB_Unlock(); //解锁Option Byte FLASH_OB_RDPConfig(0x00); //设置Flash保护级别为Level 0 FLASH_OB_Launch(); //启动Option Byte编程 FLASH_OB_Lock(); //锁定Option Byte FLASH_Lock(); //锁定Flash ``` 2. 设置保护 (1)打开Flash保护功能 通过设置FLASH_CR寄存器的WRP位可以打开Flash保护功能。具体代码如下: ``` FLASH_Unlock(); //解锁Flash FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR); //清除Flash标志位 FLASH_WRPConfig(FLASH_WRProt_AllPages, ENABLE); //设置Flash保护 FLASH_Lock(); //锁定Flash ``` (2)禁止Flash保护功能 通过设置FLASH_CR寄存器的WRP位可以禁止Flash保护功能。具体代码如下: ``` FLASH_Unlock(); //解锁Flash FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR); //清除Flash标志位 FLASH_WRPConfig(FLASH_WRProt_AllPages, DISABLE); //禁止Flash保护 FLASH_Lock(); //锁定Flash ``` 以上就是STM32F4芯片的读写保护设置方法。需要注意的是,一旦设置读写保护,就无法再对Flash进行编程或擦除,因此在设置之前一定要慎重考虑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值