使用arm-linux-gdb 调试u-boot 在Starting target CPU..卡死
环境:虚拟机ubuntu11.10
win7 (J-link Gdb Server)
Linux命令行下输入:
arm-linux-gdb -x .gdbinit -ex "192.168.56.1 2331" u-boot
信息输出如下:
GNU gdb 6.6
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 "--host=i686-pc-linux-gnu --target=arm-linux"...
0x00000000 in ?? ()
JTAG speed set to 30 kHz
Target endianess set to "little endian"
Resetting target
Writing register (CPSR = 0x000000D3)
Writing 0x00000000 @ address 0x53000000
Writing 0xFFFFFFFF @ address 0x4A000008
Writing 0x00007FFF @ address 0x4A00000C
Writing 0xFFFFFFFF @ address 0x4C000000
Writing 0x00000005 @ address 0x4C000014
Writing 0x0007F021 @ address 0x4C000004
Writing 0x22011110 @ address 0x48000000
Writing 0x00000700 @ address 0x48000004
Writing 0x00000700 @ address 0x48000008
Writing 0x00000700 @ address 0x4800000C
Writing 0x00000700 @ address 0x48000010
Writing 0x00000700 @ address 0x48000014
Writing 0x00000700 @ address 0x48000018
Writing 0x00018005 @ address 0x4800001C
Writing 0x00018005 @ address 0x48000020
Writing 0x008E04F4 @ address 0x48000024
Writing 0x000000B1 @ address 0x48000028
Writing 0x00000030 @ address 0x4800002C
Writing 0x00000030 @ address 0x48000030
Select auto JTAG speed (8000 kHz)
The target may not be able to correctly handle a memory-write-packet-size
of 1024 bytes. Change the packet size? (y or n) [answered Y; input not from terminal]
Breakpoint 1 at 0x33f80000: file start.S, line 54.
Loading section .text, size 0x12a9c lma 0x33f80000
Loading section .rodata, size 0x4d65 lma 0x33f92a9c
Loading section .data, size 0x980 lma 0x33f97804
Loading section .u_boot_cmd, size 0x468 lma 0x33f98184
Start address 0x33f80000, load size 99817
Transfer rate: 1386347 bits/sec, 959 bytes/write.
J-link GDB Server的信息输出如下:
Connected to 192.168.56.101
Reading register (PC = 0x00000000)
Read 4 bytes @ address 0x00000000 (Data = 0xFFFFFFFF)
Read 4 bytes @ address 0xFFFFFFFC (Data = 0x00000000)
Read 4 bytes @ address 0x00000000 (Data = 0xFFFFFFFF)
Read 4 bytes @ address 0xFFFFFFFC (Data = 0x00000000)
Read 4 bytes @ address 0x00000000 (Data = 0xFFFFFFFF)
Read 4 bytes @ address 0x00000000 (Data = 0xFFFFFFFF)
Read 4 bytes @ address 0x00000000 (Data = 0xFFFFFFFF)
JTAG speed set to 30 kHz
Target endianess set to "little endian"
WARNING: PC of target system has unexpected value of 0x00000454 after reset.
Resetting target
Writing register (CPSR = 0x000000D3)
Writing 0x00000000 @ address 0x53000000
Writing 0xFFFFFFFF @ address 0x4A000008
Writing 0x00007FFF @ address 0x4A00000C
Writing 0xFFFFFFFF @ address 0x4C000000
Writing 0x00000005 @ address 0x4C000014
Writing 0x0007F021 @ address 0x4C000004
Writing 0x22011110 @ address 0x48000000
Writing 0x00000700 @ address 0x48000004
Writing 0x00000700 @ address 0x48000008
Writing 0x00000700 @ address 0x4800000C
Writing 0x00000700 @ address 0x48000010
Writing 0x00000700 @ address 0x48000014
Writing 0x00000700 @ address 0x48000018
Writing 0x00018005 @ address 0x4800001C
Writing 0x00018005 @ address 0x48000020
Writing 0x008E04F4 @ address 0x48000024
Writing 0x000000B1 @ address 0x48000028
Writing 0x00000030 @ address 0x4800002C
Writing 0x00000030 @ address 0x48000030
Select auto JTAG speed (8000 kHz)
Read 4 bytes @ address