主题 : 如何在Mini2440用kgdb调试内核? 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 12682
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
贡献值: 0 点
综合积分: 10 分
注册时间: 2010-01-11
最后登录: 2018-02-08
楼主  发表于: 2010-11-12 22:41

 如何在Mini2440用kgdb调试内核?

我查阅了kgdb的资料,不能实现kgdb调试。
硬件:Mini2440, 128MB nand flash.
软件:linux 2.6.32.2, U-Boot 2010.03  modified by tekkamanninja (tekkamanninja@163.com),
编译内核里选上:
[*] Kernel debugging
[*] Compile the kernel with debug info
[*] KGDB: kernel debugging with remote gdb  --->
    <*>   KGDB: use kgdb over the serial console

U-boot里引导命令行:
bootcmd=nfs 0x30008000 192.168.0.26:/home/wenxy/src/mini_2440/linux-2.6.32.2/arch/arm/boot/u-boot_zImage.img;bootm
bootargs=noinitrd root=/dev/nfs rw nfsroot=192.168.0.26:/home/wenxy/src/mini_2440/root_qtopia ip=192.168.0.100:192.168.0.26::255.255.255.0 console=ttySAC0,115200 kgdboc=ttySAC1,115200 kgdbwait init=/linuxrc mem=64M

通过NFS启动kenrel, rootfs,可是系统自动启动,不能停下来,即出现:kgdb: Waiting for connection from remote gdb...

特向大家求助,请有kgdb调试经验的朋友来看看,多谢。
[ 此帖被wenxy在2010-11-12 23:02重新编辑 ]
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2010-11-13 07:41
console=ttySAC0,115200 kgdboc=ttySAC1,115200

你同时接了串口0和1到PC吗?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 12682
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
贡献值: 0 点
综合积分: 10 分
注册时间: 2010-01-11
最后登录: 2018-02-08
2楼  发表于: 2010-11-13 10:01
com0和com1都接到笔记本上,com0做为输出,com1通过TTL转RS232的小板子与虚拟机相连,做为gdb通信串口。

我用echo "test">/dev/ttySAC0; echo "test">/dev/ttySAC1 测试过,串口通讯正常。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2010-11-13 11:12
我没有用过kgdb,不过从源代码看,我想你可以关注一下这里:
kgdb_register_io_module(), kernel/kgdb.c

根据你的情况,这个函数应该在drivers/serial/kgdboc.c里的configure_kgdboc()里被调用。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 48163
精华: 0
发帖: 3
金钱: 15 两
威望: 3 点
贡献值: 0 点
综合积分: 6 分
注册时间: 2011-05-28
最后登录: 2012-11-13
4楼  发表于: 2011-05-31 20:53
我也遇到类似的问题,后来发现是drivers/serial/samsung.c驱动问题。
级别: 新手上路
UID: 53920
精华: 0
发帖: 29
金钱: 155 两
威望: 31 点
贡献值: 0 点
综合积分: 58 分
注册时间: 2011-08-19
最后登录: 2017-09-13
5楼  发表于: 2011-09-02 10:54
引用第4楼free_kernel于2011-05-31 20:53发表的  :
我也遇到类似的问题,后来发现是drivers/serial/samsung.c驱动问题。

你后来是怎么解决这个问题的?我现在也遇到了这个情况,能说说你的解决思路吗?
级别: 新手上路
UID: 13949
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
注册时间: 2010-01-31
最后登录: 2013-09-26
6楼  发表于: 2012-05-08 21:10
请问这个问题解决了吗