[U-Boot-Users] bdi2000 debugging
yu
yu at mp-sun1.informatik.uni-mannheim.de
Tue Feb 4 05:34:13 CET 2003
When I use bdi2000 to do the remote debug, i.e.
$ppc-linux-gdb ppcboot
(gdb)target remote bdi2000:2001
I execute ppcboot step by step and get the following error:
692 bl board_init_f /* run first part of init code
(from Flash) */
(gdb) si
board_init_f (bootflag=4294836576) at board.c:323
323 {
(gdb) next
board_init_f (bootflag=54528) at board.c:337
337 gd = (gd_t *) (CFG_INIT_RAM_ADDR + CFG_GBL_DATA_OFFSET);
(gdb)next
341 memset ((void *) gd, 0, sizeof (gd_t));
(gdb)next
344 for (init_fnc_ptr = init_sequence; *init_fnc_ptr;
++init_fnc_ptr) {
(gdb)
Program received signal SIGABRT, Aborted.
0xfffe8470 in board_init_f (bootflag=54528) at board.c:344
344 for (init_fnc_ptr = init_sequence; *init_fnc_ptr;
++init_fnc_ptr) {
(gdb)
so the program stopped at 0xfffe8470
From the list file,
there is nothing special at this address.
for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
fffe846c: 83 9e 80 44 lwz r28,-32700(r30)
fffe8470: 80 1c 00 00 lwz r0,0(r28)
fffe8474: 2c 00 00 00 cmpwi r0,0
fffe8478: 41 82 00 28 beq- fffe84a0 <board_init_f+0x74>
if ((*init_fnc_ptr) () != 0) {
fffe847c: 81 3c 00 00 lwz r9,0(r28)
fffe8480: 7d 28 03 a6 mtlr r9
fffe8484: 4e 80 00 21 blrl
fffe8488: 2c 03 00 00 cmpwi r3,0
fffe848c: 41 82 00 08 beq- fffe8494 <board_init_f+0x68>
hang ();
fffe8490: 48 00 03 49 bl fffe87d8 <hang>
fffe8494: 84 1c 00 04 lwzu r0,4(r28)
fffe8498: 2c 00 00 00 cmpwi r0,0
fffe849c: 40 82 ff e0 bne+ fffe847c <board_init_f+0x50>
}
}
I really dont know why ppcboot always break at this step.
And where is the SIGABRT from? how to deal with it?
Any hints?
thanks in advance.
maoyuan
More information about the U-Boot
mailing list