[U-Boot-Users] Debugging U-Boot on 440GP

Scott McNutt ScottM at Orbacom.com
Tue Nov 25 18:16:49 CET 2003


Brian,

It's been a while since I tested this, but...

> I have a BDI2000 and a custom target board.  I am can
> successfully connect to it and step through single instructions.
> I can also set a breakpoint at _start_440, but any breakpoints
> after that do not get noticed.  I have the BDI setup for HARD
> breakpoints.  Should I have it setup for SOFT instead?

The debug control/status registers need to be setup. By default the
startup code in cpu/ppc4xx/start.S clears the dbcr registers, so
debug events are disable. The hw debuggers I've used need an
event to establish control. If CFG_INIT_DBCR is defined, the
dbcr0 is setup with the macro value (see start.S). To set the
macro you can do one of the following:

Define CFG_INIT_DBCR in your config header to the value you
need.

Or, if you copied board/ebony/config.mk for your custom
board you can simply:

$ touch cpu/ppc4xx/start.S
$ make dbcr=1

This defines CFG_INIT_DBCR=0x8cff0000 -- which should give
you all events.

> What I am seeing is that when I stop the CPU, it's either at 0x700
> or 0x1400 -- both of which are defined in the kgdb.c file, but I don't
> know what they mean.  Can anyone shed any light on the situation
> for me?

0x700 is program check -- bad opcode? ;-)
0x1400 is data tlb exception -- you might want to check your tlbtab
to make sure it's correct.

Regards,
--Scott





More information about the U-Boot mailing list