When a microprocessor does a cold start (when it is first powered up) it is in an unknown state. It therefore starts executing from a specific memory address or loads a memory address to start from, from a specific address in memory. With both cases there is a ROM in those start locations that has a basic input/output program (BIOS) that initializes the system and starts it running. If the required code for the system is small and can fit into the same ROM, then the system continues to run that code until shutdown. If an OS is to be loaded, then this startup program can run until it has initialized the system as required by the OS, it has loaded the OS into RAM, and it has called the OS to start. The loading into RAM of the OS is required because a typical OS won’t fit into a memory addressable ROM but can be stored in media such as serial ROM, storage such as a hard disk, or accessed as a network download.

With Windows Embedded Compact and other embedded OSs, there is a bootloader responsible for starting the OS as previously described. Some may do it in a two or more step manner because the initial startup program is too small or because the startup program on the target system is general purpose. For example, the CEPC-loadcepc startup process first boots to DOS via BIOS and runs loadcepc, which loads and starts the boot manager Eboot. Eboot downloads and starts up a Compact 7 CEPC image. Many OEM Compact 7 development systems have a startup program specific to the ...

Get Professional Windows® Embedded Compact 7 now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.