嵌入式系统ARM的通用bootloader的设计与实现
目录摘要 I
Abstract II
目录 III
绪言 1
1. 背景 1
2. 主要研究工作 1
3. 主要内容 2
第一章 ARM简介 3
1.1 ARM 简介 3
1.1.1 ARM处理器介绍 3
1.2 ARM处理器的优势特点 6
1.2.1 RISC指令集 6
1.2.2 低功耗 7
第二章 ARM体系结构介绍 8
2.1 ARM core描述 8
2.2 编程模型介绍 10
2.2.1 ARM处理器模式 10
2.2.2 ARM寄存器组介绍 10
2.2.3 ARM存储系统 12
2.2.4 ARM指令集介绍 13
2.2.5 ARM体系的异常中断 14
2.3 ARM最小系统描述 15
2.4 Intel Xscale系统构架 16
2.4.1 PXA255介绍 18
第三章 Bootloader的概念 19
3.1 Bootloader的基本概念 19
3.2 Bootloader的操作模式 20
3.3 Bootloader的概念扩展 20
3.4 ARM Bootloader的共性 20
第四章 Bootloader的设计与实现 22
4.1 研究的平台环境 22
4.1.1 硬件平台 22
4.1.2 软件环境以及软件开发工具 23
4.2 Bootloader的总体设计 23
4.2.1 阶段设计 23
4.2.2 地址规划设计 24
4.2.3 模式设计 25
4.3 Bootloader的具体实现 25
4.3.1 阶段1的代码实现 25
4.3.2 阶段2的代码实现 28
4.3.3 代码的编译 35
4.3.4 目标文件的链接与转换 36
4.4 代码组织结构 42
4.5 使用操作 43
第五章 实验结果与测评 44
5.1 实验结果 44
5.1.1 基本功能的实现结果 44
5.1.2 扩展功能的实现结果 45
5.2 程序性能 46
5.2.1 扩展功能的功能性测试数据 46
5.2.2 程序的可移植性 46
第辣章 总结与展望 47
绪言
1. 研究背景
随着人民生活水平提高带来巨大的消费需求、信息化进程的推进、电信运营业的发展,信息产业市场空间将得到进一步拓展。在这良好的经济环境下,嵌入式系统领域得到进一步的拓宽与发展。嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可剪裁来适应系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各行业的具体应用相结合后的产物,它是一个技术密集、资金密集、高度分散本文来自辣=文*论|文+网、不断创新的知识集成系统。嵌入式系统广泛地应用在信息终端、工业控制和信息家电等领域。
在嵌入式系统的开发中,嵌入式软件是实现各种系统功能的关键,也是计算机技术最活跃的研究方向之一。不同应用对嵌入式软件系统有不同的要求,并且随着计算机技术的发展,这些要求也在不断变化。通常,应用系统对嵌入式软件的基本要求是体积小、执行速度快、具有较好的可剪裁性和可移植性。特别地,现在对嵌入式软件来说,都需要操作系统的支持。简单的嵌入式系统根本没有操作系统,而只是一个控制循环。但是,当系统变得越来越复毕业论文http://www.Lwfree.cn杂时,就需要一个嵌入式操作系统来支持,否则应用软件就会变得过于复杂,使开发难度过大,安全性和可靠性都难以保证。
嵌入式软件,特别是操作系统的支持,使得对硬件的要求越来越高。针对嵌入式系统的各种微处理器遍布各个角落。特别是采用ARM技术IP核的各种微处理器遍及各类产品市场。ARM技术以其较高的性能和功效,使得在嵌入式系统中得到广泛应用。世界上几乎所有的主要半导体厂商都生产基于ARM体系结构的通用芯片,如TI,Motorola,Intel,NS,Ateml,Philips,SAMSUNG等。目前,ARM芯片广泛应用于无线产品、PDA、GPS、网络、消费电子产品、STB及智能卡。应该说,ARM无处不在。
随着嵌入式产品中高端微处理器ARM的加入以及软件上操作系统的支持,使得整个嵌入式系统拥有了完整的构架。现在,专门为嵌入式产品开发的各个操作系统层出不穷,WINDOW CE,POCKET PC,Linux等等,各界关注地也特别多。然而,如何进行加载操作系统这个问题却很少有人提出。这就产生了另一个相关主题bootloader。Bootloader本身的功能就是引导与加载内核镜像。如何实现bootloader的基本功能,如何针对基于ARM体系的微处理器来实现bootloader,就成为本课题的一个基本论题。,除了基本功能,bootloader还能有什么更加具体的扩展功能来方便各个系统开发者,都属于本课题讨论的范畴。
2. 主要研究工作
本文的题目尽管涉及到ARM系统,但是,由于bootloader的特殊性以及个别性,即bootloader与具体的处理器以及具体的硬件系统紧密联系在一起,需要实际的完整硬件系统支持,而基于ARM体系的芯片实在太多,每款芯片除了具有基本的ARM体系结构的通性外,通常还具有各自独特的特性,还需分别处理。因此,在真正的开发环节上,本课题主要基于Intel Xscale体系构架的PXA255处理器,Xscale本身是与ARM V5TE构架兼容的,因此很具有代表性,并由此在理论上扩展到整个ARM系统。
在实现过程中具体研究开发如下:
选择基于Intel Xscale构架的PXA255芯片作为处理器,并以此构建一套硬件开发系统
与实际项目接轨,选择GNU的linux作为系统的操作系统
在上述软硬件开发系统上实现基于PXA255的bootloader的基本功能,即引导加载内核镜像的功能
在实现bootloader基本功能的基础上,增加bootloader的扩展功能,包括:通过串口打印调试信息、通过串口更新镜像、通过USB接口更新镜像、实现bootloader加载模式与下载模式的转换以及实现对FLASH的擦写操作支持
在Xscale的构架基础上在理论上扩展到ARM系统,分析对于ARM系统,bootloader实现的一些共性以及一些限制
分析对于实现bootloader,移植到其他ARM平台的相关处理
3. 主要内容
根据所涉及的主要研究工作,本文的内容主要包括一下几个部分:第一章简要叙述ARM世界的一些主流处理器以及其优势特点;紧接着第二章则详细描述了ARM的体系结构,指令系统并在此基础上简单的描述了一下PXA255的相关结构;第三章的内容是介绍bootloader的概念,并专门针对ARM bootloader进行了详细说明;第四章在首先介绍软硬件平台之后详细介绍了bootloadr的实现,包括基本功能,扩展功能等,以及软件上的编译连接的实现,代码组织结构等;第五章针对第四章的实现,对结果进行分析以及扩展功能的一些数据测试,以及如何在实现的bootloader基础上进行移植;最后一章进行一下总结与展望。
第一章, 简单阐述ARM的发展,基于ARM体系的各类主流处理器以及ARM的优势特点。
第二章, 详细描述了ARM的体系结构,包括ARM编程模型方面的内容,简单介绍了ARM core,ARM最小系统的组成以及硬件系统相关的PXA255处理器的介绍。
第三章, 阐述bootloader的一些基本概念以及ARM bootloader的一些共性。
第四章, 简单介绍了其实现的软硬件平台,详细介绍了基于PXA255处理器的bootloader基本功能的实现以及扩展功能的实毕业论文http://www.Lwfree.cn现以及软件上编译连接的处理。
第五章, 实验结果的一些分析与测评,包括一些测试数据以及程序的稳定性与可移植性、剪裁性的分析。
第辣章, 总结与展望。摘要随着移动设备的流行和发展,嵌入式系统已经成为一个热点。它并不是最近出现的新技术,只是随着微电子技术和计算机技术的发展,微控制芯片功能越来越大,而嵌入微控制芯片的设备和系统越来越多,从而使得这种技术越来越引人注目。它对软硬件的体积大小、成本、功耗和可靠性都提出了严格的要求。嵌入式系统的功能越来越强大,实现也越来越复杂,随之出现的就是可靠性大大降低。最近的一种趋势是一个功能强大的嵌入式系统通常需要一种操作系统来给予支持,这种操作系统是已经成熟并且稳定的,可以是嵌入式的Linux,WINCE等等。
相应地,这也给处理器提出了要求。当今,众多的半导体厂商都生产基于ARM体系结构的通用微处理芯片,ARM技术已经在当今的嵌入式微处理器领域中占据了它的领先地位。究其原因,它的精简指令构架为主又不放弃与复杂指令平衡的设计,使得在获得高性能的同时又能做到低功耗。本文所要研究的就是基于ARM嵌入式系统通用bootloader的设计与实现。Bootloader是嵌入式系统中执行在内核操作系统前的一段代码,它的基本作用就是加载内核镜像。
在实践平台上,本课题硬件上采用了Intel Xscale系列的PXA255作为处理器,Xscale核心是与ARM V5TE构架兼容的,因此具有一定的代表性,并以此来搭建课题的硬件实践平台,软件上以Linux作为操作系统。而在具体的实现上目标是除了实现bootloader的基本功能外,还将它实现成一个更加复杂的系统,即增加对硬件电路板的支持,以方便开发人员进行调试以及开发。因此,本文重点阐述了实践上具体的设计,具体的实现以及简单评估了它的作用。最后,对实现的bootloader进行了扩展:即在阐明ARM嵌入式系统中bootloader的一些共同点之后,介绍了如何对其他ARM系统进行移植,以做到通用性。
关键词:嵌入式系统 ARM Bootload 1391
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页