在skyeye-1.2.6_rc1上使用gdb调试u-boot
os: redhat 9, gcc: 3.2.2
1. 下载安装arm-elf-tools20040427.sh, 基于gcc-2.95.3, 这个工具没有arm-elf-gdb,已试过,可以编译u-boot.
2. 安装arm-elf-gdb:
首先上ftp://ftp.gnu.org/gnu/gdb/下载gdb,我用的是gdb-6.0a
解压tar zvxf, 新建一个目录,比如在gdb-6.0a里建一个make_gdb,在这个目录里运行gdb-6.0a/configure
参数至少要有一个target --target=arm-elf --prefix=/usr/local/arm-elf-gdb/
然后make, 再make install,
这样就在/usr/local下生成arm-elf-gdb目录,但里面的bin目录的可执行文件
(只有两个文件: arm-elf-gdb arm-elf-run),没有被加入搜索路径,可以COPY到/usr/local/bin里.
3. skyeye.conf
#skyeye config file for S3C44B0X
cpu: arm7tdmi
mach: s3c44b0x
# physical memory
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00200000, file=u-boot.bin
mem_bank: map=M, type=RW, addr=0x0c000000, size=0x00800000
# peripherals I/O mapping area
mem_bank: map=I, type=RW, addr=0x01c00000, size=0x00400000
# uart 0
uart: mod=stdio
# uart 1
#uart: mod=pipe, desc=/dev/ttyS1
# LCD
#lcd: type=s3c44b0x, mod=gtk
#net: ethmod=tuntap, hostip=10.0.0.1
#dbct: state=on
4. 进入u-boot顶层目录,也就是有u-boot,u-boot.bin的那个目录,运行skyeye(因为skyeye安装后,可以在任意目录运行,但skyeye.conf放在u-boot顶层目录).
skyeye -d 这样启动调试模式
[root@rh3 u-boot]# skyeye -d
**************************** WARNING **********************************
If you want to run ELF image, you should use -e option to indicate
your elf-format image filename. Or you only want to run binary image,
you need to set the filename of the image and its entry in skyeye.conf.
***********************************************************************
Your elf file is little endian.
arch: arm
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name s3c44b0x, mach_init addr 0x8076798
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use arm7100 mmu ops
Loaded RAM u-boot.bin
debugmode= 1, filename = skyeye.conf, server TCP port is 12345
...
5. # arm-elf-gdb u-boot
(gdb) target remote 127.0.0.1:12345
(gdb) b start_armboot
(gdb) c
...
至此,可以调试了。
最后: arm-elf-gcc 的编译标志要加 -ggdb, -g和-gstabs都找不到C源代码文件.
这个标志只要加在u-boot/config.mk里就行了。
# arm-elf-as --gstabs -o start.o start.s
# arm-elf-ld -Tmy-boot.lds -o start start.o lowlevel_init.o
这两行可以调试arm汇编
阅读(930) | 评论(0) | 转发(0) |