INFO: Migration of Boot Loader from Windows CE 2.11 to 2.12 (248992)



The information in this article applies to:

  • Microsoft Windows CE Platform Builder 2.11
  • Microsoft Windows CE Platform Builder 2.12

This article was previously published under Q248992

SUMMARY

When migrating your boot loader from Windows CE 2.11 to Windows CE 2.12, you must ensure that the following change is made:

Before compiling, make a code change to the SOURCES file for Nk.exe and the boot loader as shown below to reflect the LDEFINE flags as appropriate:
!IF "$(_WINCEOSVER)"=="300" || "$(_WINCEOSVER)"=="212"

LDEFINES=-subsystem:native /DEBUG /DEBUGTYPE:CV /FIXED:NO

!ELSE

LDEFINES=-subsystem:native /DEBUG /DEBUGTYPE:BOTH,FIXUP

!ENDIF
				

MORE INFORMATION

ROMIMAGE gives unpredictable results if EXEBASE is not specified for Nk.exe. The EXEBASE value is also ignored if KERNELFIXUPS=on (default case). On x86 systems, the definition of EXEBASE is very significant because in the Init.asm file, EXEBASE is used by OFFSET32 in the following line:
mov ebx, OFFSET32 PagingEnabled
				
However, OFFSET32 is resolved at link time and EXEBASE is used to determine the 32-bit number. If EXEBASE is not present as a definite value when ROMIMAGE is executed, the system will malfunction. Updating EXEBASE works around this issue.

Modification Type:MinorLast Reviewed:12/26/2003
Keywords:kbinfo KB248992