Eboot is called Ethernet Bootloader. It is mainly responsible for downloading system images from the host to non-volatile solid state storage devices on the target platform through Ethernet, it is also mainly responsible for configuring some system startup parameters (such as TOC. Generally, Eboot uses the system customization Platform tool (such as Platform Builder) in the system customization process, while Nboot is generally developed using ADS.
The Eboot software code can be divided into the following five parts:
1. BLCOMMON: implements a general Bootloader framework;
2. OEM code: the code to be implemented by the user (this part must be modified)
3. Specific Eboot code: Ethernet operation related functions;
4. Storage Management Code: storage partition management and Flash drive;
5. EDBG driver code: the driver used by Eboot.
I. BLCOMMON
The source code is located at % _ WINCEROOT % // PUBLIC/COMMON/OAK/DRIVERS/ETHDBG/BLCOMMON.
BLCOMMON includes the most common implementation of Bootloader and almost no hardware-related work, including parsing the downloaded operating system image file, verifying the downloaded image data, and tracking the download progress.
It defines the required hardware operation functions as standard function interfaces, which must be implemented by the user. These functions, called OEM functions, operate on the target embedded hardware and provide the required functions to the BLCOMMON library.
Ii. Eboot
The source code is located at % _ WINCEROOT % // PUBLIC/COMMON/OAK/DRIVERS/ETHDBG/EBOOT.
Eboot is also a bootloader support library, and its code is also not related to hardware, but only applicable to eboot-type bootloader, that is, the use of Ethernet ports to download images from the development computer.
It implements network protocols such as DHCP, TFTP, and UDP for Bootloader to download images.
3. edbg driver
Bootloader must use two types of peripherals: Ethernet port and flash memory. Therefore, drivers of these two types of devices are essential. Ethdbg driver and FMD driver respectively. (Note: The ethdbg driver and FMD driver used in bootloader are different from the driver in Windows CE. Their interfaces and function definitions are different)
Iv. Storage Management (bootpart support Library)