打印
[STM32F1]

库函数设置STM32读保护,但是不成功

[复制链接]
1186|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hfd999|  楼主 | 2014-11-4 15:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

各位高手,我想对STM32设置读保护,但是不成功,帮我看看吧~~
具体现象:把读保护程序下载到stm32,拔掉jlink,断电重启,还是能对stm32读出操作。对程序仿真,OB->RDP未能赋值为0,保持为0XA5,但是读保护函数返值为0x40。使用Jlink-arm设置加密也能成功。
究竟什么地方出问题了?是不是还要设置BOOT关键的电平?
设置写保护的代码如下:
void main(void)
{
  FLASH_Unlock();
  FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);   
  if ( FLASH_GetReadOutProtectionStatus() == RESET )
      FLASH_ReadOutProtection(ENABLE);
  while (1)
  {

  }
}
沙发
LOVE_ELEC| | 2014-11-6 18:58 | 只看该作者
1> 设置读保护时,调试器仍然连接到JTAG/SWD接口,需要执行一次上电复位,而不是(没有调试器时的)系统复位;
2> FLASH_Unlock();确定是用来设置读保护?
3> 用if ( FLASH_GetReadOutProtectionStatus() == RESET )
      FLASH_ReadOutProtection(ENABLE);这种结构不能保证你确实读保护设置成功;
   建议使用while语句加超时判断;
希望对楼主有帮助!

使用特权

评论回复
板凳
bear1| | 2014-11-6 21:43 | 只看该作者
读保护有啥用?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

5

帖子

0

粉丝