分类: LINUX
2014-07-02 16:20:29
以NandFlash测试程序为例来说明AXD工具使用方法.在CodeWarrior中执行Debug,ADS编译器会自动调用AXD工具.
(一)使用H-JTAG的AXD调试
(1)使用AXD工具前需要指定H-JTAG来调试开发板.
开发板不上电,在CodeWarrior中执行Debug,ADS编译器自动调用AXD工具.在AXD界面内执行菜单Options/Configure Target,单击Add来添加H-JTAG配置文件.该配置文件是在H-JTAG安装目录下的H-JTAG.dll(常见安装目录c:/Program Files/H-JTAG/H-JTAG.dll).选中H-JTAG,单击Configure,这样就工程配置了AXD工具的H-JTAG.
(2)接入Debug串口线、USB线、JTAG线,打开H-JTAG代理调试软件、SecureCRT,打开开发板电源.注意,如果要使用AXD进行调试,NandFlash内不能有程序,否则会使要调试的程序运行不正常.所以,使用前先擦除NandFlash.
(3)在CodeWarrior中执行Debug,ADS编译器会自动调用AXD工具.如果AXD图标变色,说明已成功连接至开发板.
(4)配置SDRAM.由于需要将程序下载到SDRAM中运行,所以使用AXD调试前需要正确配置SDRAM.天祥电子提供了SDRAM的初始化脚本"2440init.txt",用户在运行AXD前应该先运行该初始化脚本.在AXD界面内执行菜单Options/Configure Interface/Session File,选择Run Configuration Script,单击Browse,找到该初始化脚本.注意,初始化脚本"2440init.txt"必须放在英文目录下.注意,再次运行AXD工具时,在AXD界面内的Command Line Interface可以看到AXD是否运行了该初始化脚本.
(5)AXD的简单调试
单击go按钮,可以运行程序.如果正常运行,程序会自动跳到main函数处.当程序没有跳到main函数时,表明程序已跑飞.单击stop按钮,可以停止程序的运行.
<1>再次单击go按钮,在SecureCRT内会打印出调试信息.
<2>输入2,选择NandFlash K9F2G08.在SecureCRT内列出测试选项.
<3>输入0: 读取NandFlash ID号.
<4>输入1: 复位NandFlash.
<5>输入2: 擦除NandFlash,并输入要擦除的块.输入1,擦除Block 0.
<6>输入3: 读取页数据,并输入要读取的块,输入1;输入要读取的页,输入2.
<7>输入4: 页写入,并输入要写入的块,输入2;输入要写入的页,输入1.
(二)使用J-Link的AXD调试
如果用户的计算机没有并口,也可以使用J-link来连接开发板.
(1)安装J-link驱动.
(2)将J-link的一端接计算机的USB口,另一端接开发板的JTAG端口.
(3)接入Debug串口线、USB线,打开H-JTAG代理调试软件、SecureCRT,打开开发板电源.如果J-link绿灯亮起,表明连接正常.
(4)关闭开发板电源,添加J-link配置文件.
在AXD界面内执行菜单Options/Configure Target,单击Add来添加J-link配置文件.该配置文件是在J-link安装目录下的JLinkRDI.dll.常见安装目录c:/Program Files/SEGGER/JLinkARM_V402a/JLinkRDI.dll.选中Multi-ICE,单击Configure,这样就配置了AXD工具的J-link.
(5)在CodeWarrior中执行Debug,ADS编译器会调用AXD工具.如果AXD图标变色,说明已成功连接至开发板.注意,如果要使用AXD进行调试,NandFlash内不能有程序,否则会使要调试的程序运行不正常.所以,使用前先擦除NandFlash.
(6)配置SDRAM.由于需要将程序下载到SDRAM中运行,所以使用AXD调试前需要正确配置SDRAM.天祥电子提供了SDRAM的初始化脚本"2440init.txt",用户在运行AXD前应该先运行该初始化脚本.在AXD界面内执行菜单Options/Configure Interface/Session File,选择Run Configuration Script,单击Browse,找到该初始化脚本.注意,初始化脚本"2440init.txt"必须放在英文目录下.在AXD界面内的Command Line Interface,可以看到AXD是否运行了该初始化脚本.
(7)单击go按钮,可以运行程序.如果正常运行,程序会自动跳到main函数处.当程序没有跳到main函数时,表明程序已跑飞.单击stop按钮,可以停止程序的运行.再次单击go按钮,在SecureCRT内会打印出调试信息.
<1>输入2,选择NandFlash K9F2G08.在SecureCRT内列出测试选项.
<2>输入0: 读取NandFlash ID号.
<3>输入1: 复位NandFlash.
<4>输入2: 擦除NandFlash,并输入要擦除的块.输入1,擦除Block 0.
<5>输入3: 读取页数据,并输入要读取的块,输入1;输入要读取的页,输入2.
<6>输入4: 页写入,并输入要写入的块,输入2;输入要写入的页,输入1.
(三)AXD常见问题分析
(1)单击debug按钮后进入AXD调试界面,单击go(全速运行),但程序总是跑飞.跑飞的现象是单击停止按钮,出现如下图所示,图中都是汇编语言.
解决步骤:
<1>在AXD界面内执行菜单Options/Configure Target,查看是否添加了H-JTAG配置文件.
<2>在AXD界面内执行菜单Options/Configure Interface/Session File,选择Run Configuration Script,单击Browse,找到SDRAM初始化脚本"2440init.txt".注意,初始化脚本"2440init.txt"必须放在英文目录下.注意,再次运行AXD工具时,在AXD界面内的Command Line Interface可以看到AXD是否运行了该初始化脚本.
<3>要使用AXD进行调试,NandFlash内不能有程序,否则会使要调试的程序运行不正常.所以,使用前先擦除NandFlash.
<4>如果执行了以上的步骤,程序仍然跑飞,则需要关闭AXD,关闭开发板电源.然后再次上电,再次进行Debug调试.