【原创】J-Link调试K60小记
0赞在下篇从零上手系列之前,先插段小记—J-Link调试K60的流程,因为前面各种准备工作都已经做好了,是时候选择一款好的调试下载工具了。之前曾提过,为什么选择了J-Link调试Kinetis,所以这里不啰嗦了,下面先简单介绍下J-Link的一些优点(得找点选择他的理由,呵呵)。
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的中文说明,有兴趣的可以看看。