新闻  |   论坛  |   博客  |   在线研讨会
Windows CE Boot Loader的流程分析
mayer | 2009-05-23 14:05:35    阅读:1290   发布文章

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

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客