Supporting or Simulating More than 64 MB of RAM (Windows CE 5.0)
The default end address of RAM is 28 MB, unless you set IMGRAM16, IMGRAM32, or IMGRAM64, or build a run-time image for a locale outside the United States. The Config.bib file specifies the end address of RAM. The OEMInit function determines whether to search for additional RAM past the end address of RAM. If you modify Config.bib, OEMInit does not search for additional RAM.
Note In the following procedure, Microsoft assumes that Config.bib specifies the default 28 MB of RAM. If you want to change the default amount, edit the IsDRAM function in the %_WINCEROOT%\Public\Common\OAK\CSP\x86\OAL\Cfwpc.c file. Based on the existence of physical memory at the location passed to IsDRAM, IsDRAM returns TRUE or FALSE.
Note Graphics hardware can use memory from system RAM. If that is the case for your hardware, deduct the amount of memory that the graphics hardware uses from the total system RAM available. The amount of memory that the graphics hardware uses might be available in the graphics driver registry file or another OS registry file.
To support or simulate more than 64 MB of RAM
In %_WINCEROOT%\Public\Common\Oak\Csp\x86\Inc\Pc.h, change CEPC_EXTRA_RAM_SIZE to the total amount of RAM you want to support, minus the amount specified in the Config.bib file.
The default value is 0x2400000 and the default RAM in Config.bib is 28 MB. To support 128 MB of RAM, change the value to 0x6400000.
The OAL uses the CEPC_EXTRA_RAM_START and CEPC_EXTRA_RAM_SIZE constants to determine the amount of memory to dynamically detect and add at run-time.
In %_WINCEROOT%\Public\Common\Oak\Csp\x86\Oal\OEMInit.asm, change the first entry of _OEMAddressTable to the total amount of RAM you want to support.
The default value is 0x04000000, which is 64 MB. To support 128 MB of RAM, change the value to 0x8000000.
Build i486oal.lib with the following commands:
cd %_WINCEROOT%\Public\Common\OAK\CSP\x86\Oal build -c sysgen i486oal
In the Workspace window, from the FileView tab, navigate to %_WINCEROOT%\Public\Common\OAK\CSP\x86\Oal, right-click on the Oal directory, verify that Make Run-Time Image After Build is selected, and then from the Build OS menu, choose Build and Sysgen.
See Also
How to Configure and Build a Run-Time Image for a CEPC | OEMAddressTable
Send Feedback on this topic to the authors