[U-Boot-Users] best way to debug memory address problems?

Jerry Van Baren vanbargw at gmail.com
Fri Sep 7 03:37:57 CEST 2007


Alan Bennett wrote:
> Help;  I'm trying to figure out if these errors are hardware or
> software.  And of course, this is our first ppc/uboot system, so I'm
> still stepping through a lot of learning as I go.
> 
> I'm supposed to have a memory region from 0 to 7fff_ffff assigned to

Looks like 07ff_ffff to me, although it doesn't matter for this discussion.

> our 128MB memory.  However, I run into several issues when trying to
> run mtest.  I end up with an large sections  mis-behaving.  I don't
> see any conflicts in the BRx registers, and I believe my OR1 is set up
> properly, so I'm not sure how to proceed.
> 
> good:
> #> md  0x00100000 1; mw  0x00100000 0xfff0000f ; md  0x00100000 1;
> 00100000: ffffffff    ....
> 00100000: fff0000f    ....
> 
> bad:
> #> md  0x00b8ac98 1; mw  0x00b8ac98 0xffff0000 ; md  0x00b8ac98 1;
> 00b8ac98: 61633938    ac98
> 00b8ac98: 61633938    ac98

OK, the *data bits* in the memory are the *ASCII* values that form the 
lower half of the address 0x61 = 'a', 0x63 = 'c', 0x39 = '9', 0x38 = 
'8'.  There is *no way* this can be a coincidence unless you wrote those 
values in intentionally before doing the above example "mw" command. 
Going down that decision tree...

a) If you put 0x61633938 in that location of memory, how did you do it 
when it worked as opposed to the above illustration where it failed?

b) If you *didn't* put 0x61633938 in that memory location, who did? 
There is no way hardware mis-wrote half the address as *ASCII* values as 
part of the "mw" command which means either there is a software bug 
involved or your hardware is seriously sick (does u-boot run reliably?). 
  If this is the case, what happens when you use capital letter addresses?
md 0x00b8AC98 1; mw  0x00b8AC98 0xffff0000 ; md  0x00b8AC98 1;

> #> md  0x00b8ac98 1; mw  0x00b8ac98 0x0000ffff ; md  0x00b8ac98 1;
> 00b8ac98: 61633938    ac98
> 00b8ac98: 61633938    ac98
> #> md  0x00b8ac98 1; mw  0x00b8ac98 0xff0000ff ; md  0x00b8ac98 1;
> 00b8ac98: 61633938    ac98
> 00b8ac98: 61633938    ac98
> 
> System: mpc8248 - custom board based on ep8248e
> 128 MB RAM; 128 MB Flash; 128 MB Flash
> #> memcinfo
> BR0   = f8001801 OR0   = f80018c2
> BR1   = 00001841 OR1   = f8002b00
> BR2   = f4000801 OR2   = fff018c4
> BR3   = 00000000 OR3   = 00000000
> BR4   = e8001801 OR4   = f80018c2
> BR5   = f4100801 OR5   = fff00864
> BR6   = f4200801 OR6   = fff00864
> BR7   = 00000000 OR7   = 00000000
> BR8   = 00000000 OR8   = 00000000
> BR9   = 00000000 OR9   = 00000000
> BR10  = 00000000 OR10  = 00000000
> BR11  = 00000000 OR11  = 00000000
> MAR   = adf32865
> MAMR  = 00000000 MBMR  = 00000000 MCMR  = 00000000
> MPTPR =     1300 MDR   = 1d005815
> PSDMR = c2672522 LSDMR = 00000000
> PURT  =       21 PSRT  =       4b
> LURT  =       12 LSRT  =       a9
> IMMR  = f0000c10

Puzzled,
gvb




More information about the U-Boot mailing list