[U-Boot-Users] bdi2000 debugging

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
participants (1)
-
yu