I am having trouble booting Win CE 7 on a custom board which has half the RAM of the reference board.
I started with BSP_WINCE_ARM_A8_02_30_00 on the Logic PD Zoom AM3517 eXperimenter Kit, and we got our first board to come up OK based on that design. Then we spun the design into a lower cost version which has half of the DRAM (2 512bit DDR2 (x16) instead of 2 1Gbit DDR2 (x16)).
I made the following changes to the OS design and can get past XLDR/Bootloader which is flashed into NAND, but when I download the OS to the board, it either hangs just after calling OEMEnumExtensionDRAM, or (with other changes) it goes on further to load drivers then gets debug check issues in the virtual memory management. The modifications listed below result in the 'hang after OEMEnumExtensionDRAM'
Can anyone see what I might have done wrong, or missed?
-----------------------------------------------------------------------
Changes to addrtab_cfg.inc
-----------------------------------------------------------------------
DCD 0x80000000, 0x80000000, 128 ; SDRAM ;; was 256
DCD 0x8C300000, 0x08000000, 1 ; NAND Registers (FIFO) ;; was 0x9C300000
-----------------------------------------------------------------------
Changes to bsp.inc
-----------------------------------------------------------------------
Changed 8FExxxxxx to 87Exxxxxx in the following places:
BSP_PTES_PA EQU (0x87EE0000)
IMAGE_EBOOT_STACK_CA EQU (0x87EE4000)
-----------------------------------------------------------------------
Changes to image_cfg.h
-----------------------------------------------------------------------
#define DEVICE_RAM_SIZE 0x08000000 // was 0x10000000
#define IMAGE_WINCE_CODE_SIZE 0x027FE000 // was 0x04FFE000
#define IMAGE_WINCE_RAM_CA 0x82800000 // was 0x85000000
#define IMAGE_WINCE_RAM_SIZE 0x01000000 // was 0x03800000
#define IMAGE_WINCE_DISPLAY_CA 0x87000000 // was 0x8F000000
#define IMAGE_WINCE_RAM_DISK_CA_HEX 84000000 // was 8C000000 //
#define IMAGE_EBOOT_CODE_CA 0x87E00000 // was 0x8FE00000
#define IMAGE_EBOOT_DATA_CA 0x87E80000 // was 0x8FE80000
-----------------------------------------------------------------------
Changes to \bootloader\xldr\platform.c
-----------------------------------------------------------------------
#define EMIF4_CFG_IBANK 0x2 // was 0x3
-----------------------------------------------------------------------
Changes to \bootloader\eboot\nand\ebootnand.bib
-----------------------------------------------------------------------
Changed 8FExxxxxx to 87Exxxxxx in the following places:
EBOOTND 87E00000 00040000 RAMIMAGE
RAM 87E80000 00050000 RAM
STACK 87EE0000 00020000 RESERVED
ROMSTART=87E00000