Windows CE嵌入式开发入门——基于Xscale架构(5)

9.2.5  Windows CE标准BootLoader的需求

1BSP必须在加载Windows CE BootLoader以及操作系统的时候有一个默认的模式。

1)在系统启动时,即使用户不输入指令,也能自动地下载操作系统镜像文件。即便使用了启动菜单,也是有时间限制了,超过时间限制,BootLoader应当能自动地按照默认方式启动操作系统;

2BootLoader应当被固化在FLASH中;

3BootLoader应当使用BLCOMMON的架构;

4BootLoader应当提供FLASH擦写和BootLoader自我更新的功能。这就要求BootLoader要分段执行,在FLASH中执行时,主要把自身剩余的代码复制到RAM中,然后进入RAM中运行时就能更新在FLASH中的BootLoader镜像文件。如果一直在FLASH中执行,同时又更新FLASH中的数据,那样会引起程序的逻辑错误;

5BootLoader应当提供向线性地址的FLASH下载操作系统镜像文件,并且跳转到其镜像文件数据首地址的功能;

6BootLoader应当提供向线性地址的RAM下载操作系统镜像文件,并且跳转到其镜像文件数据首地址的功能;

7)在Platform Builder中的功能控制流里出现的任何分支,BootLoader都应当提供支持;

8BootLoader应当能使用硬件提供的任何接口来下载操作系统镜像文件,如并口、串口、以太口以及硬盘。在Platform Builder 4.2自带的样例BootLoader中,都以以太口为默认的传输方式。

2目标机硬件结构的设计应当兼顾软件性能。硬件结构设计是否合理,这关系到后续软件开发以及调试的效率。

1)目标机的flash应当是可以被替换的;

2)目标机应当提供足够的RAMflash来支持debugging

3)目标机是否有LED灯之类操作简单的、可用于调试的设备。

3BootLoader应当提供两个启动选项:从主机下载操作系统镜像文件以及从FLASH中固化的镜像文件启动。在下载操作系统镜像文件执行时,又分为两个步骤:先将镜像文件下载到RAM中,然后再固化到FLASH里。

以上便是符合Windows CE标准要求的BootLoader功能及其硬件支持。这些要求保证了BootLoader在各个平台间中逻辑结构上的一致性。

那么BootLoader是如何被写入裸板的呢?实现方法有以下几种方式。

1)使用ADS软件和JTAG仿真器。先将BootLoader的镜像文件通过JTAG下载到目标机的RAM中,然后在ADS中运行FLASH的烧写软件,这样可以把RAM中的数据写入FLASH

2)使用专门的FLASH编程器,将BootLoader写如FLASH(注意,这时FLASH还没有插入目标机,不受CPU控制)然后将烧写完毕的FLASH插入目标机中。

3)在BootLoader已经驻留在FLASH的情况下,可以通过BootLoader实现自我更新的功能。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值