Eboot,全称为Ethernet Bootloader,它主要负责通过以太网把系统镜像从主机下载到目标平台的非易失性固态存储设备中,它还主要负责配置一些系统的启动参数(如TOC)等。Eboot一般是在系统定制过程中利用系统定制平台工具(如Platform Builder)完成开发,而Nboot一般是用ADS开发的。
Eboot的软件代码可以划分为以下5个部分:
1、BLCOMMON:实现通用的Bootloader框架;
2、OEM代码:需要用户实现的代码; (这部分是必须修改的)
3、Eboot特定代码:以太网操作相关的函数;
4、存储管理代码:存储分区管理和Flash驱动;
5、EDBG驱动代码:Eboot使用的驱动程序。
一、BLCOMMON
源代码位于:%_WINCEROOT%\\PUBLIC\COMMON\OAK\DRIVERS\ETHDBG\BLCOMMON。
BLCOMMON包含了Bootloader最普遍实现的并且几乎不与硬件相关的工作,包括:解析下载的操作系统镜像文件、对下载的镜像数据进行校验、跟踪下载进度等。
它将其需要的硬件操作功能定义出标准的函数接口,需要由用户负责实现。由这些称为OEM函数的功能函数负责操作目标嵌入式硬件,并且向BLCOMMON库提供所需的功能。
二、Eboot
源代码位于:%_WINCEROOT%\\PUBLIC\COMMON\OAK\DRIVERS\ETHDBG\EBOOT。
Eboot也是一个Bootloader支持库,它的代码也与硬件无关,但仅适用于Eboot类型的Bootloader,即使用以太网端口从开发计算机下载镜像的情况。
它主要实现了DHCP、TFTP、UDP等网络协议供Bootloader下载镜像用。
三、EDBG驱动程序
Bootloader必须用到的两类外设是:以太网端口和Flash存储器。所以这两类设备的驱动程序是必不可少的。分别为EthDbg驱动和FMD驱动。(注意,在Bootloader里使用的EthDbg驱动和FMD驱动不同于Windows CE系统里的驱动程序,其接口和功能定义是不同的)
四、存储管理(BootPart支持库)
2009-10-19
注:源自原百度博客“至美心"