Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
OAL Memory Mapping Structures

OAL Memory Mapping Structures (Compact 2013)


Windows Embedded Compact 2013 improved Windows CE’s physical memory management design for ARM and x86 to let you address more than 512 MB of memory. In order to support more than 512 MB of RAM, the way OEMAddressTable is used has been changed, and OEMDeviceTable and Ramtable have been introduced.


This table should now only define address mappings required for system startup, and should only be mapped to cached memory. The format of entries in this table has not changed.


This table contains all the device mappings that used to be in OEMAddressTable. There is only one mapping created for each entry in this table, and that mapping will use the cache attribute specified in the entry. No longer will both cached and uncached mappings be made to the same physical address.


Any RAM beyond the 512 MB that is defined in OEMAddressTable, is defined in this table. You are not required to use OEMRamTable with platforms that use 512 MB of RAM or less, but we recommend that you use it to be compatible with future CPUs that do not allow conflicting memory attributes (such as cached and uncached) be applied to the same physical address.

The following list contains the OAL structures used to map physical memory.


Defines physical-to-virtual address mappings required for system startup.


Defines virtual-to-physical address mappings for uncached devices on the x86 and ARM platforms.


Defines the RAM available in addition to the RAM defined in OEMAddressTable.


Stores information about an Execute-in-place (XIP) region.

© 2015 Microsoft