* [U-Boot] [PATCH v2 0/2] README.arm-relocation: debugging options update
@ 2011-04-28 16:49 Ben Gardiner
2011-04-28 16:49 ` [U-Boot] [PATCH v2 1/2] README.arm-relocation: get relocated address from bdinfo Ben Gardiner
2011-04-28 16:49 ` [U-Boot] [PATCH 2/2] README.arm-relocation: get relocated address in gdb Ben Gardiner
0 siblings, 2 replies; 6+ messages in thread
From: Ben Gardiner @ 2011-04-28 16:49 UTC (permalink / raw)
To: u-boot
As Wolfgang pointed out, bdinfo can be used to get the relocation address
so update the README to indicate that this can be done instead of suggesting
that u-boot get rebuilt with debugging enabled.
Since it can also be useful to script the operation, describe also a method
whereby the relocation address is obtained from a register in a breakpoint.
Ben Gardiner (2):
README.arm-relocation: get relocated address from bdinfo
README.arm-relocation: get relocated address in gdb
doc/README.arm-relocation | 104 +++++++++++++++++++++++++++++++-------------
1 files changed, 73 insertions(+), 31 deletions(-)
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH v2 1/2] README.arm-relocation: get relocated address from bdinfo
2011-04-28 16:49 [U-Boot] [PATCH v2 0/2] README.arm-relocation: debugging options update Ben Gardiner
@ 2011-04-28 16:49 ` Ben Gardiner
2011-05-12 21:32 ` Wolfgang Denk
2011-04-28 16:49 ` [U-Boot] [PATCH 2/2] README.arm-relocation: get relocated address in gdb Ben Gardiner
1 sibling, 1 reply; 6+ messages in thread
From: Ben Gardiner @ 2011-04-28 16:49 UTC (permalink / raw)
To: u-boot
The bdinfo command prints the relocaddr on ARM as it does
on PPC.
Update the debugging instructions for arm relocation to
reflect this fact rather than requiring that the user
rebuild the u-boot image using -DDEBUG.
Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
CC: Wolfgang Denk <wd@denx.de>
---
No changes since V1 / introduced in this version
---
doc/README.arm-relocation | 53 ++++++++++++++++++--------------------------
1 files changed, 22 insertions(+), 31 deletions(-)
diff --git a/doc/README.arm-relocation b/doc/README.arm-relocation
index c0957c2..8bfb500 100644
--- a/doc/README.arm-relocation
+++ b/doc/README.arm-relocation
@@ -106,13 +106,9 @@ TBC
Debugging u-boot in RAM:
(example on the qong board)
-a) add in config.mk:
-
-PLATFORM_CPPFLAGS += -DDEBUG
-
-----------------
-b) start debugger
+a) start debugger
arm-linux-gdb u-boot
@@ -130,7 +126,7 @@ The target architecture is set automatically (currently arm)
-----------------
-c) connect to target
+b) connect to target
target remote bdi10:2001
@@ -141,7 +137,7 @@ Remote debugging using bdi10:2001
-----------------
-d) discard symbol-file
+c) discard symbol-file
(gdb) symbol-file
Discard symbol table from `/home/hs/celf/u-boot/u-boot'? (y or n) y
@@ -150,7 +146,7 @@ No symbol file now.
-----------------
-e) load new symbol table:
+d) load new symbol table:
(gdb) add-symbol-file u-boot 0x8ff08000
add symbol table from file "u-boot" at
@@ -167,28 +163,23 @@ Program received signal SIGSTOP, Stopped (signal).
add-symbol-file u-boot 0x8ff08000
^^^^^^^^^^
- get this address from u-boot debug printfs
-
-U-Boot 2010.06-rc2-00009-gf77b8b8-dirty (Jun 22 2010 - 09:43:46)
-
-U-Boot code: A0000000 -> A0058BAC BSS: -> A0061F10
-CPU: Freescale i.MX31 at 398 MHz
-Board: DAVE/DENX Qong
-mon: FFFFFFFF gd->monLen: 00061F10
-Top of RAM usable for U-Boot at: 90000000
-LCD panel info: 640 x 480, 16 bit/pix
-Reserving 600k for LCD Framebuffer at: 8ff6a000
-Reserving 391k for U-Boot at: 8ff08000
- ^^^^^^^^
-Reserving 1280k for malloc() at: 8fdc8000
-Reserving 24 Bytes for Board Info at: 8fdc7fe8
-Reserving 52 Bytes for Global Data at: 8fdc7fb4
-New Stack Pointer is: 8fdc7fb0
-RAM Configuration:
-Bank #0: 80000000 256 MiB
-relocation Offset is: eff08000
-mon: 00058BAC gd->monLen: 00061F10
-Now running in RAM - U-Boot at: 8ff08000
- ^^^^^^^^
+ get this address from u-boot bdinfo command
+
+ => bdinfo
+rch_number = XXXXXXXXXX
+boot_params = XXXXXXXXXX
+DRAM bank = XXXXXXXXXX
+-> start = XXXXXXXXXX
+-> size = XXXXXXXXXX
+ethaddr = XXXXXXXXXX
+ip_addr = XXXXXXXXXX
+baudrate = XXXXXXXXXX
+TLB addr = XXXXXXXXXX
+relocaddr = 0x8ff08000
+ ^^^^^^^^^^
+reloc off = XXXXXXXXXX
+irq_sp = XXXXXXXXXX
+sp start = XXXXXXXXXX
+FB base = XXXXXXXXXX
Now you can use gdb as usual :-)
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 2/2] README.arm-relocation: get relocated address in gdb
2011-04-28 16:49 [U-Boot] [PATCH v2 0/2] README.arm-relocation: debugging options update Ben Gardiner
2011-04-28 16:49 ` [U-Boot] [PATCH v2 1/2] README.arm-relocation: get relocated address from bdinfo Ben Gardiner
@ 2011-04-28 16:49 ` Ben Gardiner
2011-04-28 17:22 ` Heiko Schocher
2011-05-12 21:32 ` Wolfgang Denk
1 sibling, 2 replies; 6+ messages in thread
From: Ben Gardiner @ 2011-04-28 16:49 UTC (permalink / raw)
To: u-boot
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 <bengardiner@nanometrics.ca>
CC: Heiko Schocher <hs@denx.de>
CC: Wolfgang Denk <wd@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(-)
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)
+
+(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 :-)"
+
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 2/2] README.arm-relocation: get relocated address in gdb
2011-04-28 16:49 ` [U-Boot] [PATCH 2/2] README.arm-relocation: get relocated address in gdb Ben Gardiner
@ 2011-04-28 17:22 ` Heiko Schocher
2011-05-12 21:32 ` Wolfgang Denk
1 sibling, 0 replies; 6+ messages in thread
From: Heiko Schocher @ 2011-04-28 17:22 UTC (permalink / raw)
To: u-boot
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 <bengardiner@nanometrics.ca>
> CC: Heiko Schocher <hs@denx.de>
> CC: Wolfgang Denk <wd@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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH v2 1/2] README.arm-relocation: get relocated address from bdinfo
2011-04-28 16:49 ` [U-Boot] [PATCH v2 1/2] README.arm-relocation: get relocated address from bdinfo Ben Gardiner
@ 2011-05-12 21:32 ` Wolfgang Denk
0 siblings, 0 replies; 6+ messages in thread
From: Wolfgang Denk @ 2011-05-12 21:32 UTC (permalink / raw)
To: u-boot
Dear Ben Gardiner,
In message <787a04417ee0eb01c6eb3a7a1edff7ee9a8f825e.1304008866.git.bengardiner@nanometrics.ca> you wrote:
> The bdinfo command prints the relocaddr on ARM as it does
> on PPC.
>
> Update the debugging instructions for arm relocation to
> reflect this fact rather than requiring that the user
> rebuild the u-boot image using -DDEBUG.
>
> Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
> CC: Wolfgang Denk <wd@denx.de>
>
> ---
>
> No changes since V1 / introduced in this version
>
> ---
> doc/README.arm-relocation | 53 ++++++++++++++++++--------------------------
> 1 files changed, 22 insertions(+), 31 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The flow chart is a most thoroughly oversold piece of program docu-
mentation. -- Frederick Brooks, "The Mythical Man Month"
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 2/2] README.arm-relocation: get relocated address in gdb
2011-04-28 16:49 ` [U-Boot] [PATCH 2/2] README.arm-relocation: get relocated address in gdb Ben Gardiner
2011-04-28 17:22 ` Heiko Schocher
@ 2011-05-12 21:32 ` Wolfgang Denk
1 sibling, 0 replies; 6+ messages in thread
From: Wolfgang Denk @ 2011-05-12 21:32 UTC (permalink / raw)
To: u-boot
Dear Ben Gardiner,
In message <713eaea232693cd6775d409b17c2e187328d1598.1304008866.git.bengardiner@nanometrics.ca> you 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 <bengardiner@nanometrics.ca>
> CC: Heiko Schocher <hs@denx.de>
> CC: Wolfgang Denk <wd@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(-)
Applied, thanks.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Only two things are infinite, the universe and human stupidity, and
I'm not sure about the former. -- Albert Einstein
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-05-12 21:32 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-28 16:49 [U-Boot] [PATCH v2 0/2] README.arm-relocation: debugging options update Ben Gardiner
2011-04-28 16:49 ` [U-Boot] [PATCH v2 1/2] README.arm-relocation: get relocated address from bdinfo Ben Gardiner
2011-05-12 21:32 ` Wolfgang Denk
2011-04-28 16:49 ` [U-Boot] [PATCH 2/2] README.arm-relocation: get relocated address in gdb Ben Gardiner
2011-04-28 17:22 ` Heiko Schocher
2011-05-12 21:32 ` Wolfgang Denk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox