原创 AXD command line interface 比较有用的命令

2011-5-5 14:23 2789 7 7 分类: 工程师职场

转载http://blogold.chinaunix.net/u3/98575/showart_1961417.html

一、使用的软件与工具:
H-JTAG v0.6.1
CITK2410开发板(带bootloader
AXD Debugger for ARM Developer Suite 1.2
并口线与JTAG                                                                         
 
二、主要的过程:
1)正确连接JTAG线,板子上电
2)安装H-JTAG v0.6.1软件。然后打开H-JTAG,点击 Detect Target
对于使用s3c2410,执行Detect Target后得到如下结果:
 
 
3)打开AXD Debugger, 点击Options-->Configure Target…
①这时出现以下Choose Target对话框:
 
②接着点击add,增加一个Target Environments.
在安装H-JTAG v0.6.1的目录下有H-JTAG.dll动态链接库,点击增加即可。
 
③现在发现AXD已经可以正确的显我们开发析的信息。
 
4)在AXD上点击System Views-->command line interfaceALT+L
    在出现的command line interface窗口中输入以下命令: 
 
Debug >loadbinary C:\u-boot.bin 0x33f80000
Debug >loadsymbols C:\u-boot.axf
Debug >setpc 0x33f80000
 
    这里下载到内存的地址为0x33f80000,是根据u-boot中的TEXT_BASE变量设置,这里可以省去调试过程中对地址的转换。在u-boot对应开发板的目录下的config.mk文件中可以找到这个变量。
u-boot.axf是由编译后得到的u-boot直接改名得到的。
 
也可以将命令按行写到一个文件中,然后使用ob命令执行,这样可以节省时间。
例如可以将以上命令存为一个run.txt的文件,放在D盘。然后在command line interface中输入命令:
 
Debug >ob D:\run.txt
 
所有的命令在GUI里面也是有的,可以利用批处理文件(OB命令)来免去敲命令和点菜单的麻烦
                             
 
这时就可以在内存中对u-boot调试啦。             
 
三、在调试的过程中,可以先使用crosstool工具arm-linux-objdumpu-boot反编译。
例如,在u-boot的目录下,执行以下命令:
 
[root@localhost WORK]# /opt/crosstool/gcc-4.1.1-glibc-2.3.2/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-objdump -S u-boot > u-boot.S
 
得到的u-boot.S汇编源代码与u-boot符号表System.map结合起来将是跟踪调试过程中的得力助手。
 
四、附录:
一些用到的命令的解释
LoadBinary = 将一个文件导入SDRAM
LoadSymbols = 导入符号表
SetPC = 设置PC寄存器
Run = 开始运行
OB + 文件名 = 按照批处理文件运行
如果有命令不清楚的话,在命令行下,输入 help ,可以打开帮助文件!
 
以上的调试方法对于u-boot的第一阶段调试比较好,但对于第二阶段效果就不是太好。
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条