[U-Boot] Cannot access memory at address 0xd8013fa8 when using gdb/BDI3000 to debug u-boot

davis mcpherson davis.mcpherson at gmail.com
Sat Jan 22 17:26:13 CET 2011


I'm trying to get u-boot version 1.3.4 working a custom MPC8548 based 
board (version 1.1.4 currently works fine on this board so the hardware 
is known to be good).  I'm encountering the following problem during the 
early stages of the u-boot initialization and any insights as to what 
the problem may be would be greatly appreciated:

I have a BDI3000 and i'm using gdb for debug sessions.  I started with 
the MPC8548CDS.h as my template for the build configuration file for 
this board.

1) in the start.S file the L1 DCache is configured to be used for 
initial RAM, this occurs in the code at the 'switch_as:' label.  I set 
the CFG_INIT_RAM_ADDR to the value 0xd8010000 and this value is used to 
configure the L1CFG0 register.
2) execution soon jumps to the '_start_cont:' label and the stack is set 
up in this initial RAM area
3) I set a breakpoint at '_start_cont' and tried to examine the initial 
RAM memory with the gdb 'x' command:
(gdb) x/16x 0xd8010000
0xd8010000:    Cannot access memory at address 0xd8010000

So at this point should gdb be able to examine this memory area?

I compared the code in start.S for 1.3.4 with the code from 1.1.4 and 
although not identical the instructions to setup the L1 cache and use it 
for initial RAM end up using the same values and doing the same 
operations...

I can continue to execute code and soon we jump into the c routines 
where the global data pointer is initialized,  attempts to display this 
gd_t structure give the same error message (no surprise there), so I'm 
guessing this structure does not get initialized properly and function 
using it read bogus values...

but I can continue stepping thru the initialzation functions, and for 
example when the console is initialized a long string of garbage shows 
up in the console terminal window, the baudrate comes from the gd_t 
struct so its not what I configured...

so i think this is close to working but something seems broken with 
using the L1 Dcache for initial ram...

thanks in advance for any ideas and suggestion and please let me know if 
there is additional info that might be useful for you to understand the 
problem...

davis mcpherson





More information about the U-Boot mailing list