STM32L152系列加入读保护后程序主函数不运行

2019-07-14 17:08发布

使用STM32L152系列整体功能正常,不加入读保护的时候LED1,正常运行,当加入读保护后,程序下进去,关机开机后,LED1,不亮,程序供电没有问题,发现程序根本就不执行了,感觉单片机锁死了。   研究好几天了,希望大家帮忙看看吧。代码如下
void Flash_RProt_ENABLE(void)
{
    u8 status;
    FLASH_Unlock();//解锁FLASH
    FLASH_OB_Unlock();//解锁选项字
    FLASH_ClearFlag(FLASH_FLAG_EOP|FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_SIZERR | FLASH_FLAG_OPTVERR);
    status=FLASH_OB_GetRDP();
    if(status==0)
    {
      FLASH_OB_RDPConfig(OB_RDP_Level_1);//Read protection of the memory
      FLASH_OB_Lock();
      FLASH_Lock();
    }
}

int main(void)
{
Flash_RProt_ENABLE();
  Main_Init();//时钟初始化,IO口初始化
  while(1)         
  {LED1_OPEN()  }

}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
TOPCB
1楼-- · 2019-07-14 19:18
 精彩回答 2  元偷偷看……
yuxiangxyz
2楼-- · 2019-07-15 00:09
用软件烧写加密就可以实现读保护功能,应该不用在程序里另外做吧
HengDu
3楼-- · 2019-07-15 04:51
不懂呢,帮顶吧
clknsw
4楼-- · 2019-07-15 05:02
TOPCB 发表于 2018-10-3 18:11
说明程序死了。仿真一下或者加串口输出,看看到最后到哪儿死掉的。

程序下进去后,如果不断电程序运行正常,但是一断电程序就运行不了了,也不能仿真了,得用软件将程序的FLASH读保护擦除,才可以继续仿真下载程序
clknsw
5楼-- · 2019-07-15 08:20
yuxiangxyz 发表于 2018-10-3 18:30
用软件烧写加密就可以实现读保护功能,应该不用在程序里另外做吧

我用J-FLASH-ARM软件加入读保护,遇到的问题是一样的,下进去后在一开机程序运行不了了。
TOPCB
6楼-- · 2019-07-15 08:52
 精彩回答 2  元偷偷看……

一周热门 更多>