Boot without a Boot Loader (Windows Embedded CE 6.0)
1/5/2010
In some cases, the boot loader does not download the image, but the run-time image is already present on the system. The image might be located at the location where the CPU starts executing. In case the image is not located at the address where the CPU starts executing, use RESETVECTOR to specify the jump address.
- Boot using RESETVECTOR
If the image is not at the address where the CPU starts executing, use RESETVECTOR in Config.bib to specify where to jump to and start looking for the StartUp function. RESETVECTOR tells Romimage.exe where the reset vector for the CPU is located. At the jump location, add a jump instruction to the start of the image. Romimage.exe is a locator application that creates Windows Embedded CE binary image (.bin) files.
The image can overwrite code that instructs the CPU to jump to the start of the image. To prevent this from happening, reserve a page of memory using the RESERVE keyword. For example, if the microprocessor starts executing after reset at 0x9FC00000, but the image is loaded starting at 0x9F800000, instruct ROMIMAGE that the reset vector is 9fC00000. The following code example shows how to reserve one page of this portion of memory using the RESERVE keyword in Config.bib so the jump instruction to the start of the image is not overwritten.
RESETVECTOR=9F800000
The following code example shows how to reserve 4 KB at reset vector for boot loader and diagnostics:
RESERVE 9fc00000 00001000
- Boot without using RESETVECTOR
If you are not using the boot loader and RESETVECTOR is not defined, the jump page is at the start of the image. The image is located at the address where the CPU starts executing.