J-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG通用仿真器,这里需要注意一下,像J-Link,ST-Link之类的他们都是一种JTAG工具,好多初手容易混淆把J-Link和JTAG同等级,呵呵,其实前者只是后者大范围下的一个包含,JTAG是一种调试标准,而J-Link是一种调试工具,了解了吧。J-Link目前出到了版本V8,而且由于其PCB在国内比较泛滥,所以价格比较便宜,不过不影响咱们使用就是了,至于J-Link支持的开发环境包括IAR EWARM、ADS、KEIL、WINARM、RealView等等,所支持的芯片包括ARM7/ARM9/ARM11和Cortex-M0/M1/M3/M4等,而且J-Link支持在线固件升级,所以不用担心兼容问题了,我甚至一直在用v7调试Kinetis呢,不过需要小改动,这里就不提了,就以V8为例,哈哈~
下面就以在IAR环境下调试K60为例开启J-Link之旅:
(1)首先是J-Link的硬件接口问题,按照标准的JTAG来就成,实际上需要接的只是那么几根线—TCK,TMS,TDI,TDO,TRST(可选接),Reset,VCC和GND(VCC一定要接,不能省了,我省过,然后就出问题了,呵呵)。这样的话,如果用的是tower系统的话,需要从板子上的DEBUG口外接做个转接板(因为板子上自带了OSJTAG),把刚刚列出的几个脚引出来就可以了,下图为Tower系统的DEBUG口,如果自己画的板就没有这个问题了。
下图为标准的J-Link 20pin接口
(2)硬件连接好之后,就需要在电脑上安装J-Link的驱动了。http://www.segger.com/download_jlink.html,到这个网站去下载最新的驱动即可,解压之后双击一路next就可以了,都懂的,呵呵,安装之后插上J-Link装上驱动就成功了,可以运行J-Link ARM(在桌面上或者开始-程序-SEGGER-J-Link ARM)测试一下,下图为我的测试结果,看到了吧,我用的是V7,建议使用V8的。
(3)如果进行到了这一步就算顺利通过驱动这关了,下面验证下跟K60核心板的连接是否成功,也就是检验下做的转接板或者画的板子JTAG接口是不是对的。先拔下J-Link,然后把核心板和J-Link连接好,接着给核心板上电,最后再插上J-Link,最好按照这个顺序吧,安全第一,呵呵,细心该是我们这些做电子的必备的一种素质嘛。接下来再次点击那个桌面图标,运行结果如下图所示,可以看到连接成功,检测到Cortex-M4核了。
(4)做完上面一切就可以打开IAR开发环境了,在下载程序之前需要对工程进行一些设置,右键工程进入Options选项卡的Debugger选型,选择Driver选择如下图1,然后点击Download选项如下图2,其中Use flash loader最好不要选上,因为选上的话是默认用IAR的loader软件下载的,如果不选的话则是用J-Link算法下载的,后者肯定是优化的速度快些,而且既然我们用J-Link了为什么还要用IAR的下载器呢,是吧,呵呵。下一步进入J-Link/J-Trace选项,该选项一切默认即可,如下图3。
(5)所有设置完毕之后,可以选择一个例程下到K60里面看看运行结果,在这里我把一个自己写的K60的16位AD测试程序下到片子里了,在调试窗口运行结果如下图1所示,途中result1A变量值为读出来的16为AD采样值(我外接的滑阻分压),而且为了表现实时跟踪功能,变量zwf表示运行次数,一直在更新。下图2所示为可以更改刷新速率,这里默认的为1000ms,很方便是吧,哈哈~
好了,到这步就算初步掌握了J-Link的调试方法,其实很简单,主要在于多练,熟能生巧,呵呵,中间有些设置由于不是重点就略掉了,在从零入手系列3里说的详细些,没看懂的可以看看那篇,呵呵,这个小插曲到此结束。
附件里为J-Link的中文说明,有兴趣的可以看看。
附件地址:http://www.eeskill.com/file/id/25860。
问题汇总:
1、
用v4.081出现
V4.34d就显示这样了
解决方案:是复位信号有问题 把jlink上的复位接3.3V就ok了。
2、
每次下载都会出现下面这种问题。下载的是IAR的例程。
解决方案:
是6.3吧,如果是的话,选择如下
,然后在文本框里填入$TOOLKIT_DIR$\config\flashloader\Freescale\FlashK60Dxxx128K.board,然后再试一下,如果还不行的话,你就不要选择“Use flash loader”了,直接用J-link引擎下就行了~
3、
我用的是6.3.但是还是不行。我感觉是J-link的问题。每次给ARM上电后打开J-Link都能正常检测到,但是再把驱动复位就检测不到了。
解决方案:
首先你先确定是“FlashK60Dxxx128K.board”而不是“FlashK60Dxxx128K.flash”,如果还不对的话不选flash loarder也不行是吧,那你看下你的Jlink驱动用的是4.44吗,这个版本的驱动是有问题的,建议下个低版本的~
4、
刚买的最小系统,和j_link,一直下不进去程序,下程序的时候j_link闪的是红灯和弹出这个对话框来!
解决方案:你用示波器看下最小系统片子Reset脚是不是出现方波了,如果是这样的话,多试几次,只要下进去一次程序就可以了,这是新片子~
程序一复位或掉电就没了!这是怎么回事了?换别人的电脑IAR就没事!
解决方案:
是不是选择了RAM调试?或者flash模式下的配置文件是RAM调试的文件。