Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

what is the maximum RAM support on windows CE 6.0?

681 views
Skip to first unread message

Siva

unread,
Mar 17, 2010, 12:33:35 PM3/17/10
to
Hi,

what is the maximum RAM supported on Windows CE 6.0? i found the below
link...

http://blogs.msdn.com/sloh/archive/2005/05/25/421750.aspx

the link is pretty old...did someone can confirm if that has been
fixed on Windows CE 6.0? i'm testing a thin client with 1GB ram and it
keeps rebooting.

many thanks

Valter Minute [eMVP]

unread,
Mar 17, 2010, 12:38:45 PM3/17/10
to

The kernel can address 512MB. You may be able to access extra RAM but
you'll have to implement some kind of paging, mapping only a "window" of
the available RAM inside your driver or application (mapping memory in
this way inside an app may still require a kernel mode driver that
handles the mapping and provides valid pointers back to the application).

--
Valter Minute (eMVP)
Training, support and development for Windows CE:
www.fortechembeddedlabs.it
My embedded programming and cooking blog:
www.geekswithblogs.net/WindowsEmbeddedCookbook
Windows Embedded support forums in Italian:
http://social.msdn.microsoft.com/Forums/it-IT/windowsembeddedit/threads
(the reply address of this message is invalid)

Fabrice MOUSSET

unread,
Mar 18, 2010, 4:12:01 AM3/18/10
to
Hi Valter,
I don't agree with you about the kernel address space. On Windows CE
6.00 the kernel address space is 2GB (cf
http://msdn.microsoft.com/en-us/library/bb331824.aspx).

Valter Minute [eMVP]

unread,
Mar 18, 2010, 5:13:31 AM3/18/10
to
On 3/18/2010 9:12 AM, Fabrice MOUSSET wrote:
> Hi Valter,
> I don't agree with you about the kernel address space. On Windows CE
> 6.00 the kernel address space is 2GB (cf
> http://msdn.microsoft.com/en-us/library/bb331824.aspx).

You are right about that, I used the wrong term.
The whole kernel address space is 2GB, as you reported, but in those 2GB
you have two 512MB blocks (lowest GB of kernel space, between 2 and 3
GB) where all the address space is mapped in cached and uncached mode.
In the rest of the kernel address space you have kernel code etc. but
that is already mapped inside the 512MB area (NK region) and I/O address
space (how that is mapped depends on the processor architecture).
On x86 and ARM this area is mapped using OEMAddressTable, on the SH4 is
implemented in hardware by the MMU (and the processor can't address more
than 128MB of RAM IIRC).
This means that the kernel can directly address at most 512MB of RAM.
Here's this concept is explained (in an English better than mine!):
http://blogs.msdn.com/ce_base/archive/2006/11/01/The-CE6-OS-differences-in-a-nutshell.aspx
the article states that the 512MB of RAM limit is still here...

Paolo Patierno

unread,
Mar 19, 2010, 3:38:02 AM3/19/10
to

Hello,
but in the 512 MB (cached or uncached), the ROM and device registers are
also mapped...is it right ? So the usable RAM is less then 512 MB if you have
ROM.
Is it right ?

Thanks,
Paolo

--
Paolo Patierno
Embedded Software Engineer


"Valter Minute [eMVP]" wrote:

> .
>

Valter Minute [eMVP]

unread,
Mar 19, 2010, 9:22:48 AM3/19/10
to
On 3/19/2010 8:38 AM, Paolo Patierno wrote:
> Hello,
> but in the 512 MB (cached or uncached), the ROM and device registers are
> also mapped...is it right ? So the usable RAM is less then 512 MB if you have
> ROM.
> Is it right ?

If you use XIP to execute code from flash that's true. 512MB of RAM is
the theorical maximum. By the way many ARM devices simply can't use this
amount of RAM and are limited to 64 or 128MB.

Dean Ramsier

unread,
Mar 19, 2010, 4:31:29 PM3/19/10
to

And devices with memory mapped IO (e.g. ARM) will also consume space here
for device registers that must be accessed by the kernel. Those locations
also have to be mapped in this area so there is no way to hit 512MB.

--
Dean Ramsier - eMVP
BSQUARE Corporation


"Valter Minute [eMVP]" <valter.minute@_REMOVEME_gmail.com> wrote in message
news:uSDfFd2x...@TK2MSFTNGP04.phx.gbl...

0 new messages