STM32的Flash读写保护,SWD引脚锁的各种解决办法汇总(2020-03-10)
问题现象:
MDK,J-Flash,IAR等无法连接芯片,有时候链接上了,但是无法下载。
注意:如果下载器线的接触不良,也会有这个问题。
问题描述:
1、Flash读写保护
根本原因是工程设计有问题,特别是实际晶振大小与程序中HSE_VALUE大小不一致,很容易导致Flash读保护。
而读保护的本质是芯片的选项字节被设置了,因为读保护就在选项字节里面,详情看此贴:链接
2、SWD锁
SWD接口锁住就是SWD引脚被锁住了,根本原因是用户使用这个引脚做其它功能了。
解决办法:
1、SWD引脚锁解决办法:
(1)、SWD引脚被锁住的解决办法比较简单,只要下载器带了复位引脚,并且板子的SWD接口也留出了RST复位引脚,就可以正常下载程序。原理是芯片复位上电后,SWD这几个引脚是工作在SWD默认模式的,之后才是用户为这几个引脚设置的其它功能,正是这些复用功能导致下载器无法连接到芯片。所以只要下载器的硬件复位正常,芯片SWD接口锁住后就可以正常下载。
(2)MDK下载选择这里,复位状态进行下载。
2、Flash读写保护后的解决办法:
(1)JLINK安装目录的这个软件,早期版本叫JLINK UNLOCK,现在新版叫JLINKSTM32.EXEM解锁读写保护用的。原理是复位选项字节设置。
(2)还有就是STM32CubeProg,需要用到板子的boot0引脚,让芯片从系统bootloader启动,重新设置读保护为Level1即可,
(3)还有一个早期整理的帖子:
【JLINK下载失败,STLINK下载失败万能解决方案】JLINK和STLINK都无法下载时的解决办法
http://www.armbbs.cn/forum.php?mod=viewthread&tid=26745
相关文章
- Linux 系统健康检查:保护你的服务器(linux健康检查)
- Linux账号管理:安全保护你的密码(linux帐号密码)
- 支付宝存漏洞?这10招保护个人信息赶紧保存起来!
- 安全VPS上MySQL安全保护设置指南(vpsmysql)
- Linux内容精挑细选,安全过滤保护网络(linux内容过滤)
- 库NBU7恢复Oracle数据库,保护数据安全(nbu7恢复oracle)
- 警惕MySQL注入攻击,保护你的数据安全(7.mysql注入问题)
- 做好HPDP备份,有效保护Oracle数据(hpdp备份oracle)
- MySQL禁止修改保护数据库一致性(mysql不允许更改)
- Redis锁没能有效保护分析及解决方案(redis锁没生效的情况)
- 如何保护MySQL中重要数据的方法
- 关于尝试读取或写入受保护的内存。这通常指示其他内存已损坏。的解决方法