<2012 12 06> J-link & AXD仿真调试ARM开发板 “halt不住” 的问题的解决

  在AXD中调用J-Link的 JLinkRDI.dll 进行仿真调试的时候,首先需要进行target configurate... 配置,J-Link和其软件会自动识别出ARM的芯片类型,然后halt住。再load image:axf格式的文件(AXD类似elf文件的一种),和对应的源文件相对应之后可以进行源代码级的调试,否则只能调试汇编代码。

  今天碰到个问题,就是FL2440开发板裸板烧写自带的bootloader的时候,需要先用axf文件(2440init.axf 2440boot.axf)在AXD仿真运行,然后再用这个仿真运行的bootloader下载烧写bin格式的bootloader到NAND FLASH中。

  可能是因为仿真程序本身的原因,还是FL开发板或者山寨牌J-Link仿真器的原因,只有当核心板上的跳线J5接上(即从NAND启动)时,仿真程序才能正常运行。如果从Nor启动(J5跳线帽不接),仿真程序都无法识别出现乱码。

  但问题出在,跳线J5接上以后(从NAND启动),J-Link几乎都halt不住ARM核心!!(原因可能是Nand中我已经烧写了一个U-boot?)

  最后被我找到的方法就是,halt不住以后:开发板不关电,J-Link连线也不断,保持原样直接按开发板上的复位键,然后迅速重新 target configurate... 配置,让J-Link的软件再"halt"一次,这样便能halt住;然后重新load image,运行,便可以了。

  小技巧,简记之~

 

  附:有的说法是,halt不住的时候要断开J-link线,重新插拔一次,重启重试。这肯定跟JTAG协议、J-link仿真器以及软件有关,实在比较复杂,难以深究。

你可能感兴趣的:(link)