JLINK调试问题总结 http://blog.csdn.net/kuangdoushi/article/details/400731332014由于学习mcu.com/9mcubbs/forum.php?mod=viewthread&tid=1005681\"class=\"relatedlink\">STM32也不久,经常遇到⼀些编译调试的错误,但是⽼是找不到原因,多亏⾝边⼤侠的帮忙才得以解决。因此,将之前遇到的⼀些错误进⾏总结,⽅便以后⾃⼰查看,也希望能满⾜某些有需要的同⾏的需求。如果⼤家也有相关的经验,希望能写出来供⼤家分享。在此先谢谢啦! ⼀、JILINK下载程序时,出现“ FLASH timeout,Reset the Target and try it again ”错误 遇到这个问题,要检测TARGET选择的芯⽚型号与你使⽤的芯⽚型号是否⼀致。我遇到过这个问题,就是因为我两个芯⽚型号不⼀致所引起 的。具体错误如下所⽰: 具体的修改过程如下所⽰: 1、⾸先确定芯⽚的型号,如下所⽰: 2、芯⽚型号选择好之后,接下来就需要选择下载器,我⽤的是JLINK,如下图所⽰。0abbd9ba40a2d11e7fede4ac037555e8_204.jpg 3、选择合适的FLASH算法配置。 6edc517842679c658183fe969e7b9c34_18.jpg 添加新的FLASH配置之后,将之前的FLASH配置删去,如下图所⽰。c530208b6c9b4542329fcf0f1e32ec8d_918.jpg 4、保存配置,重新编译之后就可以下载了。 ⼆、JLINK在调试时出现“could not stop cortex-M device,please check the JTAG cable” 查看了多位⽹友的帖⼦,有以下⼏个原因(不⼀定都对呦): 1、可能是因为将处理器的复位脚直接连接到GND,所以,没有复位信号来使MCU停⽌。 2、可能是JTAG的时钟配置的不正确,将其接到RTCK。 3、当系统的频率过⾼时,会导致该错误的发⽣。(换个频率较低的晶振,或者检查⼀下时钟配置,看是否是倍频设置的过⾼。) 4、看看你是否使⽤了看门狗,看门狗复位也会造成该错误的发⽣。 我的就是第四个原因,开启了看门狗,将看门狗关闭就可以使⽤JLINK调试了。 三、JLINK调试时出现以下错误信息: JLINK warning:CPU could not be halted JLINK error:can not read register 0(R0) while CPU is running JLINK error:can not read register 1(R1) while CPU is running JLINK error:can not read register 2(R2) while CPU is running ...... 参考多位⽹友的帖⼦,原因可能有以下⼏点: 1、设置debug->setting->dubug->connect & reset options -> reset 选项没有设置正确,应该设置为normal。
2、BOOTO与BOOT1的设置是否正确。
3、JLINK功能是否关闭。我的就是为了降低功耗将所有的IO都下拉所致,在调试的过程中,关闭该函数就可以了。