Boot without a Boot Loader

In some cases, the boot loader does not download the image, but the OS image is already present on the system. The image may or may not 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

    In cases where the image is not located at the address where the CPU starts executing, you need to use the RESETVECTOR in the Config.bib file to specify where to jump to and start looking for the StartUp function. RESETVECTOR tells ROMIMAGE where the reset vector for the CPU is located. At the jump location, add a jump instruction to the start of the image.

    It is possible that the image may overwrite the 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, a situation where the microprocessor starts executing after reset at 0x9FC00000, but the image is loaded starting at 0x9F80000. In this case, you will tell ROMIMAGE that the reset vector is 9fC00000. One page of this portion of memory should be reserved using the RESERVE key in Config.bib file so that the jump instruction to the start of the image is not overwritten.

    RESETVECTOR=9F800000

    Reserve 4K 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 from.

See Also

Boot with a Boot Loader | Modes for Booting the OS

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.