毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

嵌入式系统ARM的通用bootloader的设计与实现 第5页

更新时间:2010-7-2:  来源:毕业论文
嵌入式系统ARM的通用bootloader的设计与实现 第5页
ARM处理器对异常中断的响应过程如下:
 保存处理器当前状态、中断屏蔽位以及各条件标志位。这是通过将当前程序状态寄存器CPSR的内容保存到将要执行的异常中断对应的SPSR寄存器中实现的。
 设置当前的程序状态寄存器CPSR中相应的位,包括设置CPSR中的位,使处理器进入相应的执行模式;设置CPSR中的位,禁止IRQ中断,当进入FIQ模式时,禁止FIQ模式。
 将寄存器lr_mode设置成返回地址。
 将程序计数器值PC设置成该异常中断的中断向量地址,从而跳转到相应的异常中断处理程序处执行。     ARM最小系统描述
对于任何一个系统,都希望不是一个虚拟系统,也就是说系统都希望是特定系统,即有具体的CPU,有具体的存储芯片以及有各种具体的外围控制模块。对于本课题来说,最终的bootloader也必须在具体的系统上运行起来。但是,任何一个ARM系统,在没有特定指定的条件下,仍然可以将通用特性(一些通用基本控制模块)描述出来本文来自优文论文网,在此称之为ARM最小系统,见下图:
图2.7  ARM最小系统
从上图中,可以了解一个基本的ARM最小系统通常包括以下几个部分:
 ARM CORE
 存储控制器:通过它系统可以接入各种DRAM以及ROM;
 总线桥接:系统总线与外围总线的连接器
 中断控制器:供各种设备提供中断服务
 串口
 GPIO控制模块:供各种外设以及系统扩充使用
对于一些复杂系统,还可以有更多的功能性模块,特别是随着网络通信的发展,ARM系统中包括了更多的通讯控制模块。
2.4   Intel Xscale系统构架
本文最终实现以及验证平台是基于Intel Xscale构架的,因此在本节中主要介绍一下Intel Xscale的系统结构并简要介绍一下基于Xscale微架构的处理器PXA255。
Xscale微构架处理器是为新一代无线手持式应用产品开发的嵌入式处理器,是PCA开发式平台架构中的应用子系统与通信子系统中的嵌入式处理器。图3.8[7]所示为Xscale系统结构图。
Intel Xscale构架与ARM V5TE相兼容,其主要特性如下:
(1) 采用7/8级超级流水线:动态跳转预测以及分支目标缓冲;
(2) 支持多媒体处理技术:增加乘、加法器;累加器;兼容ARMV5TE指令;特定DSP型协处理器CP0;
(3) 指令快存(I-Cache):32KB;
(4) 数据快存(D-Cache):32KB;
(5) 微小型毕业论文http://www.Lwfree.cn理单元D-MMU:32路变换后备缓冲器TLB;
(8) 中断控制器;
(9) 总线控制器;
(10) 调试接口;
(11) 动态电源管理;
Xscale微构架处理器的时钟可达1GHz,功耗1.6W,并能达到1200兆条指令/秒。目前,基于Xscale微构架的处理器有:IOP310,IOP321,PXA210,PXA250,PXA255,PXA26X等。
2.4.1  PXA255介绍
PXA250/PXA255应用处理器是Intel公司生产的第一代基于Xscale微构架的第一个系统芯片(ISOC)的处理器。它除了Xscale微内核外,还集成了许多世适用于手持式设备市场需要的外围设备。如图2.9[ 11]所示为PXA255应用处理器的框图。图2.9
PXA255作为本课题的整个硬件平台核心,具有很强的处理能力,同时兼具低功耗和高集成度的特性。它内置了JTAG调试接口,存储器控制器,实时时钟和操作系统时钟,串口,并口,红外通信,蓝牙接口,AC97接口以及USB 1.1设备端控制模块等。
第三章  Bootloader的概念
本文在实现以及验证上都以开放源代码的linux为操作系统,因此,在众多举例以及图表描述中,多以linux系统为例子。但是,这并不防碍对许多概念的解释,其本质在任何操作系统中都是一致的,所不同的仅仅是实现形式。
3.1   Bootloader的基本概念
一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:引导加载程序、Linux内核、文件系统、用户应用程序。
用户应用程序文件系统
Linux内核  引导加载程序
系统调用接口设备驱动操作系统核心机制
(进程调度、内存管理、  中断管理、时钟管理、  文件系统、网络支持  信号机制、同步机制等等)图 3.1
引导加载程序是系统加电后运行的第一段代码。我们熟悉的PC中的引导程序一般由BIOS和位于MBR的OS bootloader(例如LILO或者GRUB)一起组成。然而在嵌入式系统中通常没有像BIOS那样的固件程序(有的嵌入式CPU有),因此整个系统的加载启动任务就完全由bootloader来完成。在嵌入式Linux中, 图3.1中的引导加载程序即等效为bootloader。
简单地说,bootloader就是在操作系统内核运行前运行地一段小程序。通过这段小程序,我们可以初始化必要的硬件设备,创建内核需要的一些信息并将这些信息通过相关机制传递给内核,从而将系统的软硬件环境带到一个合适的状态,最终调用操作系统内核,真正起到引导和加载内核的作用。
bootloader是依赖于硬件而实现的,特别是在嵌入式系统中。不同的体系结构需求的bootloader是不同的;除了体系结构,bootloader还依赖于具体的嵌入式板级设备的配置。也就是说,对于两块不同的嵌入式板而言,即使它们基于相同的CPU构建,运行在其中一块电路板上的bootloader,未必能够运行在另一块电路开发板上。
Bootloader的启动过程可以是单阶段的,也可以是多阶段的。通常多阶段的bootloader能提供更为复杂的功能,以及更好的可移植性。从固态存储设备上启动的bootloader大多数是二阶段的启动过程,也即启动过程可以分为stage 1和stage 2两部分。

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页

嵌入式系统ARM的通用bootloader的设计与实现 第5页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。