基于WinCEBootLoader研究.docVIP

  • 4
  • 0
  • 约5.04千字
  • 约 11页
  • 2018-08-28 发布于福建
  • 举报
基于WinCEBootLoader研究

基于WinCEBootLoader研究   摘要:随着计算机技术的快速发展,嵌入式微控制器技术和嵌入式系统已成为当前的一大热点,而BootLoader则是嵌入式系统中重要的一部分。对WinCE下的BootLoader做了详细的研究。   关键词:WinCE;BootLoader   中图分类号:TP301文献标识码:A文章编号:1672??7800(2011)02??0044??03         作者简介:吴杉杉(1986-),女,安徽安庆人,安徽理工大学计算机学院硕士研究生,研究方向为嵌入式系统;周东升(1987-),男,安徽庐江人,安徽理工大学计算机学院硕士研究生,研究方向为嵌入式系统。1BootLoader的角色与功能   BootLoader是在操作系统内核运行之前运行的一段小程序,它存放于目标平台的非易失存储介质中,如ROM或Flash。它可以初始化硬件设备,建立内存空间的映射图,从而将系统的软硬件环境带到1 个合适的状态,然后加载操作系统映像到内存,跳转到操作系统代码去执行。在开发CE的过程中,它主要用于启动硬件和下载nk.bin到目标板上,并有一定的监控作用。   下图描述了WinCE的BSP基本结构以及BootLoader所处的位置。一般来说,对于BootLoader的功能要求并不是严格定义的,不同的场合区别很大。比如,在PC的硬件平台上,由于硬件启动根本就不是通过BootLoader(而是通过BIOS),所以BootLoader就不需要对CPU加电后的初始化做任何工作.通常,BootLoader必须包含下载CE映像文件的功能。   图1WinCE BSP的基本结构   总体上BootLoader需要完成以下工作:   (1)初始化CPU速度。   (2)初始化内存,包括启用内存库,初始化内存配置寄存器等。   (3)初始化中断控制器,在系统启动时,关闭中断,关闭看门狗(Watchdog)。   (4)初始化串行端口(如果在目标上有的话)。   (5)启用指令/数据高速缓存。   (6)设置堆栈指针。   (7)设置参数区域并构造参数结构和标记。   (8)执行POST(加电自检)来标识存在的设备并报告有何问题。   (9)为电源管理提供挂起/恢复支持。   (10)传输操作系统内核镜像文件到目标机。也可以将操作系统内核镜像文件事先在FLASH中,这样就不需要BootLoader和主机传输操作系统内核镜像文件,这通常是在做成品的情况下使用。而一般在开发过程中,为了调试内核的方便,不将操作系统内核镜像文件固化在FLASH中,这就需要主机和目标主机进行文件传输。   (11)跳转到内核的开始,在此又分为ROM启动和RAM启动。所谓ROM启动就是用XIP技术直接在FLASH中执行操作系统镜像文件;所谓RAM启动就是指把内核镜像从FLASH复制到RAM中,然后再将PC指针跳转到RAM中的操作系统启动地址。   下图展示了Windows CE的BootLoader的执行顺序。从系统加电自检开始,到Windows CE操作系统开始执行结束。   图2BootLoader的执行顺序   2BootLoader的架构   WinCE 5.0 BSP主要由4个部分组成:OEM抽象层―BootLoader―设备驱动程序和配置文件。开发BootLoader是进行BSP开发的关键一步。BootLoader作为嵌入式系统软件的最底层,是硬件上电台运行的第1个程序,主要功能是初始化硬件,加载操作系统映像到内存,然后跳转到操作系统代码去执行。BootLoader由BLCOMMON,OEM代码,Eboot以及网络驱动组成,相应的BootLoader架构如图3所示。    图3BootLoader的架构   3BootLoader的设计    为一个硬件平台设计BootLoader时,首先要考虑实现的功能。本文的BootLoader主要实现以下功能:   (1)BootLoader驻留在非易失存储设备中。   (2) 提供一种消息反馈机制,在输出信息中,明确显示BootLoader的版本,开发者及构建日期等信息。   (3) 利用以太网下载操作系统映像。   (4)在设定时间内没有任何选项是,BootLoader执行自动下载功能。   (5)BootLoader能对下载的数据进行校验,在保证下载的数据准备无误后,再将其写入FLASH存储器。   (6)提供从Platform Builder下载自身,并将自身写入FLASH存储器,实现自我更新的机制。   4BootLoader函数的移植   BootLoader是由微软提供的库,Eboot驱动和OEM函数构成。其中微软

文档评论(0)

1亿VIP精品文档

相关文档