基于arm嵌入式的bootloader的设计与实现内容摘要:
系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、 DSP、 Java 应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。 ARM9E 系列微处理器提供了增强的 DSP 处理能力,很适合于那些需要同时使用 DSP 和微控制器的应用场合。 ARM9E 系列微处理器的主要特点如下: - 支持 DSP 指令集,适合于需要高速数字信号处理的场合。 - 5 级整数流水线,指令执行效率更高。 - 支持 32 位 ARM 指令集和 16 位 Thumb 指令集。 - 支持 32 位的高速 AMBA 总线接口。 - 支持 VFP9 浮点处理协处理器。 - 全性能的 MMU,支持 Windows CE、 Linux、 Palm OS 等多种主流嵌入式操作系统。 - MPU 支持实时操作系统。 - 支持数据 Cache 和指令 Cache,具有更高的指令和数据处理能力。 - 主频最高可达 300MIPS。 ARM9 系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。 ARM9E 系列微处理器包含 ARM926EJS、 ARM946ES 和 ARM966ES 三种类型,以适用于不同的应用场合。 ( 4) ARM10E 微处理器系列 [5] ARM10E 系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的 ARM9 器件相比较,在同样的时钟频率下,性能提高了近 50%,同时, ARM10E 系列微处理器采用了两种先进的节能方式,使其功耗极低。 ARM10E 系列微处理器的主要特点如下: - 支持 DSP 指令集,适合于需要高速数字信号处理的场合。 - 6 级整数流水线,指令执行效率更高。 - 支持 32 位 ARM 指令集和 16 位 Thumb 指令集。 - 支持 32 位的高速 AMBA 总线接口。 - 支持 VFP10 浮点处理协处理器。 - 全性能的 MMU,支持 Windows CE、 Linux、 Palm OS 等多种主流嵌入式操作系统。 - 支持数据 Cache 和指令 Cache,具有更高的指令和数据处理能力 - 主频最高可达 400MIPS。 - 内嵌并行读 /写操作部件。 ARM10E 系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等 领域。 ARM10E 系列微处理器 包含 ARM1020E、 ARM1022E 和 ARM1026EJS 三种类型,以适用于不同的应用场合。 ( 5) StrongArm 微处理器系列 Intel StrongARM SA1100 处理器是采用 ARM 体系结构高度集成的 32 位 RISC 微处理器。 它融合了 Intel 公司的设计和处理技术以及 ARM 体系结构的电源效率,采用在软件上兼容 ARMv4 体系结构、同时采用具有 Intel技术优点的体系结构。 Intel StrongARM 处理器是便携式通讯产品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产 品 ( 6) Intel Xscale 微处理器系列 有关 Intel Xscale 微处理器系列,会在后面相关篇幅中进行介绍。 ARM 处理器的优势特点 采用 RISC 结构的 ARM 微处理器一般具有如下特点: 1. 体积小、低功耗、低成本、高性能; 2. 支持 Thumb( 16 位) /ARM( 32 位)双指令集,能很好地兼容 8/16 位器件; 3. 大量使用寄存器,指令执行速度更快; 4. 大多数数据操作都在寄存器中完成; 5. 寻址方式灵活简单,执行效率高; 6. 指令长度固定; ARM 处理器之所以能够广泛应用于各个领域,与以上所列的各个特点密切相 关,综合起来,主要包括以下几点。 RISC 指令集 传统的 CISC( Complex Instruction Set Computer,复杂指令集计算机)结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂,然而,在CISC 指令集的各种指令中,其使用频率却相差悬殊,大约有 20%的指令会被反复使用,占整个程序代码的 80%。 而余下的 80%的指令却不经常使用,在程序设计中只占 20%,显然,这种结构是不太合理的。 基于以上的不合理性, 1979 年美国加州大学伯克利分校提出了 RISC( Reduced Instruction Set Computer,精简指令集计算机)的概念, RISC 并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。 RISC 结构优先选取使用频 率 最高的简单指令,避免复杂指令;将指令长度固定,指令格式和 寻址 方式种类减少;以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。 到目前为止, RISC 体系结构也还没有严格的定义,一般认为, RISC 体系结构应具有如下特点: - 采用固定长度的指 令格式,指令归整、简单、基本寻址方式有 2~ 3 种。 - 使用单周期指令,便于流水线操作执行。 - 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载 / 存储指令可以访问存储器,以提高指令的执行效率。 ARM 主要使用 32 位的 RISC 指令,但是指令代码利用率低, ARM 为了弥补此不足,在新型 ARM 构架( V4T版本以上)定义了 16 位的 Thumb 指令集。 Thumb 指令集比通常的 8 位和 16 位 RISC/CISC 处理器具有更好的代码密度,而芯片面积只增加 6%,可使程序存储器更小。 另外,为了加速通信和多媒体中有关数字信 号的处理, ARM 处理器在 RISC 的基础上增加了许多原属 DSP核中的关键部件。 双核协同工作,各用所长,有效地提高了数据处理能力核传输速度,但是 RISC+DSP 分立的双核结构存在两核之间互相通信的困难和分别编程的麻烦,为此发展了两核融合在一起的单核结构,同时将指令集也合二为一,简化编程提高效率,将 CPU 提升到可快速运算多媒体的算法,实现许多音视频的解码功能。 低功耗 由于 ARM 架构的处理器主要用于手持式嵌入式系统之中,因此 ARM 构架在设计中十分注意低电压、低功耗这一点,因而在手持式嵌入式系统得到广 泛的应用。 ARM 架构的设计采用了以下一些措施: - 降低电源电压 - 减少门的翻转次数,当某个功能电路不需要时,禁止门翻转 - 减少门的数目,即降低芯片的集成度 - 降低时钟频率 ARM 还其他采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积: - 所有的指令都可以根据前面的执行结果决定是否被执行,从而提高指令的执行效率; - 可用加载 /存储指令批量传输数据,以提高数据的传输效率; - 可在一条数据处理指令中同时完成逻辑处理和移位处理; - 在循环处理中使用地址的自动增减来提高运行效率; ARM 的低功耗,使得 ARM 在专门针对嵌入式系统的处理器市场中始终处于有利的地位。 一组典型数据是:对于 ARM7 系列处理器,当核电压是 时,每 MHz,其功耗只为。 ARM 体系结构介绍 第二章 ARM 体系结构介绍 在介绍具体的 ARM Bootloader 的实现之前,首先介绍一下 ARM 的体系结构,因为Bootloader 是与处理器芯片紧密相连的。 为了更好的在后面篇幅中介绍实现,先简单介绍相关的体系结构以及相关指令集。 ARM core 描述 尽管本本文实现主要涉及软件上的开发 ,但是软件上代码的实现更多的都涉及芯片构架,因此在这里简要介绍一下一般 ARM core 构架。 下图所示的是 ARM 构架图。 它由 32 位 ALU、若干个 32 位通用寄存器以及状态寄存器、 32 8 位乘法器、 32 32 位桶形移位寄存器、指令译码以及控制逻辑、指令流水线和数据 /地址寄存器组成。 1. ALU:它有两个操作数锁存器、加法器、逻辑功能、结果以及零检测逻辑构成。 2. 桶形移位寄存器: ARM 采用了 32 32 位的桶形移位寄存器,这样可以使在左移 /右移 n 位、环移 n 位和算术右移 n 位等都可以一次完成。 3. 高速乘法器:乘法器一般采用“加 一移位”的方法来实现乘法。 ARM 为了提高运算速度,则采用两位乘法的方法,根据乘数的 2 位来实现“加一移位”运算 ; ARM高速乘法器采用 32 8 位的结构,这样,可以降低集成度(其相应芯片面积不到并行乘法器的 1/3)。 4. 浮点部件:浮点部件是作为选件供 ARM 构架使用。 FPA10 浮点加速器是作为协处理方式与 ARM 相连,并通过协处理指令的解释来执行。 5. 控制器: ARM 的控制器采用的是硬接线的可编程逻辑阵列 PLA。 6. 寄存器:具体的介绍参考下节的相关介绍。 不同的 ARM core 可能还有所不同。 因此,图 [7]描述的仅仅针对一般而言。 ARM 体系结构介绍 A[31:0] 控制 增值器 寄存器堆 A L U 总 乘法器 线 线 总 A 桶式 B 移位器 总 线 ALU 数据输出寄存器 数据输入寄存器 D[31:0] 图 ARM 构架图 地址寄存器 指令译码及控制 ARM 体系结构介绍 编程模型介绍 对于 ARM 编程,需要了解的一下几个方面: ARM 处理器模式 ARM 处理器共有 7 种运行模式,如表 [6]所示: 表格 除了用户模式之外的其他 6 种处理器模式称为特权模式( Privileged Modes)。 在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。 其中,除系统模式外,其他 5 种特权模式又称为异常模式。 处理器模式可以通过软件控制进行切换,也可以通过外部中断或异常处理过程进行切换。 大多数的用户程序运行 在用户模式下,这时,应用程序不能够访问一些受操作系统保护的系统资源,应用程序也不能直接进行处理器模式的切换。 当需要进行处理器模式的切换时,应用程序可以产生异常处理,在异常处理过程中进行模式的切换。 这种体系结构可以使操作系统控制整个系统的资源。 当应用程序发生异常中断时,处理器进入相应的异常模式。 在每一种异常模式中都有一组寄存器,供相应的异常处理程序使用,这样就可以保证在进入异常模式时,用户模式下的寄存器(保证了程序运行状态)不被破坏。 系统模式并不是通过异常过程进入的,它和用户模式具有完全一样的寄。基于arm嵌入式的bootloader的设计与实现
相关推荐
130I/O231I/O332VSS13VCC12I/O441I/O542I/O643I/O744VCC37R/B7RE8CE9VSS36SE6U2 K9Fxx08LDATA0LDATA1LDATA2LDATA3LDATA4LDATA5LDATA6LDATA7nFWEnFREALEnFCECLERnBC10R610KVDD33VC30100nFC31100nFC32100nFC33100nFVDD
用。 步进电动机今后的发展,依赖于新材料的应用,设计手段的完善,以及与驱动技术的最佳配合。 首先,精确的分析和设计,模型的建立和完善,是一项重要的基础研究,至今还有很多工作要做,它可以为各类问题的深入分析提供基础,为优化设计指出方向。 其次,电力电子技术、微电子技术的发展,高性能永磁材料的应用及优化设计技术起到明显的作用自不待说,驱动技 术改进的作用也不容忽视,特别是微步驱动技术的应用和成熟
第四章 数据库设计 数据库结构 服务器数据库为总数据源,每一个客户端都拥有独立的小型数据库。 客户端数 据库信息从服务器端同步获得。 服务器的数据库是基于 Mysql 建立,客户端数据库是基于 SQLite 建立。 数据库体系结构如图 所示。 图 数据库体系结构图 服务器数据库设计: ER 关系如图 所示。 图 服务器数据 ER 图 根据上面的 ER 图,本软件服务器端定义的 arashmen
生茎腐病俗称“倒秧病”、“卡脖病”、“死秧”,常引起花生整株或侧枝死亡,造成严重减产。 茎腐病症状在幼苗期主要表现为子叶发生黑色腐烂。 花生感病初期,地上部叶色变淡,叶片下垂,复叶闭合,随着病情的发展,叶柄全部下塌,整株萎蔫。 成株期多在基部第一对侧枝上下发生,长出许多黑色小突起,引起侧枝分期死亡。 据观察,该病主要发生在 5 月6 月上旬。 6 月下旬为第一次发病高峰期,8 月上旬9
运行效率上明显比传统的 Java 虚拟机要高 许多。 Dalvik 虚拟机对内存的高效使用和在低速的 CPU 上表现出的高性能,确实让人们刮目相看。 Android 的上层应用程序虽然是用 Java 开发的,但是 Dalvik 虚拟机却和传统的Java 虚拟机有着很大的区别,两者是不兼容的。 首先,众所周知在 Java 中,所有的程序代码会被编译器编译成字节码( .class)应用程序进程 调用