微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于Intel PXA270的Windows CE5.0下Boot Loader实现

基于Intel PXA270的Windows CE5.0下Boot Loader实现

时间:05-17 来源:互联网 点击:

进行接收。

(3)初始化平台函数OEMPlatformInit(),其作用是初始化目标板上的的设备如实时时钟,显示屏、Flash、网卡等。

(4)预下载函数OEMPreDownloade(),主要任务是完成以太网下载前的一些准备工作,如通过DHCP获得IP地址或者初始化TFTP服务等。

(5)下载映像函数DownloadeImage(),该函数完成从远程开发机上下载操作系统映像。

(6)启动映象函数OEMLaunch。

在实际开发中,本方案利用同属Intel Xscale 270 CPU的MainstoneII开发板进行克隆,这样使得大量的代码可以共享,只需修改少许的OEM代码和实现一些可选的OEM函数即可完成开发,减少未知错误。

Boot Loader通过对以上函数的调用,完成了对操作系统的映像的加载控制,函数的流程及其代码位置如图3所示。

图3 Boot Loader函数调用流程


● Boot Loader的配置

BootLoader程序可以通过PB的集成编译环境编译链接,控制文件为.bib文件,.bib文件主要完成以下工作。

(1)配置目标设备上的内存分配信息,如目标设备上的物理内存起始地址、长度以及用途等;

(2)包含ROM信息,如起始位置、宽度等,这样就可以正确的生成可以在ROM上运行的映像文件;

(3)需要打包文件列表。

对于Boot Loader文件的下载,可以通过仿真器下载,也可以通过其他调试程序下载,本方案采用的是直接烧写到Flash中,因此要得到纯二进制格式的映像以便烧写进Flash。Boot Loader是系统启动后第一个运行的程序,因此它必须放在CPU 上电和复位后立即运行的地址处。Xscale在上电和复位后是从物理地址0x00000000(片选0 Boot Flash的起始地址)开始运行的。

结束语

作为Windows CE操作系统的启动部分,Boot Loader负责把Windows CE操作系统加载到内存中,然后开始执行。虽然最终的产品中可能不含Boot Loader,但是在开发和调试的时候Boot Loader是不可或缺的。只有得到一个稳定工作的Boot Loader程序,才能够更进一步开发Windows CE的BSP,直至最后整个系统的成功。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top