Hello Ben, Ben Gardiner wrote: > When your emulator is connected at reset (or is used to load u-boot) > it is possible to get the relocation address from the parameter > passed to relocate_code() instead of building with -DDEBUG and > extracting from the console messages. > > Document this alternate method following the style of the original > method written by Heiko Schocher. > > Signed-off-by: Ben Gardiner <bengardi...@nanometrics.ca> > CC: Heiko Schocher <h...@denx.de> > CC: Wolfgang Denk <w...@denx.de> > > --- > > Changes since V1: > * update to reflect proposed changes to existing debug instructions: > renumber seteps, remove note about -DDEBUG > > --- > doc/README.arm-relocation | 51 > +++++++++++++++++++++++++++++++++++++++++++++ > 1 files changed, 51 insertions(+), 0 deletions(-)
Thanks! > diff --git a/doc/README.arm-relocation b/doc/README.arm-relocation > index 8bfb500..c5aef55 100644 > --- a/doc/README.arm-relocation > +++ b/doc/README.arm-relocation > @@ -183,3 +183,54 @@ sp start = XXXXXXXXXX > FB base = XXXXXXXXXX > > Now you can use gdb as usual :-) > + > +An alternative to retrieving the relocated base address from the bdinfo > command > +is to evaluate the 'addr' parameter of relocate_code() and use its value as > the > +argument to add-symbol-file. This method is only available when your emulator > +is connected to the target on reset. > + > +----------------- > +a) [same as above] start debugger > +b) [same as above] connect to target > +[remainder is different than above] > +----------------- > + > +c) set breakpoint on relocate_code > + > +(gdb) b relocate_code > +Breakpoint 1 at 0xc1080078: file start.S, line 196. > + > +----------------- > + > +d) run target until relocate_code > + > +(gdb) c > +Breakpoint 2, relocate_code () at start.S:197 > +197 mov r5, r1 /* save addr of gd */ > +(gdb) d > +Delete all breakpoints? (y or n) y > + > +----------------- > + > +e) discard symbol file > + > +(gdb) symbol-file > +Discard symbol table from `/home/bengardiner/src/u-boot/u-boot'? (y or n) y > +No symbol file now. > +(gdb) > + > +----------------- > + > +f) load new symbol table using the addr parameter (aka $r2) > + Maybe we can add here also the info, that we can get this address through the bdinfo command? > +(gdb) add-symbol-file u-boot $r2 > +add symbol table from file "u-boot" at > + .text_addr = 0xc7f53000 > +(y or n) y > +Reading symbols from /home/bengardiner/src/u-boot/u-boot...done. > + > +----------------- > + > +g) set breakpoints for any function after (and including) board_init_r. > +"Now you can use gdb as usual :-)" > + bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot