Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2088116
  • 博文数量: 288
  • 博客积分: 10594
  • 博客等级: 上将
  • 技术积分: 3469
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-27 19:27
文章分类

全部博文(288)

文章存档

2012年(4)

2011年(30)

2010年(40)

2009年(32)

2008年(71)

2007年(79)

2006年(32)

分类: LINUX

2009-08-04 17:10:11

嵌入式系统中的gdb调试
1、首先你要下在gdb的源代码,然后把它编译并安装成你的平台的xxx-linux-gdb。比如说arm-linux-gdb的编译放法如下:
1) 下载GDB的源代码,如gdb-5.0
2) 执行如下指令:
cd gdb-5.0
./configure --target=arm-linux
make(生成gdb)
make install(生成arm-linux-gdb,并存入/usr/local/bin/)
2、在gdb源代码里有一个gdbserver目录,在这个目录下运行:
make gdbserver
生成gdbserver。当然,你要把gdbserver的Makefile中的CC设置成你的平台的交叉编译工具。
3、把gdbserver和待调试的应用程序下到你的板子上;而应用程序编译的时候要加-g选项,它的源代码要放在pc机上,用(正对你的平台的)xxx-linux-gdb调试时需要。
4、如果你用串口1调试hello的话,你就要现在板子上运行命令:
gdbserver hello /dev/ttyS0
这时gdbserver就在等待gdb的应答信号了。
5、然后在pc机上运行命令:
xxx-linux-gdb hello
6、在xxx-linux-gdb里敲入入下命令:
set remotedevice /dev/ttyS0(这里设置串口1)
set remote baud 9600 (这里设置串口波特率)
set debug remote 1(可选)
target remote /dev/ttyS0
操作到这儿,gdb就应该和gdbserver联系上了。
5) 运行其它GDB命令进行调试。
BTW:gdbserver可能不会一下子就能便已成功,你可能要修改一些配置,甚至要修改源代码。关键在于它里面针对串口的代码可能需要修改(我以前就遇到这样的问题)。
阅读(1212) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~