首页 > 代码库 > Duanxx的STM32学习: 报错No Cortex-M Device found in JTAG chain 原因及解决方案

Duanxx的STM32学习: 报错No Cortex-M Device found in JTAG chain 原因及解决方案

今天在给STM32下程序的时候,报了这个错误,然后在网上搜了半天,找到了一个原因和解决办法,网上说的说法如下:

 

原因:

烧录的程序关闭了JTAG功能复用了JTAG的接口,导致JTAG不能正常使用。

 

解决方法一:

        找到BOOT1和BOOT0,把BOOT1拉低,BOOT0拉高至3.3V,用串口下载一个程序,此程序没有关闭JTAG即可,然后就可以正常重新使用JTAG,再将Boot0和Boot1都置低。

 

解决方法二:

       擦除芯片代码也能恢复JTAG口功能,从开始--SEGGER--JLink ARM--打开J-flash AR(找到安装的J-Link驱动程序,本人用的是SEGGER公司的Jlink连接器,安装的是V4.12驱动程序)-确定--再选Target选项--connect--然后再选Eraser chip即可





上面说的很有道理,不过上面的方法我并没有尝试过,我直接从官网上找到了解决方案,官网解释如下:





前面找到的说是JTAG引脚被程序占用只能算是“debug interface is notworking”而已,前面的解决方案是串口下载程序,比较的麻烦,官网上的解决方案:SWD下载,见下图。

         这里还有一点需要说明,在选择了SW模式后,SW Device应该是有设备被识别到的,否则的话说明下载器和STM32的链接是有问题的。



Duanxx的STM32学习: 报错No Cortex-M Device found in JTAG chain 原因及解决方案