Chinaunix首页 | 论坛 | 博客
  • 博客访问: 487746
  • 博文数量: 121
  • 博客积分: 4001
  • 博客等级: 上校
  • 技术积分: 1390
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-13 21:48
文章分类

全部博文(121)

文章存档

2011年(4)

2010年(11)

2009年(106)

我的朋友

分类:

2009-11-30 16:59:51

如果板子没有网口,在调试U-Boot和uclinux时就没法用gdb调试。
这时只能利用串口和JTAG口进行调试,linux下可以用BDI这个玩意调试,可是BDI非常昂贵,不适合大众需求。
我总结了下,根据我的调试经验,可以用ADS调试linux的程序。
打开AXD,按下 Alt + L ;或者点System Views下Command Line Interface,就可以打开一个命令行:
输入help查看帮助文件。
比较有用的命令如:
LoadBinary = 将一个文件导入RAM  
LoadSymbols = 导入符号表              
SetPC = 设置PC寄存器                     
Run = 开始运行
OB + 文件名 = 按照批处理文件运行
所有的命令在GUI里面也是有的,可以利用批处理文件(OB命令)来免去敲命令和点菜单的麻烦,
以调试u-boot为例,写一个批处理文件放在D盘,文件名为u-boot.txt,内容如下:
loadbinary Y:\u-boot-1.1.4\u-boot.bin 0x00100000
loadsymbols Y:\u-boot-1.1.4\u-boot
setpc 0x00100000
run
打开AXD,按下ALT+L,键盘输入:ob d:\u-boot.txt
那么AXD会自动运行批处理文件内的命令,自动载入u-boot的二进制代码,自动载入符号表,设置指针为0x00100000,并开始运行。
在调试时,最后自己一步步输入命令做
loadbinary简写lb,只能将二进制文件加载到ram中,不能将地址指定到flash中
在loadsymbols之后,等待进度条显示加载完成,将setpc (pc)指到u-boot.bin的加载位置,即可单步调试。
这时ads会提示寻找u-boot的入口文件start.s地址,此时需要手动指定start.s的位置,通常这时可以在linux下建立smaba服务共享,将整个u-boot的文件夹映射成windows下一个盘符,这样就可以指定目录地址了。
在进入c语言代码中后,ads还可能出现提示指定board.c、string.c等其他文件的地址,这都需要手动做。
此后就可以用ads进行c语言级的u-boot源码调试了!
这种方法应该没问题的,因为我实验了很多次了,都成功了,这可是偶找了近一个月才弄清楚的方法..........
同样,这种方法不知道是否可以用在uclinux上调试,正在进行试验。
参考地址:http://www.mcuzone.com/artical_index.html下的使用AXD在9261上调试u-boot。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bobocheng1231/archive/2008/05/28/2490381.aspx
阅读(3084) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

gongping112011-10-05 20:44:34

我总是报错,应该是加载symbol失败!00026网上的报错很少关于这种情况的。