[U-Boot] still weird problems (linker/debug?) on MCF5445x

Wolfgang Wegner wolfgang at leila.ping.de
Tue Mar 2 17:42:32 CET 2010


Dear Wolfgang Denk,

On Tue, Mar 02, 2010 at 05:30:42PM +0100, Wolfgang Denk wrote:
> Dear Wolfgang Wegner,
[...]
> > but the breakpoint is never reached. I tried printing the function
> > pointer from the code:
> > 	printf("%s@%p\n", __FUNCTION__, &board_init_r);
> > resulting in:
> > 	board_init_r at 47da466e
> > The disassembly shows:
> > 	4002066e <board_init_r>:
> > 	4002066e:       4e56 ffc0       linkw %fp,#-64
> > 	40020672:       202d 0014       movel %a5@(20),%d0
> > 	40020676:       48d7 3c3c       moveml %d2-%d5/%a2-%a5,%sp@
> 
> I see no problem here. The 0x47da4672 you got above is obviously the
> (correct) address for the "movel %a5@(20),%d0" instruction. Assuming
> you can set breakpoints at all the code should stop there.
> 
> > and in the debugger I can see:
> > 	(gdb) print /x *0x47da466e
> > 	$1 = 0x4e56ffc0
> 
> Looks sane to me, too.

that's what I thought, too, but I wanted to give all information -
which obviously failed:

> Which sort of debugger are you using? 

I am using a PEEDI (Hw:1.2, L:BDM v1.1 Fw:6.1.0) for debugging.

The funny thing is I can set breakpoints up to the relocation point:
(gdb) b board_init_f
Breakpoint 1 at 0x40020890: file board.c, line 244.
(gdb) c
Continuing.

Breakpoint 1, board_init_f (bootflag=0x0) at board.c:244
244             gd = (gd_t *) (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_GBL_DATA_OFFSET);

Regards,
Wolfgang



More information about the U-Boot mailing list