Andrew Huang bluedrum@163.com
在一般ARM编程教学和实验环境里,一般采用 ADS加+并口转Jtag板+H-Jtag的开发环境。但是这种方法最大缺点是需要机器上有一个并口。现在无论PC还是笔记本都很难有并口,因此采用USB接口调试器就大行其道。其中Sigger的JLink是比较有名和方便的调试器。
ADS 1.2 ,可以如下链接下载
硬件可以参考这个
http://s.click.taobao.com/t_1?i=qz0qHj7qltKQRQ%3D%3D&p=mm_11796696_0_0&n=11
一.J-Link的安装
首先要安装驱动。可从官方网站下载http://www.segger.com/cms/jlink-software.html
我下载最新驱动4.14d ,http://www.segger.com/cms/admin/uploads/userfiles/file/J-Link/Setup_JLinkARM_V414d.zip (最后测试这一个版本在AXD无法使用,总是程序死掉)
我最后成功是老的版本4.02d,这个版本基本上可以保证是正常使用
关于segger的老版本都集中放在这里
我用的是4.02d这个驱动.
图形安装程序一路next即可。
1.1 测试PC机与J-Link的联接
驱动安装后在主菜单会有Sigger->J-Link ARM 4.02d 的菜单。
将JLink的USB接口接在PC机上(jtag那一头可先不接开发板),正常情况下,Windows会提示发现硬件并自动安装硬件。运行J-Link GDB Server程序。会有如下界面
1.此时再将J-Link上的Jtag线转接到开发板,我用的是TQ2440
2.开发板上电后不要进入操作系统(Arm-Linux或WinCE),因此它可能会与仿真软件有冲突,比较简单方法是切换到Nor flash启动模式,这个模式通常不会进入OS.
3.接入JLink后,LCD将不会有显示,这是正常现象。
再次运行GDB Server.正常联接会有如下提示
并且联接上开发板时,J-Link GDB 会自动执行J-Link Control Panel 界面如下。
。(注意要正常用gdb,一般要手工把字节序调成Little Endian,这里一下用不上,就无所谓了)
经过这样测试表示,J-Link整体工作正常。
二.ADS中用J-Link调试程序
2.1 用ADS打开项目源码
在ADS上用打开测试项目,我一般用教学的LED项目.编译后,选择调试按钮进入AXD调试界面,第一次使用AXD一般会出错,可以不管错误直接按2.2 ,2.3步来配置即可
2.2 配置AXD interface (必须配置!)
选择AXD主菜单的Options->Configure Interface ...。
配置两项,一是General 通用页标签中,Target connection选择HALT模式
二是AXD初始化时,配置SDRAM的地址。
可以把配置命令写在一个脚本里。在AXD中设为初始化脚本。
方法,选择configure Interface -->Session File--> Run Configuration Script.
添入SDRAM初始化脚本2440init.txt全路径(注意路径不要带中文,为防止格式错误最好用附件自带的)
2440init.txt内容如下
2.3 配置J-Link的RDI接口
在AXD调试界面。选择AXD主菜单的Options->Configure Target...。
选择sigger安装目录下的JLinkRDI.dll.这一步是让AXD调用J-Link的DLL来调试。 RDI是(Remote Debug Interface 和简称,是ARM公司设计用于其它调试器与AXD通讯的协议。
配置完后应该可以直接在J-Link调试,如果你没有相关经验,可以关掉AXD,重新执行2.1步来调试程序
2.4 AXD调用J-Link调试界面
我测试是完整2440测试程序,643k的axf测试程序一瞬间就下载完毕即可调试,这用并口调试时不可想象,用并口可能几分钟都没下完,而且单步调试非常之慢。而且J-Link来调试则完全没有这一个问题。速度非常之快。
在调试时,J-Link的Control panel 将自动打开
最后实拍一下测试环境,比较简单,开发主机是一台没有串口和并口的笔记本
附件2440init: setmem 0x53000000,0x00000000,32 |