STM32开发踩坑——使用仿真器对芯片进行写保护解除

STM32开发踩坑——使用仿真器对芯片进行写保护解除

成立这个文字专栏的目的是,记录自己在STM32嵌入式开发过程中,觉得值得记录的东西,例如方法、感悟,用来方便自己回顾。

参考资料链接:

STM32的Flash写了保护怎么办?

UM0892: STM32 ST-LINK Utility软件说明

图片示例:

在此情况下,使用程序烧写软件ST-LINK Utility连接STLink与目标板,会发现提示无法读取内存;

在这里插入图片描述

在此情况下,使用MDK烧写目标板,会发现提示Flash超时;
在这里插入图片描述

ST-Link Utility操作解决方法:

在使用STLink连接目标板的情况下打开程序烧写软件ST-Link Utility,在菜单栏的Target下选择connect,因为这时候Flash已经被锁住了,能看到如下图所示的错误提示。

在这里插入图片描述

下面来操作如何解除Flash保护。

1.请确保当前已经正确连接了STLink和目标板,在菜单栏Target里打开Option Bytes…选项,发现在这里Read Out Protection选项是Level 1,这个表示无法通过SWD读取STM32内部Flash的程序。
在这里插入图片描述

在这里插入图片描述

2.将Read Out Protection选项设置为Level 0,并点击Apply。 这时候Flash已经成功解锁了,内部Flash已经被擦除了,如下图红框中所示。
在这里插入图片描述
3.完成以上步骤之后,在菜单栏Target下选择Disconnect断开与目标板连接。重新进入MDK,可以正常对目标板烧写程序了。

STM32CubeProgrammer操作解决办法:

在使用STLink连接目标板的情况下打开程序烧写软件STM32CubeProgrammer,在菜单栏的OB(选项字节)下点击Read按钮就可以查看到关于读取的相关保护设置,此时选择AA再点击Apply按钮即可。
在这里插入图片描述

扩展:

通过ST-Link Utility来设置Flash保护
在这里插入图片描述
在菜单栏Target里打开Option Bytes…选项,可以看到下面有Flash sector protection选项。选择Select all之后,发现所有Page的Protection项都已经变成Write Protection了,只要选择Apply选项就可以对Flash进行写保护,如上图所示。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值