[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