ARM调试时无法识别芯片或识别后无法烧录

一、问题背景:

1、ARM通过杜邦线直连J-link调试器,采用SWD方式烧录,识别烧录正常。产品装配后,调试线加长,中间串接了航空插头,再次烧录,发现检测不到芯片,无法烧录,尝试调整频率到50KHZ后仍然不行。

2、再次焊接四根杜邦线,将板子和调试器直连,发现可以迅速识别芯片,10MHZ的频率烧写仍然正常。

3、意外发现,如果将一个金属物件接触板子的SWDIO接口,可以烧录。

二、调试 步骤

       在此过程中尝试了以下方法,同时以下方法也是对类似问题的解决方法,因人而异。

1、外部将SWDIO上拉,SWCLK下拉,上下拉电阻在1~10K之间,增加后发现波形较以前更好,不过其实STM32内部已经做了上下拉,只是能力比较弱,外部加上后效果更佳,但是仍然无法检测到芯片,无法烧录。

2、使用六位半万用表测试了装配后的导线电阻,四根线都是在0.7欧左右,一根杜邦线的电阻是0.9欧左右。

3、SWDIO和SWCLK均串联22欧电阻,仍然不行。

4、在板子的调试口焊接四根悬空的线(VCC,DIO,CLK,GND),长度在8cm以上时,调试选择50MHZ,可以检测到芯片并烧录,剪短后不行。

5、更换仿真器

之前使用的下图中左侧的左侧的仿真器,后更换右侧的仿真器,此时存在一个问题,更换仿真器后,在外部供电情况下,如果连接仿真器的VCC和电路板,发现仿真器红灯亮,并且无法识别芯片,如果将VCC拔掉,可以正常识别和烧录,不过这个特殊情况不一定适合每一个人,可以两种均尝试。但是将之前的仿真器和电路板直接识别和烧录均无问题,由此可以证明仿真器存在一定的差异。

ARM调试时无法识别芯片或识别后无法烧录_第1张图片ARM调试时无法识别芯片或识别后无法烧录_第2张图片

6、烧录时建议大家选择10MHZ以下的频率,这是作为手残党给大家的忠告。O(∩_∩)O哈哈~

另外也说明多备几个仿真器还是很重要的,建议大家先切断外部供电后再插拔仿真器。

你可能感兴趣的:(ARM)