实际调试和烧录时,遇到SWD口方式无法烧录的问题,这里将我多次调试和排查的经验分享给大家,有其他方法也欢迎大家在下面补充。
无法烧录的情况,可能原因
1)SWD口配置了读写保护L1和L2
2)SWD口的PA13和PA14脚IO口配置被更改
3)检查确认内部Flash page是否有配置写保护,此时需要解除页写保护后才可烧写。
4)其他非配置原因:SWD信号干扰较大;IO驱动能力不足;SWD接线过长等
解决方法:
1)读保护L1,可以上拉boot0脚,连接SWD口或者使用国民download tool连接PA9和PA10串口,解除读保护后恢复。
2)IO配置被更改,可以 上拉boot0脚,芯片复位,重新连接SWD口,全擦除后恢复
3)写保护L2配置后,SWD口被锁死,不可恢复。
4)IO驱动能力不足:线尽量短;仿真速率调低;SWDIO接10K上拉,SWDCLK接10K下拉;IO配置提高驱动能力,外部上拉电阻阻值调小等
|