【毕业学位论文】(Word原稿)基于ARM嵌入式系统的通用bootloader的设计与实现_第1页
【毕业学位论文】(Word原稿)基于ARM嵌入式系统的通用bootloader的设计与实现_第2页
【毕业学位论文】(Word原稿)基于ARM嵌入式系统的通用bootloader的设计与实现_第3页
【毕业学位论文】(Word原稿)基于ARM嵌入式系统的通用bootloader的设计与实现_第4页
【毕业学位论文】(Word原稿)基于ARM嵌入式系统的通用bootloader的设计与实现_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于 入式系统的通用设计与实现 摘要 I 摘要 随着移动设备的流行和发展,嵌入式系统已经成为一个热点。它并不是最近出现的新技术,只是随着微电子技术和计算机技术的发展,微控制芯片功能越来越大,而嵌入微控制芯片的设备和系统越来越多,从而使得这种技术越来越引人注目。它对软硬件的体积大小、成本、功耗和可靠性都提出了严格的要求。嵌入式系统的功能越来越强大,实现也越来越复杂,随之出现的就是可靠性大大降低。最近的一种趋势是一个功能强大的嵌入式系统通常需要一种操作系统来 给予支持,这种操作系统是已经成熟并且稳定的,可以是嵌入式的 等。 相应地,这也给处理器提出了要求。当今,众多的半导体厂商都生产基于 系结构的通用微处理芯片, 术已经在当今的嵌入式微处理器领域中占据了它的领先地位。究其原因,它的精简指令构架为主又不放弃与复杂指令平衡的设计,使得在获得高性能的同时又能做到低功耗。 本文所要研究的就是基于 入式系统通用 设计与实现。 的基本作用就是加载内核 镜像。 在实践平台上,本课题硬件上采用了 列的 为处理器, 5架兼容的,因此具有一定的代表性,并以此来搭建课题的硬件实践平台,软件上以 为操作系统。而在具体的实现上目标是除了实现 基本功能外,还将它实现成一个更加复杂的系统,即增加对硬件电路板的支持,以方便开发人员进行调试以及开发。因此,本文重点阐述了实践上具体的设计,具体的实现以及简单评估了它的作用。 最后,对实现的 行了扩展:即在阐明 入式系统中 绍了如何对其他 统进行移植,以做到通用性。 关键词 :嵌入式系统 目录 摘要 . I . 错误 !未定义书签。 目录 . 言 . 1. 背景 . 2. 主要研究工作 . 3. 主要内容 . 第一章 介 . 介 . 理器介绍 . 理器的优势特点 . 令集 . 低功耗 . 第二章 系结构介绍 . 述 . 编程模型介绍 . 理器模式 . 存器组介绍 . 储系统 . 令集介绍 . 系的异常中断 . 小系统描述 . 统构架 . 绍 . 第三章 概念 . 基本概念 . 操作模式 . 概念扩展 . 共性 . 第四章 设计与实现 . 研究的平台环境 . 硬件平台 . 软件环境以及软件开发工具 . 总体设计 . 阶段设计 . 地址规划设计 . 模式设计 . 具体实现 . 阶段 1 的代码实现 . 阶段 2 的代码实现 . 目录 代码的编译 . 目标文件的链接与转换 . 代码组织结构 . 使用操作 . 第五章 实验结果与测评 . 实验结果 . 基本功能的实现结果 . 扩展功能的实现结果 . 程序性能 . 扩展功能的功能性测试数据 . 程序的可移植性 . 第六章 总结与展望 . 绪言 绪言 1. 研究背景 随着人民生活水平提高带来巨大的消费需求、信息化进程的推进、电信运营业的发展,信息产业市场空间将得到进一步拓展。在 这良好的经济环境下,嵌入式系统领域得到进一步的拓宽与发展。嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可剪裁来适应系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各行业的具体应用相结合后的产物,它是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。嵌入式系统广泛地应用在信息终端、工业控制和信息家电等领域。 在嵌入式系统的开发中,嵌入式软件是实现各种系统功能的关键,也是计算机技术最活跃的研究方向之一。不同应用对嵌入式软件系统 有不同的要求,并且随着计算机技术的发展,这些要求也在不断变化。通常,应用系统对嵌入式软件的基本要求是体积小、执行速度快、具有较好的可剪裁性和可移植性。特别地,现在对嵌入式软件来说,都需要操作系统的支持。简单的嵌入式系统根本没有操作系统,而只是一个控制循环。但是,当系统变得越来越复杂时,就需要一个嵌入式操作系统来支持,否则应用软件就会变得过于复杂,使开发难度过大,安全性和可靠性都难以保证。 嵌入式软件,特别是操作系统的支持,使得对硬件的要求越来越高。针对嵌入式系统的各种微处理器遍布各个角落。特别是采用 术 的各种微处理器遍及各类产品市场。 术以其较高的性能和功效,使得在嵌入式系统中得到广泛应用。世界上几乎所有的主要半导体厂商都生产基于 系结构的通用芯片,如 。目前, 片广泛应用于无线产品、 络、消费电子产品、 智能卡。应该说, 处不在。 随着嵌入式产品中高端微处理器 加入以及软件上操作系统的支持,使得整个嵌入式系统拥有了完整的构架。现在,专门为嵌入式产品开发的各个操作 系统层出不穷,E, C, 等,各界关注地也特别多。然而,如何进行加载操作系统这个问题却很少有人提出。这就产生了另一个相关主题 身的功能就是引导与加载内核镜像。如何实现 基本功能,如何针对基于 系的微处理器来实现 成为本课题的一个基本论题。,除了基本功能, 属于本课题讨论的范畴。 2. 主要研究工作 本文的题目 尽管涉及到 统,但是,由于 特殊性以及个别性,即具体的处理器以及具体的硬件系统紧密联系在一起,需要实际的完整硬件系统支持,而基于 系的芯片实在太多,每款芯片除了具有基本的 系结构的通性外,通常还具有各自独特的特性,还需分别处理。因此,在真正的开发环节上,本课题主要基于 系构架的 理器, 身是与 5架兼容的,因此很具有代表性,并由此在理论上扩展到整个 统。 第 页 共 56 页 在实现过程中具体研究开发如 下: 选择基于 架的 片作为处理器,并以此构建一套硬件开发系统 与实际项目接轨,选择 为系统的操作系统 在上述软硬件开发系统上实现基于 基本功能,即引导加载内核镜像的功能 在实现 本功能的基础上,增加 扩展功能,包括:通过串口打印调试信息、通过串口更新镜像、通过 口更新镜像、实现 擦写操作支持 在 构 架基础上在理论上扩展到 统,分析对于 统,现的一些共性以及一些限制 分析对于实现 植到其他 台的相关处理 3. 主要内容 根据所涉及的主要研究工作,本文的内容主要包括一下几个部分:第一章简要叙述 接着第二章则详细描述了 体系结构,指令系统并在此基础上简单的描述了一下 相关结构;第三章的内容是介绍概念,并专门针对 行了详细说明;第四章在首 先介绍软硬件平台之后详细介绍了 实现,包括基本功能,扩展功能等,以及软件上的编译连接的实现,代码组织结构等;第五章针对第四章的实现,对结果进行分析以及扩展功能的一些数据测试,以及如何在实现的 础上进行移植;最后一章进行一下总结与展望。 第一章, 简单阐述 发展,基于 系的各类主流处理器以及 优势特点。 第二章, 详细描述了 体系结构,包括 程模型方面的内容,简单介绍了 小系统的组成以及硬件系统相关的 理器的介绍。 第三章, 阐述 一些基本概念以及 一些共性。 第四章, 简单介绍了其实现的软硬件平台,详细介绍了基于 理器的本功能的实现以及扩展功能的实现以及软件上编译连接的处理。 第五章, 实验结果的一些分析与测评,包括一些测试数据以及程序的稳定性与可移植性、剪裁性的分析。 第六章, 总结与展望。 第一章 介 嵌入式系统的核心部件是各种类型的嵌入式处理器。目前据不完全统计,全世界嵌入式处理器的品种总量已经超过 1000 多种,流行体系结构有 30 多个系列。嵌入式微处理目前主要 有 8、 386C、 列等。 其中, 一种今年来在嵌入式系统中有着强大影响力的微处理器设计商和制造商,设计非常适合与小的电源供电系统。特别是,随着近年来,微处理器结构由 简指令集)全面取代传统的 杂指令集),因为 著名的 拥护者。 介 既可以认为是一个公司的名字,也可以是对一类微处理器的通称,还可以认为是一种技术的名字 。 1991 年 司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用 的微处理器,即通常我们所说的 处理器,已经遍及工业控制、消费类电子产品、通信系统、无线系统等各类产品市场,基于 术的微处理应用约占据了 32 位 处理器 75以上的市场份额, 术正在逐步渗入我们生活的各个方面。 司是专门从事基于 术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生长各具特色的芯片。世界各大半导体生产商从 司购买其设计的 处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的 处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用 司的授权,因此既使得 术获得更多的第三方工具、制造、软件的支持,又使得整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。 理器介绍 理器目前包括下面几个系列的处理器产品以及其他厂商实现的基于 系结构的处理器: 列、 列、 列、 列、 列、 列、 列。 系有变种,也就是说有些版本具备特定功能,在各个版本的版本号上可以体现出来,说明如下 5: T: 支持 16 位 压缩指令集 D: 支持片上 M:内嵌硬件乘法器( ,增加用于长乘法操作的指令; I: 嵌入式 持片上断点和调试点; E:增强型 令; 架诞生至今,已经产生了多次变革,每一次都带来性能上的极大飞跃,其过程包括: 第 页 共 56 页 架( 基本 的数据处理指令(无乘法) 字节、半字和字的 令 转移指令,包括子程序的调用和链接指令 软件中断指令 寻址空间 64 架( 增加乘法和乘法指令 增加支持协处理器的操作 增加快速中断模式 增加 存储器和寄存器交换指令 架( 增加了 令,访问新增的 存器 增加了异常处理返回 寻址空间 4 架( 增加符号化和非符号化半字及符号化字节的存取 指令 增加 16 位的 令 完善软件中断 令 架( 带有链接和交换的转移 令 计数前导零 令 断指令 增加了一些信号处理的指令 架 增加了 能扩展,为包括音频 /视频处理在内的应用系统提供优化功能 接下来就简要介绍一下各主要系列处理器的特点。 ( 1) 处理器系列 5 列微处理器为低功耗的 32 位 理器,最适合用于对价位和功耗要求较高的消费类应 用。 处理器系列具有如下特点: 具有嵌入 式 辑,调试开发方便。 极低的功耗,适合对功耗要求较高的应用,如便携式产品。 能够提供 三级流水线结构。 代码密度高并兼容 16 位的 令集。 对操作系统的支持广泛,包括 E、 S 等。 指令系统与 列、 列和 列兼容,便于用户的产品升级 。 主频最高可达 130速的运算处理能力能胜任绝大多数的复杂应用。 列微处理器的主 要应用领域为:工业控制、 备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用 。 列微处理器包括如下几种类型的核: 中, 目前使用最广泛的 32 位嵌入式 理器,属低端 ( 2) 处理器系列 5 列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点 : 5 级整数流水线,指令执行效率更高。 提供 哈佛结构 。 支持 32 位 令集和 16 位 令集。 支持 32 位的高速 线接口。 全性能的 持 E、 S 等多种主流嵌入式操作系统。 持实时操作系统。 支持数据 指令 有更高的指令和数据处理能力。 列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。 列微处理器包含 种类 型,以适用于不同的应用场合。 ( 3) 处理器系列 5 列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、 用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。 列微处理器提供了增强的 理能力,很适合于那些需要同时使用 微控制器的应用场合。 列微处理器的主要特点如下: 支持 令集,适合于需要高速数字信号处理的场合。 5 级整数流水线,指令执行效率更高。 支持 32 位 令集和 16 位 令集。 支持 32 位的高速 线接口。 支持 点处理协处理器。 全性能的 持 E、 S 等多种主流嵌入式操作系统。 持实时操作系统。 支持数据 指令 有更高的指令和数据处理能力。 主频最高可达 300 列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。 列微处理器包含 种类型,以适用于不同的应用场合。 ( 4) 处理器系列 5 列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的 件相比较,在同样的时钟频率下,性能提高了近 50,同时, 列微处理器采用了两种先进的节能方式,使其功耗极低。 列微处理器的主要特点如下: 支持 令集,适合于需要高速数字信号处理的场合。 6 级整数流水线,指令执行效率更高。 支持 32 位 令集和 16 位 令集。 支持 32 位的高速 线接口。 支持 点处理协处理器。 全性能的 持 E、 S 等多种主流嵌入式操作系统。 第 页 共 56 页 支持数据 指令 有更高的指令和数据处理能力 主频最高可达 400 内嵌并行读 /写操作部件。 列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。 列微处理 器包含 种类型,以适用于不同的应用场合。 ( 5) 处理器系列 理器是采用 系结构高度集成的 32 位 处理器。它融合了 司的设计和处理技术以及 系结构的电源效率,采用在软件上兼容 系结构、同时采用具有 术优点的体系结构。 理器是便携式通讯产品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列 产品 ( 6) 处理器系列 有关 处理器系列,会在后面相关篇幅中进行介绍。 理器的优势特点 采用 构的 处理器一般具有如下特点: 1 体积小、低功耗、低成本、高性能; 2 支持 16 位) /32 位)双指令集,能很好地兼容 8/16 位器件; 3 大量使用寄存器,指令执行速度更快; 4 大多数数据操作都在寄存器中完成; 5 寻址方式灵活简单,执行效率高; 6 指令长度固定; 理器之所以能够广泛应用于各个领域,与以上所列的各个特点密切 相关,综合起来,主要包括以下几点。 令集 传统的 杂指令集计算机)结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂,然而,在 令集的各种指令中,其使用频率却相差悬殊,大约有 20的指令会被反复使用,占整个程序代码的 80。而余下的 80的指令却不经常使用,在程序设计中只占 20,显然,这种结构是不太合理的。 基于以上的不合理性 , 1979 年美国加州大学伯克利分校提出了 简指令集计算机)的概念, 非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。 构优先选取使用频 率 最高的简单指令,避免复杂指令;将指令长度固定,指令格式和 寻址 方式种类减少;以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。 到目前为止, 系结构也还没有严格的定义,一般认为, 系结构应具有 如下特点: 采用固定长度的 指令格式,指令归整、简单、基本寻址方式有 2 3 种。 使用单周期指令,便于流水线操作执行。 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载 / 存储指令可以访问存储器,以提高指令的执行效率。 要使用 32 位的 令,但是指令代码利用率低, 了弥补此不足,在新型 架( 本以上)定义了 16 位的 令集。 令集比通常的8 位和 16 位 理器具有更好的代码密度,而芯片面积只增加 6,可使程序存储器更小。 另外,为了加速通信和多媒体中有关数字 信号的处理, 理器在 基础上增加了许多原属 中的关键部件。双核协同工作,各用所长,有效地提高了数据处理能力核传输速度,但是 立的双核结构存在两核之间互相通信的困难和分别编程的麻烦,为此发展了两核融合在一起的单核结构,同时将指令集也合二为一,简化编程提高效率,将 升到可快速运算多媒体的算法,实现许多音视频的解码功能。 低功耗 由于 构的处理器主要用于手持式嵌入式系统之中,因此 架在设计中十分注意低电压、低功耗这一点,因而在手持式嵌入式系统得到 广泛的应用。 构的设计采用了以下一些措施: 降低电源电压 减少门的翻转次数,当某个功能电路不需要时,禁止门翻转 减少门的数目,即降低芯片的集成度 降低时钟频率 其他采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积: 所有的指令都可以根据前面的执行结果决定是否被执行,从而提高指令的执行效率; 可用加载 /存储指令批量传输数据,以提高数据的传输效率; 可在一条数据处理指令中同时完成逻辑处理和移位处理; 在循环处理中使用地址的自动增减来提高运行效率; 低功耗,使得 专门针对嵌入式系统的处理器市场中始终处于有利的地位。一组典型数据是:对于 列处理器,当核电压是 ,每 第 页 共 56 页 第二章 系结构介绍 在介绍具体的 实现之前,首先介绍一下 体系结构,因为与处理器芯片紧密相连的。为了更好的在后面篇幅中介绍实现,先简单介绍相关的体系结构以及相关指令集。 述 尽管本本文实现主要涉及软件上的开 发,但是软件上代码的实现更多的都涉及芯片构架,因此在这里简要介绍一下一般 架。 下图所示的是 架图。它由 32 位 干个 32 位通用寄存器以及状态寄存器、 32 8 位乘法器、 32 32 位桶形移位寄存器、指令译码以及控制逻辑、指令流水线和数据 /地址寄存器组成。 1 有两个操作数锁存器、加法器、逻辑功能、结果以及零检测逻辑构成。 2 桶形移位寄存器: 用了 32 32 位的桶形移位寄存器,这样可以使在左移 /右移 n 位、环移 n 位和算术右移 n 位等都可以一次完成。 3 高速乘法器:乘法器一般采用“ 加一移位”的方法来实现乘法。 了提高运算速度,则采用两位乘法的方法,根据乘数的 2 位来实现“加一移位”运算 ; 2 8 位的结构,这样,可以降低集成度(其相应芯片面积不到并行乘法器的 1/3)。 4 浮点部件:浮点部件是作为选件供 架使用。 点加速器是作为协处理方式与 连,并通过协处理指令的解释来执行。 5 控制器: 控制器采用的是硬接线的可编程逻辑阵列 6 寄存器:具体的介绍参考下节的相关介绍。 不同的 能还有所不同。因此,图 描述的仅仅针对一般而言。 系结构介绍 A31:0 控制 增值器 寄存器堆 A L U 总 乘法器 线 线 总 A 桶式 B 移位器 总 线 据输出寄存器 数据输入寄存器 D31:0 图 架图 地址寄存 器 指令译码及控制 第 页 共 56 页 编程模型介绍 对于 程,需要了解的一下几个方面: 理器模式 理器共有 7 种运行模式,如表 所示: 表格 了用户模式之外的其他 6 种处理器模式称为特权模式( 在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。其中,除系统模式外,其他 5 种特权模式又称为异常模式。 处理器模式可以通过软件控制进行切换,也可以通过外部中断或异常处理过程进行切换。大多数的用户程序运行 在用户模式下,这时,应用程序不能够访问一些受操作系统保护的系统资源,应用程序也不能直接进行处理器模式的切换。当需要进行处理器模式的切换时,应用程序可以产生异常处理,在异常处理过程中进行模式的切换。这种体系结构可以使操作系统控制整个系统的资源。 当应用程序发生异常中断时,处理器进入相应的异常模式。在每一种异常模式中都有一组寄存器,供相应的异常处理程序使用,这样就可以保证在进入异常模式时,用户模式下的寄存器(保证了程序运行状态)不被破坏。 系统模式并不是通过异常过程进入的,它和用户模式具有完全一样的寄存器。但是 系统模式属于特权模式,可以访问所有的系统资源,也可以直接进行处理器模式的切换。它主要供操作系统任务使用。通常操作系统的任务需要访问所有的系统资源,同时该任务仍然使用用户模式下的寄存器组,而不是使用异常模式下相应的寄存器组,这样可以保证当异常中断发生时任务状态不被破坏 6。 存器组介绍 理器一般共有 37 个寄存器,其中包括 5: 31 个通用寄存器,包括程序计数器( 内,这些寄存器都是 32 位寄存器; 6 个状态寄存器,这些寄存器也是 32 位寄存器; 上一节已经说过, 理器共有 7 种不同的处理器模式,在每一种处理器模式中有一组相应的寄存器。任意时刻(也就是任意的处理器模式下),可见的寄存器包括 15 个通用处理器模式 处理器模式描述 用户模式( 正常程序执行的模式 快速中断模式( 用于高速数据传输和通道处理 普通中断模式( 用于通常的中断处理 监管模式( 供操作系统使用的一种保护模式 数据访问中止模式( 用于虚拟存储及存储保护 未定义指令中止模式( 用于支持通过软件方针硬件的协处理器 系统模式( 用于运行特权级的操作系统任务 系结构介绍 寄存器( 一个或者两个状态寄存器以及程序计数器( 在所有的寄存器中,有些是各模式共用的同一个物理寄存器;有些寄存器是各模式自己拥有的独立的物理寄存器。图 示了各处理器模式下的可见寄存器: 用户模式和系统模式寄存器组 异常模式下的寄存器组 图 表 可以看出,通用寄存器 所有的处理器模式下指的都是同一个物理寄存器。 而对于 存器组,除了在快速中断模式下有自己专有的物理寄存器,其它模式下也共有统一物理寄存器。 存器对应 6 个不同的物理寄存器,即除了前面提过的用户模式与系统模式共用一个寄存器外,其它模式都有相应的物理寄存器;一般地, 存器在 通常用作栈指针,在 令中这只是一种习惯的用法,并没有任何指令强制性的使用 为栈指针。 存器又被称为连接寄存器( 在 系中有下面两种特殊的作用 6: 每一种处理器模式自己的物理 存放当前子程序的返回地址。当通过跳转指令调用子程序时, 设置为该子程序的返回地址;在子程序中,把指赋值到程序计数器 时,子程序返回; 当异常中断发生时,该异常模式特定的物理 设置成该异常模式将要返回的地址,对于有些异常模式, 值可能与将返回的地址有个常数的偏移量。 1 3 5 7 9 11 13 15(9_10_12_ 14_13_14_13_14_13_14_13_14_ 页 共 56 页 程序计数器 被记作 于 用了流水线机制,当正确读取了 值时,该值为当前指令地址加 8 个字节。也就是说 ,对于 令集来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论