
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