打印

关于芯片莫名其妙烧写不进去的解决方法!

[复制链接]
650|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
考哥|  楼主 | 2018-7-28 07:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近做了一个项目用到STM32F405RGT6,板子开始能够正常烧写,后来出现问题,总是提示:internal command error或者cannot reset target 等等错误。1.一次尝试:开始怀疑是复位电路的问题,把复位电路电容104改成了10μf,然而并没有啥用。

2.二次尝试:上网查了相关问题的解决方法,说“是因为目标板的芯片处于休眠的状态,在尝试连接目标板时候也会出现报错Internal command error Flash download failed target dll has been can的现象,解决办法是使目标板退出休眠,即按住reset键再下载程序,看到USB通讯灯闪后一小会儿(自己把握)后放开reset就能看到程序下载进去了,不行就多试几次,成功一次后面就正常了”,然而楼主画的最小系统并没有设置复位键/(ㄒoㄒ)/~~,另外看有些人采用这种方法也没有解决问题。但是芯片处于休眠状态这点是正确的,下面再详细谈。
3.三次尝试:因为是烧写不了程序,但原来的程序还能正常运行,因此楼主相信单片机还没挂(不信也得信啊)。于是从SWD接口找原因。这一下还真找到了点问题!楼主发现用万用表量Pin46:SWDIO跟Pin47:Vcap_2竟然会响,于是乎觉得是两个脚短接了。因为是自己焊的电路,觉得出现虚焊也算正常,于是用烙铁烫了一把这两个脚,重新测量万用表不响了。楼主以为万事大吉了。接下来程序能正常烧写了,楼主很兴奋,开始了愉快的仿真,突然,梦魇一般的cannot reset target再次跳出。楼主很慌,插拔仿真器和断电重新启动板子都不能解决问题,于是重新开始debug.
4.四次尝试:经过一系列仔细检查,发现还是Pin46:SWDIO跟Pin47:Vcap_2的问题,万用表测二者,仍然会响!我再次烫了一下这两个脚,又开始重复3中的问题,一遍又一遍的cannot reset target夹杂internal command error骤雨般袭来,敲打着楼主内心的脆弱。一个本该愉快的周日在凄风苦雨中熬到了第二天的凌晨。带着郁闷和不甘,楼主回到了宿舍。
5.五次尝试:今天早上,楼主有了新的发现。正常的46、47脚间阻值为MΩ级,但烧写不进去时万用表虽然响,但还是有60Ω阻值的!每次烫完46,47脚又恢复了正常。楼主非常郁闷,显然所有的引脚跟电路都接触良好,以前的片子能正常烧写……楼主不由地怀疑是芯片自身坏了!但是规律闪动的LED提醒着我不要轻易下结论。又是一个早上……
6.六次尝试:期间想了各种方法,想联系意法半导file:///C:\Users\dell\AppData\Roaming\Tencent\Users\609165715\QQ\WinTemp\RichOle\2DG8(_]WTGGUR($TDO`LE{X.png体的技术支持,没有电话未果。网上没有明确的答案,于是楼主开始了回忆,想到以前无意中的那几次尝试……如下图:





























4SJ{91Y636~C2HE7N8TI7WR.png

(34.51 KB, 下载次数: 0)









下载附件







2016-11-14 17:16 上传

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

461

主题

477

帖子

0

粉丝