QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3693|回复: 1

gdb在嵌入式系统中的调试(转载)

[复制链接]
发表于 2005-12-27 11:07:50 | 显示全部楼层 |阅读模式
转自 复旦 bbs

发信人: weiriver (做人要低调啊!), 信区: Embedded
标  题: gdb在嵌入式系统中的调试
发信站: 日月光华 (2005年12月04日16:07:18 星期天), 站内信件

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

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联系上了。

7、 运行其它GDB命令进行调试。

BTW:gdbserver可能不会一下子就能便已成功,你可能要修改一些配置,甚至要修改源
代码。关键在于它里面针对串口的代码可能需要修改(我以前就遇到这样的问题)。
 楼主| 发表于 2005-12-27 11:09:00 | 显示全部楼层
发信人: weiriver (做人要低调啊!), 信区: Embedded
标  题: Re: gdb在嵌入式系统中的调试
发信站: 日月光华 (2005年12月06日11:00:36 星期二), 站内信件

gdbserver就是一个应用程序,考到目标板的file system里就可以了。
不需要ice的

【 在 blackisle (上善若水) 的大作中提到: 】
: 没怎么明白。
: 你是说直接在目标板上运行gdb-server???
: 而不是host->gdb-server->ICE->target???
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 00:16 , Processed in 0.038751 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表