StrongARM with 64MB RAM

From: Xu Jun (xutianyi_at_163.com)
Date: 04/29/04


Date: Wed, 28 Apr 2004 23:09:40 -0400

Hi All,

I got a very odd problem on my StrongARM CPU based WinCE 4.1 system. Originally the platform has 32MB RAM and the physical starting address of the RAM is 0xC000000 and it works fine. Later we changed the RAM chip to 64MB one, I have modified the config.bib and OEMAddressTable to reflect the changes, but the image that I build can't startup!

For the 32MB RAM , the physical address region is : 0xC0000000~0xC1FFFFFF;
For the 64MB RAM, the physical address region is : 0xC0000000~0xC3FFFFFF;

In the OEMAddressTable, I do mapped whole 64MB RAM, and in config.bib I changed RAM setting
from:
   RAM 8C140000 01EC0000 RAM
To:
   RAM 8C140000 03EC0000 RAM

But it just not works. I can't imagine why that happened.

I can guarantee in the OEMAddressTable, there's no overlapping after I do the 64MB RAM mapping. And the hardware also don't have a problem. Because if I only modified OEMAddressTable and not made any change to config.bib , the image will still running, just we can only see 32MB RAM available. And if at this time we are using following code to map additional 32MB RAM to a virtual address, we can do read/write with the additional 32MB RAM without a problem.

void* pRAMBase = (void*)VirtualAlloc(0, 0x01000000, MEM_RESERVE, PAGE_NOACCESS);
VirtualCopy((PVOID)pRAMBase , (LPVOID)(0xC2000000>>8), 0x01000000,PAGE_READWRITE|PAGE_NOCACHE|PAGE_PHYSICAL)

BTW. I've ever do the similar thing on a XScale platform and everything works fine after I extented the memory setting.

Anyone can tell me which part that I missed regarding this issue?

Thanks a lot!
Xu Jun



Relevant Pages

  • Re: D975XBX2 + 8 GB RAM = unstable :-(
    ... I'm not an overclocker so I'm a bit of a nood when it comes to knowing what each ... memory setting means. ... But this RAM in the motherboard's 'automatic' setting gets ...
    (comp.sys.intel)
  • Re: StrongARM with 64MB RAM
    ... when you map 0x01000000 bytes from address 0xC2000000>>8, in fact, you are ... mapping memory from 8C200000 to 8D200000. ... your RAM area starts at 8C140000. ... BTW. I've ever do the similar thing on a XScale platform and everything ...
    (microsoft.public.windowsce.platbuilder)
  • StrongARM CPU with 64MB RAM (post again)
    ... I got a very odd problem on my StrongARM CPU based WinCE 4.1 system. ... the RAM is 0xC000000 and it works fine. ... changed RAM setting ... BTW. I've ever do the similar thing on a XScale platform and everything ...
    (microsoft.public.windowsce.platbuilder)