[U-Boot] U-Boot (porting) problem on MCF5445x board
Wolfgang Wegner
wolfgang at leila.ping.de
Thu Jan 14 17:53:07 CET 2010
Sorry for another self-followup...
With the modified linker script, I already have a failure in
board.c/board_init_f():
(gdb) break board.c:249
Breakpoint 1 at 0x4002089e: file board.c, line 249.
(gdb) c
Continuing.
Breakpoint 1, board_init_f (bootflag=0) at board.c:249
249 memset ((void *) gd, 0, sizeof (gd_t));
(gdb) n
252 if ((*init_fnc_ptr)() != 0) {
(gdb) print init_fnc_ptr
$1 = (init_fnc_t **) 0x40040000
(gdb) print init_sequence
$2 = {0x40033aca <get_clocks>, 0x4002e22e <env_init>,
0x400205ca <init_baudrate>, 0x40026ad2 <serial_init>,
0x4002ce4e <console_init_f>, 0x40030262 <display_options>,
0x400338e8 <checkcpu>, 0x4002ff80 <checkboard>, 0x40020596 <init_func_i2c>,
0x4002056c <init_func_spi>, 0x40020510 <init_func_ram>, 0}
(gdb) print *init_fnc_ptr
$3 = (init_fnc_t *) 0x1010101
(gdb) s
[gdb hangs here, does not reach get_clocks()]
The addresses from "print init_sequence" correspond to those found in
u-boot.map. I have to admit I am a bit puzzled by the behaviour of gdb
when printing pointers (did not use it for some years now...), but to
me the init_fnc_ptr looks ... weird. And somehow truncated (?) like the
fmt string in the debugged printf() from the last mail. I tried disabling
the cache which was formerly enabled already in cpu_init_f(), but this
did not change anything.
Have to give up for today, hopefully I see more clearly next morning.
Regards,
Wolfgang
More information about the U-Boot
mailing list