好文档 - 专业文书写作范文服务资料分享网站

基于ARM嵌入式系统的通用bootloader的研究设计与实现

天下 分享 时间: 加入收藏 我要投稿 点赞

摘要

通用bootloader的设计与实现

摘要

随着移动设备的流行和发展,嵌入式系统已经成为一个热点。它并不是最近出现的新技术,只是随着微电子技术和计算机技术的发展,微控制芯片功能越来越大,而嵌入微控制芯片的设备和系统越来越多,从而使得这种技术越来越引人注目。它对软硬件的体积大小、成本、功耗和可靠性都提出了严格的要求。嵌入式系统的功能越来越强大,实现也越来越复杂,随之出现的就是可靠性大大降低。最近的一种趋势是一个功能强大的嵌入式系统通常需要一种操作系统来给予支持,这种操作系统是已经成熟并且稳定的,可以是嵌入式的Linux,WINCE等等。

相应地,这也给处理器提出了要求。当今,众多的半导体厂商都生产基于ARM体系结构的通用微处理芯片,ARM技术已经在当今的嵌入式微处理器领域中占据了它的领先地位。究其原因,它的精简指令构架为主又不放弃与复杂指令平衡的设计,使得在获得高性能的同时又能做到低功耗。

本文所要研究的就是基于ARM嵌入式系统通用bootloader的设计与实现。Bootloader是嵌入式系统中执行在内核操作系统前的一段代码,它的基本作用就是加载内核镜像。

在实践平台上,本课题硬件上采用了Intel Xscale系列的PXA255作为处理器,Xscale核心是与ARM V5TE构架兼容的,因此具有一定的代表性,并以此来搭建课题的硬件实践平台,软件上以Linux作为操作系统。而在具体的实现上目标是除了实现bootloader的基本功能外,还将它实现成一个更加复杂的系统,即增加对硬件电路板的支持,以方便开发人员进行调试以及开发。因此,本文重点阐述了实践上具体的设计,具体的实现以及简单评估了它的作用。最后,对实现的bootloader进行了扩展:即在阐明ARM嵌入式系统中bootloader的一些共同点之后,介绍了如何对其他ARM系统进行移植,以做到通用性。

I

摘要

关键词:嵌入式系统 ARM Bootload

II

目录

目录

摘要 I Abstract 错误!未定义书签。 目录 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 低功耗 ................................................................................................................................................ 6

第二章 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最小系统描述............................................................................................................................ 14 2.4 Intel Xscale系统构架 ......................................................................................................................... 15

2.4.1 PXA255介绍 ................................................................................................................................. 16

第三章 Bootloader的概念 ........................................................................................................................................... 18

3.1 Bootloader的基本概念 ....................................................................................................................... 18 3.2 Bootloader的操作模式 ....................................................................................................................... 19 3.3 Bootloader的概念扩展 ....................................................................................................................... 19 3.4 ARM Bootloader的共性 ..................................................................................................................... 19 第四章 Bootloader的设计与实现 ............................................................................................................................. 21

4.1 研究的平台环境 .................................................................................................................................. 21

4.1.1 硬件平台 ........................................................................................................................................ 21 4.1.2 软件环境以及软件开发工具 ........................................................................................................ 22 4.2 Bootloader的总体设计 ....................................................................................................................... 22

4.2.1 阶段设计 ........................................................................................................................................ 22 4.2.2 地址规划设计 ................................................................................................................................ 23 4.2.3 模式设计 ........................................................................................................................................ 24 4.3 Bootloader的具体实现 ....................................................................................................................... 24

4.3.1 阶段1的代码实现 ........................................................................................................................ 25 4.3.2 阶段2的代码实现 ........................................................................................................................ 28

III

目录

4.3.3 代码的编译 .................................................................................................................................... 34 4.3.4 目标文件的链接与转换 ................................................................................................................ 35 4.4 代码组织结构 ...................................................................................................................................... 40 4.5 使用操作.............................................................................................................................................. 41 第五章 实验结果与测评 ...................................................................................................................................... 43

5.1 实验结果.............................................................................................................................................. 43

5.1.1 基本功能的实现结果 .................................................................................................................... 43 5.1.2 扩展功能的实现结果 .................................................................................................................... 44 5.2 程序性能.............................................................................................................................................. 44

5.2.1 扩展功能的功能性测试数据 ........................................................................................................ 44 5.2.2 程序的可移植性 ............................................................................................................................ 45

第六章 总结与展望.................................................................................................................................................... 46

IV

绪言

绪言

1.

研究背景

随着人民生活水平提高带来巨大的消费需求、信息化进程的推进、电信运营业的发展,信息产业市场空间将得到进一步拓展。在这良好的经济环境下,嵌入式系统领域得到进一步的拓宽与发展。嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可剪裁来适应系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各行业的具体应用相结合后的产物,它是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。嵌入式系统广泛地应用在信息终端、工业控制和信息家电等领域。

在嵌入式系统的开发中,嵌入式软件是实现各种系统功能的关键,也是计算机技术最活跃的研究方向之一。不同应用对嵌入式软件系统有不同的要求,并且随着计算机技术的发展,这些要求也在不断变化。通常,应用系统对嵌入式软件的基本要求是体积小、执行速度快、具有较好的可剪裁性和可移植性。特别地,现在对嵌入式软件来说,都需要操作系统的支持。简单的嵌入式系统根本没有操作系统,而只是一个控制循环。但是,当系统变得越来越复杂时,就需要一个嵌入式操作系统来支持,否则应用软件就会变得过于复杂,使开发难度过大,安全性和可靠性都难以保证。

嵌入式软件,特别是操作系统的支持,使得对硬件的要求越来越高。针对嵌入式系统的各种微处理器遍布各个角落。特别是采用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的擦写操作支持

基于ARM嵌入式系统的通用bootloader的研究设计与实现

摘要通用bootloader的设计与实现摘要随着移动设备的流行和发展,嵌入式系统已经成为一个热点。它并不是最近出现的新技术,只是随着微电子技术和计算机技术的发展,微控制芯片功能越来越大,而嵌入微控制芯片的设备和系统越来越多,从而使得这种技术越来越引人注目。它对软硬件的体
推荐度:
点击下载文档文档为doc格式
8za7o7boqb9pugm7qnnb9acj39qpyw00ekl
领取福利

微信扫码领取福利

微信扫码分享