关于使用KEIL下载STM32时下载到一半卡死的情况
描述情况
这几天焊接并下载STM32,发现一个情况,下载到一半或者没到一半停住了,如下图1所示,过了一会儿会报错。
这种情况是在下载的时候出现的,,这种情况原因多半是
STM32芯片flash坏了
验证假设
判断一种情况,不应该立刻就觉得一定是这个情况,应该排除其它的情况,就STM32而言,如果flash芯片坏了更换的成本还是比较高的,先要排除是不是系统其它情况。
验证STM32只要查最小系统包含的电路就可以了,这里需要分别测
硬件电容是否短路,晶振是否起振,单片机芯片和下载口焊接是否完整,测电压。
软件 下载器是否能监测到芯片,下载报是否加载。
验证操作
1)先用万用表测电容,这个博主确实遇到过,它会导致单片机不跑,随便测电压正负是否相连。
2)测晶振,上示波器看波形,可以从下图中看到是用波形的。
3)连接下载器,看看是否读到芯片,点击魔法棒就是Options for Target>Debug>Settings下的Debug是否存在,如下图,这一步不仅可以验证芯片在不在,还可以验证芯片以及下载端口焊接。
4)查看配置包是否在,如下图,在刚才这个Cortex JLink/JTrace Target Driver Setup界面内选择Flash Download>add>对映flash包>add 然后关掉 再次尝试下载。
总结
经过以上4部进步能够,能够排除大部分因素如果依然出现下一半卡死的情况,请尝试擦芯片后再尝试一下,擦除使用jlink软件,软件操作如下图,并且附上了擦除软件链接,另外还有情况就是晶振不匹配,会导致单片机不跑可以尝试更换电容。
最后验证是你的STM32芯片flash坏了,可以选择更换芯片了。也非常欢迎有不同见解前来讨论。烧写软件