基于Intel PXA270Windows CE5.0下Boot Loader实现.docVIP

基于Intel PXA270Windows CE5.0下Boot Loader实现.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Intel PXA270Windows CE5.0下Boot Loader实现

基于Intel PXA270Windows CE5.0下Boot Loader实现   基于:Intel PXA 270嵌A式处理器的硬件平台,通过对Boot Loader的实现,分析了Boot Loader的架构、启动控制流程以及配置安装。   Windows CE.NET是微软公司向嵌入式领域推出的一款操作系统,被广泛应用于平板电脑、数码相机、彩屏手机、PDA等许多产品当中。   Windows CE的开发过程可以分为:OAL(OEM Abstraction Layer)、驱动、应用程序开发三个步骤。其中,OAL开发是Windows CE开发过程中最基本的一步,而Boot Loader设计在OAL开发中又具有极为关键的作用。因此,本文以Windows CE 5.0在XscalePXA270处理器上的Ethernet Boot Loader的设计和实现为例,对BootLoader的实现进行阐述,并分析Boot Loader的架构、启动控制流程和配置安装。   对于Windows CE嵌入式操作系统来说,系统加电后第一条指令就是Boot Loader的代码。Boot Loader通常位于目标设备上的非易失存储设备中(如Flash),并且在系统加电或重置时自动执行。通常可以通过JTAG或串口工具把Boot Loader烧写到目标设备上,Boot Loader的唯一目标就是加载并执行操作系统映像。   在嵌入式应用系统最终产品化后,Boot Loader将不是必须的。因为Windows CE不仅提供了利用Boot Loader加载系统的启动方式,而且提供了通过启动向量Reset Vector加载系统的启动方式。但在系统开发阶段,Boot Loader是必须的,它将使开发更加方便高效。      硬件平台架构      处理器采用英特尔的XScalePXA270系列处理器,可以配合2700G多媒体加速器,提升高分辨率图像处理和3D加速处理能力。硬件开发板的外设包括外部存储器、串口和DM9000AE100Mb以太网接口芯片。      Boot Loader的体系结构      一个典型的以太网Boot Loader由Blcommon、OEM代码(针对不同硬件平台需要修改代码)Eboot和网络驱动程序等部分组成组成,如图1所示。      Bleommon库   BLCOMMON库提供了丰富Boot Loader基本功能,包括复制Boot Loader到RAM以便高速运行,解析.bin文件,控制系统加载过程等等。代码库一般放置在%_WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\ETHDBG\BLCOMMON。其主要文件为blcommon.c。      OEM代码   OEM代码是与设备初始化及硬件扩展有关的代码,位置在%_WINCEROOT%\PLATFORM\\SRC\BOOTLOADER\EBOOT。      EBoot库   Eboot库提供了DHCP、TFTP和UDP服务。BooLoader与Platform Builder建立TFTP连接,并下载系统镜像。其中TFTP用于从开发工作站的Platform Builder下载Windows CE操作系统镜像(这是本文所使用的加载调试方式)。Eboot库代码位于%_WINCEROOT% \PUBLIC\COMMON\OAK\DRIVERS\ETHDBG\EBOOT。      网络驱动库   EDBG驱动程序库集成了一些常见以太网驱动,为Bootloader和操作系统访问提供了通用接口。Boot Loader利用这些接口下载Windows CE运行时映象,操作系统利用这些接口实现与Platform Builder的KITL连接。      Boot Loader启动控制流程      由于硬件的差异,Boot Loader的功能可能不同,图2所示的是Boot Loader的较为通用的启动控制流程。      启动雨数StartUp   StartUp函数是Boot Loader的入口函数,在CPU启动后它将立即运行。该函数使用汇编语言编写,完成初始化CPU、内存(包括建立存储器访问和初始化缓存)等核心硬件,其主要完成的功能包括:使CPU进入正确的运行模式,以便CPU能够访问所有的硬件资源;禁用所有的CPU中断;关闭MMU和TLB;禁用Cache和write Buffer;初始化内存控制器;初始化其他硬件设备,如时钟等;将Boot Loader本身复制到内存中;跳转到C代码中。   实现这些功能的代码一般放置在StartUp.s文件中。由于此处是用汇编语言编写的,有较强的硬件相关性,所

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档