Windows CE Boot Loader的流程分析

 

Boot Loader按照WinCE启动方式的不同可分为两大类:一类是下载模式,一类是本地启动模式。

下载模式的基本执行过程为:
重定位RAM---初始化调试端口---初始化平台基本设备---打印用户菜单---初始化网络参数---下载OS内核---启动OS

以Eboot为例,启动过程函数调用的顺序和功能如下:
Startup( )-----------------初始化CPU、内存控制器等
KernelRelocate( )-------代码重定位至RAM
OEMDebugInit( )-------初始化调试端口(一般为串口)
OEMPlatformInit( )----初始化板上设备(初始化显示、RTC、OAL与eboot共享参数、打印用户菜单、网卡等)
OEMPreDownload( )---下载前准备(设置设备名、初始化MAC/IP参数)
DownloadImage( )------下载映像文件
OEMLaunch( )-----------启动OS

一般来说,Eboot所涉及的文件主要有:

Startup.s:包括以上提到的Startup( )函数,源代码位于%WINCE/Platform/Common/Src/***...和%WINCE/Platform/***/Src/Bootloader/eboot目录

Main.c: 包括以上提到的OEMDebugInit( )、OEMPlatform( )、OEMPreDownload( )、OEMLaunch( ),源代码位于%WINCE/Platform/***/Src/Bootloader/eboot目录

Blcommon.c:包括以上提到的KernelRelocate( )、DownloadImage( ),源代码位于%WINCE/Public/Common/Oak/Drivers/Ethdbg/Blcommon目录

Eboot下载的过程主要包括:
(1)设备通过Bootme使开发机获取设备IP(DHCP或者指定IP);
(2)开发机通过TFTP协议下载映像到设备上;
(3)  根据需求把映像烧写到Flash中或直接从RAM中启动OS

你可能感兴趣的:(Win,ce)