When I build my Windows CE image in PB, I get following error.
Error: Ram start overlaps rom binary
Error: No room left in memory section, Image is too large for defined regions.
Rom end : 0×8e59d9b0
Ram start: 0×8e229000
NK
physfirst 8c200000
physlast 8e59d9b0
ulRAMFree 8e229000
Fatal error hit, exiting…
Problem
: This is because your NK.bin image size bigger than the size
defined in config.bib.
Resolutions
1) Decrease your image size by removing components take
a lot of space, then user need to Re-Sysgen the platform.
2) Increase your image size defined by changing values in config.bib.
For example, my original NK size is 32Mbyte
so in config.bib 32Mbyte is defined like following example.
Start address size
NK 8C200000 02000000(32Mbyte) RAMIMAGE
RAM 8E200000 01800000 RAM
Increase size image 32Mb to 38Mb so that user need to change RAM’s start address value and size.
Start address size
NK 8C200000 02600000(38Mbyte)RAMIMAGE
RAM 8E800000(+600000) 01200000(-600000)RAM
Finally, change ROM start, width, size values in config.bib
ROMSTART=8C200000
ROMWIDTH=32
ROMSIZE=02600000
OTHER answers
You can find the config.bib in the FILES folder of you BSP:
One part of this config.bib (MEMORY section) is used to specify your
memory sections, which also includes the sizes of these regions.
you need to adjust the
NK xxxxxxxx xxxxxxxx RAMIMAGE
RAM xxxxxxxx xxxxxxxx RAM
setting to fit your total RAM sizes.
If you take a look at the supplied BSP's for the X86 processor different
variables are used for different RAM sizes (IMGRAM16, IMGRAM512 etc...).
and a link (of course):
http://blogs.msdn.com/ce_base/archive/2006/09/01/Understanding-Memory-Sections-in-config.bib_2C00_-boot.bib_2C00_-and-OEMAddressTable-in-Windows-CE-5.0-and-6.0.aspx
And then copy the config.bib to the _FLATRELEASEDIR before running makeimg.
browsing to /PLATFORM/BSP/FILES, copying config.bib, browsing to
your FLATRELEASEDIR, pasting config.bib, switching back to PB and makeimg