WinCE boot mode and bootloader architecture overview

Source: Internet
Author: User
Tags file system network function

The concept of bootloader is a guide to the loader, in the system when the first is run, and then the hardware platform to do the most basic initialization, and finally the operating system loaded up. Different embedded operating systems have their own bootloader, but the essential functions are the same.

The most used in wince is eboot, a web-based bootloader, and can be provided with command-line menu functions, network Debugging functions, and file system-related functions as needed. Here I only talk about the arm platform boot, because the other architecture of the CPU I did not use, it is not bragging. Generally based on different hardware design, there will be different ways to boot:

Norflash Boot:

The general arm of the chip selected 0 will be Norflash, so that after the arm on the power, will start from the 0 address to execute the program, that is, from the Norflash 0 address to start execution. So burn the eboot to the place where the 0 address of the Norflash begins, so that after the power is eboot, it can be executed in Norflash, or it can be executed from the copy to SDRAM. Finally, load the wince image and run it.

Nandflash Boot with EBOOT:

Because the Norflash capacity is small, the price is expensive, now many ARM processors support Nandflash boot. Different manufacturers of the processor to nandflash guidance slightly different, specifically to see datasheet. But the essence is to first read out from the Nandflash a small loader to run, this loader again from Nandflash load Eboot to SDRAM run, and finally eboot load wince image, is nk.bin.

Nandflash Boot without EBOOT:

If you do not need to eboot when Nandflash guide, you can also use the eboot. This is the system boot from the Nandflash load a small loader, small loader hardware system for basic initialization, and then directly loaded wince image, generally should be nk.nb0, and then run.

Here's a look at Nk.bin and nk.nb0, two different wince image.

NK.NB0: is a direct operation of the wince image file, directly copied to the SDRAM can be run.

Nk.bin: Known as the Windows CE binary image Data format file, is a binary file that contains multiple independent records (section). Loading, the different sections are loaded into different places. So Nk.bin needs to be bootloader for explanatory loading. But his size would be smaller than the nk.nb0. You can use the Viewbin command to query the record information in Nk.bin.

Viewbin–rec Nk.bin

I've already talked about the way the general system will use the boot, and here's a eboot. In wince eboot a role can load wince image, but also through the network with Platform Builder download wince image for debugging. In the development of a new BSP, the first will be based on a similar platform of the BSP cloning, and then to do is to develop and debug eboot, Eboot architecture as shown:

Blcommon: Equivalent to eboot a basic framework, the main completion of bootloader related to the allocation of memory, parsing nk.bin file and the effectiveness of the initialization platform, through the network download image functions.

OEM Code: Mainly based on the hardware platform, to provide Blcommon interface functions, to help complete the corresponding functions.

Eboot: A small network protocol stack, for the network download image to provide DHCP,TFTP,UDP and other network services functions.

Network Driver: The network drive part of the hardware platform, support the network function of the upper layer.

Bootpart: Provides zoning capabilities for flash devices, bootloader can create a BINFS partition and a file system partition. You can also use it to create a boot partition to hold the boot parameters.

Flash Memory: Flash drive for hardware platform.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.