milkyway的窝

最初想法的诞生地

 

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

posted on 2008-07-23 10:06 milkyway 阅读(4542) 评论(2)  编辑 收藏 引用 所属分类: Wince学习小结

评论

# re: Windows CE Boot Loader的流程分析 2008-07-23 14:21 零宇

楼住好久没来看看了,你现在也在弄BSP?不过这个Bootloader说的太概括了  回复  更多评论   

# re: Windows CE Boot Loader的流程分析 2008-07-23 16:01 milkyway

@零宇
呵呵,兄弟又来了,欢迎:)
很久没有动WINCE了,最近需要做个项目,完成EBOOT是第一步。这篇短文只是对EBOOT做了一个很粗的抽象,希望能言简意赅地把不同的EBOOT里通用的东西做个记录。见笑了!  回复  更多评论   


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

公告

随笔皆原创,文章乃转载. 欢迎留言!

常用链接

留言簿(37)

随笔分类(104)

随笔档案(101)

文章分类(51)

文章档案(53)

wince牛人

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜