环境
正点原子STM32H743开发板,ST-LINK烧写器,ST-LINK Utility软件
现象
无法擦除、烧写、读出程序,提示Can not read memory(或从Flash读到全是00);
原因
设置了选项字节读写保护位
解决办法
- 关软件、断USB线、芯片断电;
- 接USB线、芯片上电、开软件,先恢复其它配置。关软件、断USB线、芯片断电;
- 接USB线、芯片上电、开软件,设置DMEP1=1,DMEP2=1,点击Apply。设置ROP=L1点击Apply;
- 此时连接时会有以下提示
- 关软件、断USB线、芯片断电;
- 接USB线、芯片上电、开软件,DMEP1=0,DMEP2=0,ROP=L0,Unselectall,点击Apply,会有两个提示,点确定;
- 这时恢复正常了,显示FLASH内容全是FF,程序烧写恢复正常;
- 原理:当DMEP1和DMEP2为1时,ROP从L1变成L0时,会清读写保护并把Flash给擦除;
- 注意:ROP千成不能配成L2,否则芯片只能报废了;
-
按以上流程进行了十几次测试都成功了