QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3044|回复: 2

怎么用skyeye+gdb来调试u-boot呢?

[复制链接]
发表于 2007-9-21 14:04:04 | 显示全部楼层 |阅读模式
我用的skyeye是1.2.3版,u-boot是1.1.6,参照这个论坛里那篇在s3c2410上运行u-boot的帖子,把u-boot运行起来了,这没有问题。
但是我想调试u-boot的启动过程:

在被调试一侧执行:
[root@localhost u-boot-1.1.6]# ./skyeye -c skyeye.conf -e u-boot -d
big_endian is false.
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
mach info: name s3c2410x, mach_init addr 0x806acc0
log_info: log is off.
log_info:log file is ./sk1.log, fd is 0x85d9298
log_info: log start clock 0
log_info: log end clock 200000
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use arm920t mmu ops
Loaded RAM   hello.bin
Loaded RAM   u-boot.bin
exec file "u-boot"'s format is elf32-little.
load section .text: addr = 0x33f80000  size = 0x0001290c.
load section .glue_7: addr = 0x33f9290c  size = 0x00000000.
load section .glue_7t: addr = 0x33f9290c  size = 0x00000000.
load section .rodata: addr = 0x33f9290c  size = 0x000006fc.
load section .rodata.str1.4: addr = 0x33f93008  size = 0x00003c6b.
load section .data: addr = 0x33f96c74  size = 0x00000934.
load section .u_boot_cmd: addr = 0x33f975a8  size = 0x00000438.
not load section .bss: addr = 0x33f979e0  size = 0x0000472c .
not load section .debug_line: addr = 0x00000000  size = 0x000091cb .
not load section .debug_info: addr = 0x00000000  size = 0x0004f2b0 .
not load section .debug_abbrev: addr = 0x00000000  size = 0x00007b4e .
not load section .debug_aranges: addr = 0x00000000  size = 0x00000720 .
not load section .debug_frame: addr = 0x00000000  size = 0x00002b88 .
not load section .debug_pubnames: addr = 0x00000000  size = 0x00001d37 .
not load section .debug_str: addr = 0x00000000  size = 0x0000472a .
not load section .comment: addr = 0x00000000  size = 0x000003cc .
not load section .debug_ranges: addr = 0x00000000  size = 0x00000288 .
start addr is set to 0x33f00000 by exec file.
debugmode= 1, filename = skyeye.conf, server TCP port is 12345

在调试这一侧执行:
[root@localhost Hello4Skyeye]# gdb u-boot
GNU gdb Red Hat Linux (6.6-8.fc7rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) list
1       /*
2        *  armboot - Startup Code for ARM920 CPU-core
3        *
4        *  Copyright (c) 2001  Marius Gr&#65533;ger <[email protected]>
5        *  Copyright (c) 2002  Alex Z&#65533;pke <[email protected]>
6        *  Copyright (c) 2002  Gary Jennejohn <[email protected]>
7        *
8        * See file CREDITS for list of people who contributed to this
9        * project.
10       *
(gdb) target remote localhost:12345
Remote debugging using localhost:12345
0x00000000 in ?? ()
(gdb) stepi
Can't send signals to this remote system.  SIGHUP not sent.

Program received signal SIGHUP, Hangup.
0x00000000 in ?? ()

到这里之后除了打命令continue之外,好像其它命令都不生效,
我想能像调试一般应用程序一样能单步执行,并且能看到源代码,如果是汇编的话,希望能看到指令
我该怎么做呢?
发表于 2007-9-22 10:05:46 | 显示全部楼层
Firstly. you should use arm-linux-gdb to debug your u-boot of ARM
Secondly, you should run the command "target remote :12345" on gdb prompt after gdb launch. Reference from the following instruction:
http://skyeye.sourceforge.net/wiki/um5
回复

使用道具 举报

 楼主| 发表于 2007-9-25 12:18:33 | 显示全部楼层
终于搞定了,重新build 了一个6.3版的arm-linux-gdb
用display /i $pc显示汇编指令
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-23 02:42 , Processed in 0.092852 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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