基于PXA微处理器的引导系统的研究与实现

时间:2022-08-15 01:31:08

基于PXA微处理器的引导系统的研究与实现

摘要:分析了普通嵌入式微处理器的引导过程,并介绍了PXA微处理器的基本特性和Xscale的基本架构,在此基础之上对Marvell公司提出的基于PXA微处理器的新的引导策略进行详细分析。

关键词:嵌入式;引导;下载

中图分类号:TP368文献标识码:A文章编号:1009-3044(2008)16-21329-03

To Research and Implement the Boot System Based on PXA

HAN Sheng-zhong

(Software College,Southeast University,Nanjing 210000,China)

Abstract:In this paper the boot procedure of the common micro processor are analyzed. In addtion,the basis features of PXA and the architecture of Xscale are introduced. Besides,the new boot strategy of Marvell based on PXA is detailed described.

Key words:embedded;boot;download

1 引言

20世纪70年代,微处理器的出现,计算机出现了历史性的变化。为了区别于原有的通用计算机系统,把嵌入到对象体系中并实现对象体系智能化控制的计算机,称作嵌入式计算机系统。嵌入式系统的开发离不开对其引导系统的设计,目标机系统在通电之后,由引导系统导入到系统引导程序,最终将控制权转到操作系统。根据不同的硬件特性,要制定与其相称的引导系统。同样,引导系统的设计也是嵌入式开发过程中的技术难点。

2 嵌入式引导系统

嵌入式系统常常采用EPROM或闪存存储操作系统映像。存放在磁盘上的映像当然不可能在磁盘上“就地”运行,而在EPROM或闪存中的映像是有可能“就地”运行的,因为EPROM或闪存通常是内存的一部分,而且是内存中一个特殊的区间。从理论上说,如果操作系统映像,主要是其程序代码,可以在EPROM或闪存中就地运行,那么所谓“引导”的过程就不复存在,从而引导装入程序就不是必须的了。可是,实际上大多数嵌入式程序还是采用引导装入程序,而不让可执行映像在EPROM或闪存中就地运行。嵌入式系统的操作系统内核往往与应用软件静态地连接在一起,而且程序的开发通常是在另一台“主机”上进行,所以每次修改程序以后都要把新的映像“下载”到目标机中,此时就得依靠目标机的引导装入程序。因此对嵌入式微处理器引导系统的研究成为当前比较流行的研究方向之一 。

2.1 普通引导技术概述

在嵌入式系统中,通常并没有像BIOS那样的固件程序,常用的启动方法是先通过JTAG将嵌入式操作系统内核写进Flash,再由其带的引导程序bootloader完成嵌入式系统的启动引导工作。这种方法要借助昂贵的JTAG设备完成操作系统内核的烧写工作,并且不能方便地更新嵌入式系统中的软件平台。随着技术的发展,人们想到了将bootloader与操作系统内核独立开来,这样可以克服嵌入式系统软件平台的更新问题,也就是说在引导程序中可以完成映像文件的下载工作。而BootLoader本身可以通过EPROM编程器,或者通过JTAG接口写入闪存芯片。而引导装入程序在哪里运行?目前较为流行的方法是将引导装入程序分为两部分,开头一部分是在ROM或闪存中执行,执行中将一部分映像装入RAM,在转入这部分映像,此后就在RAM中执行。可是,即便这样,仍然存在两个明显的缺点:1)bootloader更新不方便;2)映像文件下载的可靠性和安全性没有得到保证。

2.2 当前目标板烧写技术的概述

新开发的目标板没有任何程序可以执行,从而不能启动,需要先将引导程序烧写到 Flash中。如果主板上的EPROM或者Flash能够取下来,就可以通过编程器烧写。例如:计算机BIOS就存储在一块256KB的Flash上,通过插座与主板连接。但是多数嵌入式单板使用贴片的Flash,不能取下来烧写。这种情况可以通过处理器的调试接口,直接对板上的Flash编程。处理器调试接口是为处理器芯片设计的标准调试接口,包含BDM、JTAG和EJTAG3种接口标准。BDM(Background Debug Mode)主要应用在PowerPC8xx系列处理器上;JTAG主要应用在ARM处理器;EJTAG主要应用在MIPS处理器上。这3种硬件接口标准定义有所不同,但是功能基本相同,都统称为JTAG接口。

通常,最简单方式就是通过JTAG电缆,将目标板转接到计算机并口连接。这需要在宿主机端开发烧写程序,还需要有并口设备驱动程序。目标板通电或者复位的时候,烧写程序探测到处理器并且开始通信,然后把Bootloader下载并烧写到Flash中。这种价格相对便宜,但是速率很慢。一般来说,平均每秒钟可以烧写 100-200个字节。

3 PXA处理器的基本结构

3.1 Intel PXA27x 的基本架构

因为引导系统是与处理器紧密相连的,所以这里介绍一下处理器的基本结构。PXA27X的基本框架结构图如图1所示:

图1 PXA27X的框架结构图

Intel Xscale核是StrongARM的一个增强集,它与ARM V5TE 兼容,因此它是一个典型的ARM嵌入式系统。另外,PXA系列目前广泛应用于各类嵌入式系统中,是市场主流的嵌入式系列。对其研究,具有一定的前瞻性和典型性。

3.2 Marvell PXA3xx 的特性

2006年中宣布并购英特尔(Intel)通信处理器部的Marvell公司,稍早前了用于手持装置的PXA3xx系列应用处理器。之前该产品在英特尔的内部开发代号为Monahans,以英特尔第三代Xscale技术为基础;Marvell在该系列芯片上运用了智能功耗管理技术,频率速度范围为624MHz~860MHz,声称可为手机制造商提供开发差异化产品的灵活解决方案。

PXA3xx系列现有PXA300、PXA310、PXA320等型号,与英特尔前一代PXA27x系列相比,新组件减少的功耗多达60%,相对地,针对手持装置的影片播放应用,可延长40%的电池使用寿命。

为提升开发灵活度,Marvell PXA 3xx系列的软件完全兼容,并包含两个接脚兼容组件,主要针对移动电话、数字媒体播放器、GPS导航系统和嵌入式装置。其中PXA300(之前代号Monahans-L)主要针对大量手持装置;PXA310 (Monahan-LV)可延长3G音视频产品的电池寿命,并提供高分辨率VGA多媒体性能。而PXA320(Monahans P)则锁定多功能手持装置、高阶智能电话及行动网络浏览装置。

4 Marvell PXA的新型引导策略

4.1 PXA处理器的Boot ROM

bootROM软件预装在处理器的内部ROM中,boot ROM是Marvell 可信启动方案的一部分。bootROM提供对处理器实现用例的支持。当处理非可信平台时,bootROM支持从不同的设备装载软件,并作为启动过程一部分。当处理可信平台时,bootROM看作是平台可信的root,它完成了Marvell WTM子系统的初始化。由于bootROM是在出厂之前配置的,所以不能改变bootROM的启动配置。正确的启动配置一定被Marvell通过提供支持“auto-boot”处理器的架构来预定好的。

上一篇:Delphi编程实现fun.xls.exe病毒查杀 下一篇:Excel单元格格式转换实用技巧