There was a question about running Windows CE without a bootloader in the Platform Builder newsgroup this morning. The poster suggested that KITL required a bootloader and asked if the OS required a bootloader in general.
The simple answer, and the one that I replied with, is no. The OS does not require a bootloader. KITL does not require a bootloader. But, the BSP may require a bootloader. Without looking at any specific BSP, here are some of the reasons that a BSP might require a bootloader.
· KITL – many BSPs from chip vendors and Microsoft set up KITL using data setup in the bootloader. They do this with some data structure at a fixed location in RAM. So for these to run KITL without a bootloader, these BSPs will need to be modified to initialize KITL in a different way.
· CPU and RAM initialization – many BSPs initialize the CPU registers and RAM in the bootloader and then skip this initialization in the kernel. So to run without a bootloader changes will need to be made to the OAL.
· Other – anything else that is initialized on the bootloader will need to be initialized in the OAL.
This might be general, but there are many ways to write a bootloader and OAL so every BSP will be different. Removing the bootloader can be done, but it is a radical architectural change that will require some effort to accomplish.
Copyright © 2009 – Bruce Eitman
All Rights Reserved