原创 关于No Cortex-M Device found in JTAG chain...出现的问题

2011-8-4 16:17 19359 13 18 分类: MCU/ 嵌入式

这两天真是死里逃生,昨天调试器坏了,今天又不能下载了,出现

No Cortex-M Device found in JTAG chain.
Please check the JTAG cable and the connected devices.的提示,首先还怀疑是调试器又出什么问题了,但是早上把调试器的bin文件再次下载了一遍,具体下载可参考上一篇我写的

j-link调试器不亮

 

然后,用其他的最小系统板,发现能够下载,那问题只能是最小系统板的问题。到google查了下原因,普遍认为是:把JTAG的引脚当作I/O引脚来用,原来的JTAG功能当然会失效了。

先不管怎么回事,先说下解决方法。

1.找到BOOT1和BOOT0,把BOOT1拉低,BOOT0拉高至3.3V。

2.重新下载程序,刷掉FLASH。

3.把BOOT0再次拉低会原来的状态就OK啦。

ST的参考手册是这样写的:

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

看了半天,还是不明白为什么让它从系统启动一次,再从用户闪存存储器启动。唯一的想法是:让程序从系统存储器启动或想办法刷掉原来的程序,让原来被禁止的调试接口失效,才能重新启用调试。看到文章的朋友不妨说说自己的想法,呵呵!
 

文章评论5条评论)

登录后参与讨论

用户377235 2013-9-17 17:50

没用STM32F2xx选项!!!!

用户377235 2012-9-17 18:57

...--菜单Options--project settings--CPU--选择你的芯片型号--Target interface--选SWD,Auto selection--OK--再选Target选项--connect--然后再选Eraser chip即可,问题解决,本人用的是此法

用户377235 2012-9-17 16:10

原因:烧录的程序关闭了JTAg功能,复用了JTAG的接口,导致JTAG不能正常使用。这事,就需要使用串口下载一个程序,此程序没有关闭JTAG即可,然后就可以正常重新使用JTAG。办法2:擦除芯片代码也能恢复JTANG口功能即,从开始--SEGGER--JLink ARM--打开J-flash ARm(找到安装的J-Link驱动程序,本人用的是SEGGER公司的Jlink连接器,安装的是V4.12驱动程序)--菜单Options--project settings--CPU--选择你的芯片型号--Target interface--选SWD--OK--再选Target选项--connect--然后再选Eraser chip即可,问题解决,本人用的是此法。

用户377235 2012-9-17 15:13

原因:烧录的程序关闭了JTAg功能,复用了JTAG的接口,导致JTAG不能正常使用。这事,就需要使用串口下载一个程序,此程序没有关闭JTAG即可,然后就可以正常重新使用JTAG。 办法2:擦除芯片代码也能恢复JTANG口功能即,从开始--SEGGER--JLink--打开J-link ARm(找到安装的J-Link驱动程序,本人用的是SEGGER公司的Jlink连接器,安装的是V4.12驱动程序)--菜单Target--选Eraser chip即可,问题解决,本人用的是此法。

用户416823 2012-2-22 10:00

看不见图片,博主能不能重新上传一下?
相关推荐阅读
Crystal_oscillator 2012-06-06 11:39
我的一些与研究生生涯的相关资料
如题。...
Crystal_oscillator 2012-06-02 19:42
EDA--IPCore的使用
很清晰地讲解了如何在EDA中使用IPCore,推荐在这里,如附件: ...
Crystal_oscillator 2012-05-21 14:12
c#与MySql连接
如附件:...
Crystal_oscillator 2012-04-01 20:41
关于搜索的一点思考
  现在的搜索引擎,仍然面对的一个现实就是:它依然找不到客户所需要的东西。   这里面有两个原因:   (1)现有的东西没有被归类,而是分散在浩如烟海的网络中,各种博客,微博等等。  ...
Crystal_oscillator 2012-04-01 12:00
有趣的加1电路
  在上一篇博客,我介绍了并行加法。在这里,我将带大家学习并行加一电路,并且,我们会发现结 论相当简单有趣。     我们知道对于一位加法电路,假设A,B是参与运算的两个位变量,C_1...
Crystal_oscillator 2012-03-21 17:53
【博客大赛】VHDL实现并行8位加法
  要实现8位加法,先要从1位开始。假设A,B,C_1分别为两个输入值和进位输入,S是和值,C为进位输出值,于是便有以下表达式:   S=A xor B xor C_1;   C=AB+BC_...
我要评论
5
13
关闭 站长推荐上一条 /2 下一条