winmenaruto 发表于 2011-3-22 15:55:50

ULINK2 “Could not stop ARM device”,解决方法是BOOTEN = 1,但是这个东西在哪里?

本人在使用MDK和Ulink2的期间,发现有些情况下使用Ulink2调试会出现一些问题。比如在调试开始时弹出对话框“Could not stop ARM device!,please check the JTAG cable!”。根本无法进入调试阶段。

二、原因及对应的解决方法

       核心原因主要有两种:第一种是ULINK JTAG设置频率高于目标板芯片运行频率;第二种是在JTAG获得控制权之前,芯片上执行某些指令将JTAG口禁用掉。其中以后一种原因居多。原因虽只有两种,但具体的解决方法依据不同的硬件特点各有不同。下面给出一些典型的解决方案,对于示例中没出现过的板子,读者可灵活应用之。

1、ULINK JTAG频率设置过高,有些芯片频率达不到所设置的频率,自然会出现问题,这时需要在ULINK设置中将频率降低。例如:

      在调试LPC2378的过程中,进行修改其系统时钟频率得的测试,本来在12M的情况下是没有问题的,我将频率改成72M其最高是72M,结果Download失败,提示“Could not stop ARM device!,please check the JTAG cable!”。后来发现是时钟频率设置问题,将频率降低解决了这一问题。

2、对于第二种情况,首先应该尝试在调置ULINK JTAG中勾上USE Reset at Startup。不行的话,重启一下试试。另外有两种原因导致JTAG被禁用掉,一种原因是重启系统时由于没有正确的引导代码,CPU可能执行一些随机指令,这些指令可能将JTAG禁用,例如:在STR71x中出现过这种情况,解决方法是将启用boot loader,

BOOTEN = 1 打开启动引脚

BOOT1 = 0, BOOT0 = 1 打开 boot loader

这样CPU在重启之后会执行正确的指令,而不会禁用JTAG。



我试用的是arm9, STR912FAW44,我看datasheet都没有说明哪个是BOOT1,BOOT0。。。而且也不好接呀,这么细的引脚

winmenaruto 发表于 2011-3-23 08:28:29

帮顶~~

chenerbox 发表于 2011-3-23 08:35:47

换jlink试试吧 我的ulink2仿不了的jlink能仿
说实话我的正版ulink2就从来没有正常工作过

winmenaruto 发表于 2011-3-23 08:38:56

没有钱。。。。

cxsea2007 发表于 2011-8-19 18:40:37

我用jlink v8 对stm32f103zet6烧写,出现Could not stop cortex-m device!,please check the JTAG cable,怎么解决?

lxd_youxi 发表于 2011-8-20 09:54:03

jlink,有的时候光标乱跑不知是什么原因

yangwc 发表于 2015-3-26 11:12:53

NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x08000000);

0x08000000,这个偏移地址设置不正确也会导致这个问题。

YQKJ 发表于 2015-3-26 16:25:41

顶贴呀,看能解决我遇到的问题否,谢谢
页: [1]
查看完整版本: ULINK2 “Could not stop ARM device”,解决方法是BOOTEN = 1,但是这个东西在哪里?