当前位置:文档之家› ARM嵌入式技术原理与应用

ARM嵌入式技术原理与应用

ARM嵌入式技术原理与应用
ARM嵌入式技术原理与应用

ARM嵌入式技术原理与应用

第一章嵌入式系统介绍

1.1 嵌入式系统(Embedded system)

嵌入式系统有时也称为嵌入式计算机系统,指的是专用计算机系统。

个人电脑≠嵌入式系统

(通用)(专用,嵌入到对象体中)

嵌入式系统的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。以上定义突出了它的“嵌入性”和“专用性”,将其与通用计算机区分开。

1.2 嵌入式系统的特点

①嵌入式系统是将先进的计算机技术、半导体技术以及电子技术与各行业的具体应用相结合的产物。

②嵌入式系统通常是面向用户、面向产品、面向特定应用的。嵌入式系统CPU都具有功耗低、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而使整个系统设计趋于小型化,移动能力日益增强,与网络的关系也越来越密切。

③嵌入式系统和具体应用有机地结合在一起,其升级换代也是和具体产品同步进行的。因此嵌入式系统产品一旦进入市场,就具有较长的生存周期。

④为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机中,而不是存储于磁盘等载体中。

⑤嵌入式系统本身并不具备在其上进一步开发的能力。

1.3 嵌入式系统发展历程

嵌入式计算机系统与通用计算机系统目前属于计算机技术的两大分支。

嵌入式系统的发展大致经历了4个阶段:

第一阶段:单片微型计算机(SCM)阶段,即单片机时代。这一阶段的嵌入式系统硬件是单片机,软件停留在无操作系统阶段,采用汇编语言实现系统的功能。这阶段的主要特点是:系统结构和功能相对单一、处理效率低、存储容量也十分有限,几乎没有用户接口。

第二阶段:微控制器(MUC)阶段,主要的技术发展方向是:不断扩展对象系统要求的各种外围电路和接口电路,突显其对象的智能化控制能力。这一阶段主要以嵌入式微处理器为基础、以简单操作系统为核心,主要特点是硬件使用嵌入式微处理器,微处理器的种类繁多,通用性比较弱;系统开销小,效率高;软件采用嵌入式操作系统,这类操作系统有一点的兼容性和扩展性;这个阶段的嵌入式产品的应用软件比较专业化,用户界面不够友好。

第三阶段:片上系统(SOC),主要特点是:嵌入式系统能够运行于各种不同类型的微处理器上,兼容性好,操作系统的内核小,效果好。

第四阶段:以Internet为标志的嵌入式系统。嵌入式网络化主要表现在两个方面,一方面是嵌入式处理器集成了网络接口,另一方面是嵌入式设备应用于网络环境中。

1.4 嵌入式系统基本结构

嵌入式系统的基本结构一般可分为硬件和软件两部分。

1.4.1 嵌入式系统的硬件

包括嵌入式核心芯片、存储器系统及外部接口。

1、嵌入式处理器:是构成系统的核心部件,系统工程中的其他部件均在它的控制和调度下工作。处理器通过专用的接口获取监控对象的数据、状态等各种信息,并对这些信息进行计算、加工、分析和判断并作出相应的控制决策,再通过专用接口将控制信息传送给控制对象。

2、嵌入式存储器:存储器的类型将决定整个嵌入式系统的操作和性能,因此存储器的选择非常重要。无论系统是采用电池供电还是由市电供电,应用需求将决定存储器的类型(易失性或非易失性)以及使用目的(存储代码、数据或者两者兼有)。对于较小的系统,微控制器自带的存储器就有可能满足系统要求,而较大的系统可能要求增加外部存储器。为嵌入式系统选择存储器类型时,需要考虑一些设计参数,包括微控制器的选择、电压范围、电池寿命、读/写速度、存储器尺寸、存储器的特性、擦除/写入的耐久性以及系统总成本。

3、嵌入式系统的输入/输出接口:一般嵌入式处理器上集成了输入/输出接口,但是外设需要外接。例如,大多数的嵌入式通信控制器集成了以太网接口,但是收发器需要外部电路。

1.4.2 嵌入式系统的软件

嵌入式系统的软件主要包括两大部分:嵌入式操作系统和应用软件。

1、BSP

在嵌入式操作系统中,BSP以嵌入式操作系统“驱动程序”的身份出现,在系统启动之初,BSP所做的工作类似于通用计算机的BIOS,它也负责系统加电,各种设备初始化、操作系统装入等。但BSP与BIOS是不同的,主要区别有以下几个方面:

①BSP是与操作系统相适应的,但是BIOS却是和所在的主板相适应的,也就是说BSP的作用是让硬件支持某种嵌入式操作系统,而BIOS的作用是让所有操作系统都能够在其生产的硬件上正常工作。

②开发软件人员可以对BSP做一定的修改,加入自己想加入的一些东西,比如各类驱动程序,但BIOS一般不能修改,开发人员只能对其进行升级或者更改配置。相对来讲,嵌入式开发人员对于BSP的自主性更大。

③一个BSP对应一种硬件和一种嵌入式操作系统,即同一个处理器可能有多个BSP,同一个嵌入式操作系统针对不同的处理器也需要不同的BSP。而一个BIOS是对应一种硬件和多个操作系统,也就是说BIOS是根据硬件在一定历史条件下设计的,与操作系统无关。

④BSP里可以加入非系统必需的东西,比如一些驱动程序甚至一些应

用程序,但通用计算机的主板BIOS一般不会有这些东西。

2、嵌入式操作系统

嵌入式操作系统是嵌入式系统极为重要的组成部分,是嵌入式系统的灵魂。经历了4个比较明显的阶段:

第一阶段:无操作系统的嵌入算法阶段,通过汇编语言编程对系统进行直接控制。

第二阶段:以嵌入式CPU为基础、简单操作系统为核心的嵌入式系统。

第三阶段:通用的嵌入式实时操作系统阶段,该阶段以嵌入式操作系为核心。

第四阶段:以基于Internet为标志的嵌入式系统,这还是一个正在发展的阶段。

嵌入式操作系统一般具有体积小、实时性强、可剪裁、可靠性高、功耗低等特点。

实时性是嵌入式系统最重要的要求之一。实时操作系统又分为软实时和硬实时两种。

常用的嵌入式操作系统有:VxWorks、Windows CE、嵌入式Linux、嵌入式实时内核uC/os等。

3、应用软件

嵌入式系统领域的应用软件是为了解决某些特定的应用性问题而设计出来的软件,如浏览器、播放器等。嵌入式系统的应用软件与通用计算机软件相比,由于嵌入式系统的资源有限,致使对应用软件有更多苛求,要求尽量做到高效、低耗。而且嵌入式系统的应用软件还存在着操作系统的依赖性,一般情况下,不同操作系统之间的软件必须进行修改才能移植,甚至需要重新编写。

嵌入式系统上的处理器单元称为嵌入式处理器。

实际上,处理单元的种类很多,包括嵌入式微处理器、嵌入式微控制器、数字信号处理器、可编程器件及其组合。嵌入式处理器运行嵌入式系统的系统软件和应用软件。

嵌入式处理器有如下的共性:

1、处理器内核(内部);

2、地址总线;

3、数据总线;

4、控制类总线;

5、处理器本身的辅助支持电路,如时钟、复位等;

6、片上I/O接口电路。

注:有的嵌入式微控制器上集成了存储器和I/O接口电路,不需要扩展

,因此没有地址总线、数据总线、控制总线扩展接口。

第二章嵌入式处理器

2.1 嵌入式处理器的分类

1、嵌入式微控制器(EMCU)

嵌入式微控制器又称单片机,就是将整个计算机系统集成到一块芯片

中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成

ROM/EPROM、RAM、总线、总线逻辑、定时、计数器、WatchDog、I/O、串

行口、脉宽调制输出、A/D、D/A、Flash RAM等各种必要功能和外设。

目前,比较知名的嵌入式微控制器有Intel公司的MCS-51系列、Freescale公司的68HCXX系列、Microchip的PIC系列等。

嵌入式微控制器在小系统应用时,通常是控制应用的一种理想解决方

案,因为可以利用它以及很少的附加电路来构建一个嵌入式系统。8位微

控制器可用于过程控制应用,比如用在电动玩具、智能卡、仪表中。如

果对处理能力和存储器容量的要求很高,就需要选择16位或32位微控制器。

嵌入式微控制器处理能力差一些,功能比较全,但是指标较低、价格

比较低,适合应用于简单控制系统,如家用电器、工业仪表与简单的自

动化装置。

2、嵌入式微处理器(EMPU)

嵌入式微处理器的基础是通用计算机中的CPU。与嵌入式微控制器相

比,嵌入式微处理器的处理能力比较强,字长一般是16位或32位,如ARM、、Atmel、Intel、Freescale、National Semiconductors等公司推出了

许多可用的嵌入式微处理器。

嵌入式微处理器的特点如下:

1、需要扩展。要使用嵌入式微处理器来设计开发嵌入式系统,一般

需要大量的外围电路,包括存储器和I/O接口电路。

2、处理能力一般大于微控制器。由于集成的外部接口比较少,通常

嵌入式微处理器的处理能力较强,芯片上集成了处理器内核,通常具有

更高的时钟频率和较宽的字长。

3、寻址能力大于微控制器。

4、一般适用于高端应用。

5、型号多。

6、通用性强。

3、嵌入式DSP处理器(EDSP)

DSP是特别为处理信号设计的处理器,而不是为一般应用设计的。对

系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较

高,指令执行速度也较高。

DSP体系结构需要具备以下特点:

1、能够非常快速地计算出总和的乘加(MAC)模块,而通用处理器可能要花费多个周期才能计算出一个乘积。

2、支持通过移位操作完成对位的处理。

3、独立的地址生成单元产生存储器单元的地址,这样使访问存储器

变得更加快速。

4、专门的硬件实现循环。通过硬件可以增加循环计数器,将计数值

与最终目标值进行比较,执行循环之后再转到循环顶部等。

4、可编程器件

现在可编程器件的集成度达到了百万门电路或更多,甚至片上集成了处理器、数字信号处理器等。利用可编程器件实现嵌入式系统的处理器

子系统可以提高系统的集成度,复杂的外部电路都可以集成在可编程器

件上,甚至包括CPU,这样的系统通常称为SoC。

可编程器件的最大优点是提高了嵌入式系统硬件电路板的集成度,同时减小了电路板的面积。传统的嵌入式系统的硬件除了CPU和存储器之外,在电路板上还大面积地安装了I/O逻辑电路、译码器等。通过可编程器件的使用,即可减少外部逻辑电路,从而缩减电路板的面积,增加系统

的可靠性。

2.2 嵌入式处理器的构架

标准的嵌入式系统架构有两大体系:

精简指令集计算机(reduced instruction set computer,RISC)处理

器复杂指令集计算机(complex instruction set computer,CISC)处理器.这两种指令集结构的重要区别之一是其指令功能的强弱不同。

2.2.1 CISC计算机指令集

CISC结构追求的目标是强化指令功能,减少程序的指令条数,从而达

到提高性能的目的。

CISC体系的设计思想就是基于使用大量的指令,包括复杂指令。它的

优点是进行程序设计比较容易,因为每一个简单的或者复杂的操作都有

相应的指令。如为了适应所处理数据的不同长度,CISC设计有8位、16位甚至32位的指令,还有专门用于浮点数运算的指令。对程序设计者来书,CISC系统可用简单的指令组合解决一个比较复杂的问题。

CISC指令系统趋于多用途、强功能化,且面向高级语言发展。但它又

把指令系统带向庞大化、复杂化,使得设计处理器的电路非常复杂,设

计周期长、难保正确性、维护困难。

2.2.2 RISC计算机指令集

在对各条指令使用频率的统计分析中发现,最常使用的是一些比较简

单的指令,而这些指令数占指令总数的20%,但它们在程序中出现的频率却占80%。这个结论后来被称为“20%对80%率”。

因此如果从指令系统中去掉一些不常用的指令,特别是那些复杂的指

令就可以降低处理器电路的复杂程度,使处理器以更快的速度、更高的

频率运行,从而提高整个计算机的执行速度。根据这个设计指导思路设

计出来的处理器被称为精简指令集计算机系统即RISC。

RISC机的特点:

①选取一些使用频率高、很有用但不复杂的简单指令。 ②指令长度固定,指令格式种类少,寻址方式种类少。

③只有取数/存数指令会访问存储器,其余指令的执行都在寄存器之间进 行,即限制内存访问。

④CPU 中通用寄存器数量相当多。 ⑤大部分指令在一个机器周期内完成。 ⑥采用流水线组织。

⑦以硬布线控制逻辑为主,不用或少用微程序控制。

⑧特别重视编译工作,以简单有效的方式支持高级语言,减少程序执行 时间。

RISC 和CISC 的差异:

①指令系统:RISC 设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来完成。因此,在RISC 机器上实现特殊功能时,效率可能比较低。但可以利用流水技术和超标量技术加以改进和弥补。而CISC 计算机的指令系统比较丰富,由专用指令完成特定的功能。因此,处理特殊任务效率较高。

②存储器操作:RISC 对存储器操作有限制,使控制简单化;而CISC 机器的存储器操作指令多,操作直接。

③程序:RISC 汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计;而CISC 汇编语言程序编程相对简单,科学计算及复杂操作的程序设计相对容易,效率较高。

④中断:RISC 机器在一条指令执行的适当地方可以响应中断;而CISC 机器是在指令执行结束后相应中断。

⑤CPU :RISC 处理器包含有较少的单元电路,因而面积小、功耗低;而CISC 处理器包含有丰富的电路单元,因而功能强、面积大、功耗大。 ⑥设计周期:RISC 微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术;CISC 微处理器结构复杂,设计周期长。

⑦用户使用:RISC 微处理器结构简单,指令规整,性能容易把握,易学易用;CISC 微处理器结构复杂,功能强大,实现特殊功能容易。 ⑧应用范围:由于RISC 指令系统的确定与特定的应用领域有关,故RISC 机器更适合于专用机,主要应用于ARM 系列;而CISC 机器则更适合于通用机,主要应用于Intelx86系列。

从以上的比较来看,RISC 与CISC 各有优势,而RISC 的实用性则更强一 些,应该是未来处理器架构的发展方向。但事实上,由于早期的很多软 件是根据CISC 设计的,单纯的RISC 将无法兼容,此外,现代的CISC 结构 CPU 已经融合了很多RISC 的成分,如超长指令集CPU 就是融合了RISC 和CISC 的优势,其性能差距已经越来越小,而复杂的指令可以提供更多的功能, 这是程式设计所需要的,因此,CISC 与RISC 的融合应该是未来的发展方向。 目前RISC 的架构主要有:ARC 架构、ARM 架构、MIPS 架构、PowerPC 架构 以及Tensilica 架构。 CISC 的架构主要有:x86架构、AMD 架构。 2.3 嵌入式处理器的技术指标 主要从以下几方面考虑:

1、功能:主要取决于处理器所集成的存储器的数量和外部设备接口的种 类。

2、字长:指参与运算的数的基本位数,决定了寄存器、运算器和数据总 线的位数,因而直接影响硬件的复杂程度。处理器的字长越长,它包含 的信息量越多,能表示的数值有效位数越多,计算精度也越高。通常处 理器可以有4、8、16、32、64位等不同的字长。

3、处理速度:目前普遍采用在单位时间内各类指令的平均执行条数,即 根据各种指令的使用额度和执行时间来计算。

1

n

g i i

i t p t ==∑

取其倒数即得到该处理器的运算速度指标,其单位为百万条指令每秒,表示为MIPS。

4、工作温度:从工作温度方面考虑,嵌入式处理器通常分为民用、工业用、军用、航天等几个温度级别。

5、功耗:嵌入式处理器通常给出几个功耗指标,如工作功耗、持机功耗等。许多嵌入式处理器还给出功耗与工作频率之间的关系,表示为Mw/Hz 或W/Hz。

6、寻址能力:嵌入式处理器的寻址能力取决于处理器地址线的数目,处理器的处理能力与寻址能力有一定的关系。注:对于嵌入式微控制器而言,寻址能力的意义不大,因为嵌入式微控制器通常集成了程序存储器和数据存储器,一般不能进行扩展。

7、平均失效间隔时间(MTBF):是指在相当长的运行时间内,机器工作时间除以运行期间故障次数。它是一个统计值,用来表示嵌入式系统的可靠性。MTBF值越大,表示可靠性越高。

2.4 典型的嵌入式处理器

目前,用户接触得最多的应该是ARM、MIPS、PowerPC这三类处理器。

2.4.1 ARM处理器

1、ARM简介

ARM(advanced RISC machine),既可认为是一个公司的名称,又可

以认为是对一类微处理器的通称,还可以认为是一种技术的名称。ARM公

司成立于1991年,主要出售芯片设计技术。目前,采用ARM技术知识产权

(IP)核的微处理器,即通常所说的ARM处理器,已遍及工业控制、消费

类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM

技术的微处理器应用占据32位RISC微处理器75%以上的市场份额。目前,

全世界有几十家大的半导体公司使用ARM公司的授权,因此既使得ARM技

术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低

,从而使产品更容易进入市场被消费者所接受。这样产品更具有竞争力。

2、ARM处理器的应用领域及特点

ARM处理器系列提供的解决方案包括以下3点:

(1)在无线、消费类电子和图像应用方面的开放平台。

(2)存储、自动化、工业和网络应用的嵌入式实时系统。

(3)智能卡和SIM卡的安全应用。

ARM处理器一般具有如下特点:

(1)小体积、低功耗、低成本、高性能。

(2)支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16

位器件。

(3)大量使用寄存器,指令执行速度更快。

(4)大多数数据操作都在寄存器中完成。

(5)寻址方式灵活简单,执行效率高。

(6)指令长度固定。

3、ARM处理器系列

ARM处理器当前有以下产品系列:ARM7、ARM9、ARM9E、ARM10、ARM11

和SecurCore。进一步的产品来自于合作伙伴,例如Intel XScale微体系

结构和StrongARM产品。 ARM7、ARM9、ARM9E、ARM10、ARM11是通用处理

器系列,每个系列提供一套特定的性能来满足设计者对功耗、性能和体

积得需求;SecurCore是专门为安全设备而设计的。

ARM7、ARM9、ARM9E、ARM10、ARM11产品系列提供了一系列处理器供用

户选择,其中包括用于低价位应用的整型内核;用于WindowCE操作系统

的、带集成存储器管理单元(MMU)的内核;最适用于运行实时嵌入式操

作系统的内核。

2.4.2 MIPS处理器

(Microprocessor with out interlocked piped stages), MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”

其机制是尽量利用软件办法避免流水线中的数据相关问题。

它最早是在80年代初期由斯坦福大学Hennessy教授领导的研究小组研制

出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理

器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。

MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。

MIPS的产品系列有:R2000、R3000、R4000、R8000、R10000等。

2.4.3 PowerPC处理器

二十世纪九十年代,IBM(国际商用机器公司)、Apple(苹果公司)

和Motorola(摩托罗拉)公司开发PowerPC芯片成功,并制造出基于

PowerPC的多处理器计算机。PowerPC架构的特点是可伸缩性好、方便灵

活。其主要产品系列有:PowerPC 7xx系列和PowerPC 4xx系列。

存储器是构成嵌入式系统硬件的重要组成部分。设计嵌入式系统的存

储器时需要考虑许多因素:有的嵌入式控制器集成了存储器,一般不需

要额外扩展,甚至有的嵌入式控制器无法扩展;有的嵌入式微处理器片

上没有存储器,必须外部扩展;有的嵌入式处理器片上集成了一定数量

的存储器,可以满足一定的需要,如果软件占用空间比较大,可能需要

扩展存储器,所以整个存储器系统由片上和片外两部分组成。

通常,嵌入式系统的软件直接放在内存(Nor Flash或EPROM)中,如

8位的单片机系统,上电之后立即可以运行;也有的嵌入式系统的软件放

在外存(如Flash卡)或NAND Flash中,如嵌入式Linux系统,系统上电

时,从NAND Flash中装载、引导、运行软件。

以上两种情况下都需要考虑嵌入式系统的软件固化问题,而这一问题

是在通用计算机中开发软件时不需要考虑的。

考虑存储器系统时,还需要考虑嵌入式系统软件的引导问题。

3.1 嵌入式系统存储器的结构和组织

3.1.1 存储器的结构和组织

目前存储器的存储介质主要采用半导体器件和磁性材料。存储器中最

小的存储单位为1bit,由若干个位组成一个存储单元,然后再由许多存储

单元组成一个存储器。一个存储器包含许多存储单元,每个存储单元的位

置都有一个编号(即地址),一般用十六进制表示。一个存储器中所有存

储单元可存放数据的总和称为这个存储器的存储容量。

存储器有3个主要特性:速度、容量和价格/位(简称价位)。

从上图可以看出由上至下,每位的价格越来越低,速度越来越慢,容

量越来越大,CPU访问的频度也越来越少。位于最上层的寄存器通常都制

作在CPU芯片内。寄存器中的数据接在CPU内部参与运算。CPU内可以有十

几乃至几十个寄存器,它们的速度最快、位价最高、容量最小。主存用

来存放将要参与运行的程序和数据,其速度与CPU的速度差距较大,为了

使它们之间的速度更好地匹配,在主存与CPU之间插入了一种比主存速度

更快、容量更小的高速缓冲存储器cache。主存与缓存之间的数据调动由

硬件自动完成,对程序员是透明的。以上三层存储器都是由速度不同、

价位不等的半导体存储材料制成,其都设在主机内。第四、五层是辅助

存储器其容量比主存大得多,大都用来存放暂时未用到的程序和数据文件。CPU不能直接访问辅存,辅存只能与主存交换信息,因此辅存的速度

可以比主存慢得多。辅存与主存之间信息的调动均由硬件和操作系统来

实现。

为了解决对存储器要求容量大、速度快、成本低三者之间的矛盾,目

前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和

外存储器。

3.1.2 嵌入式系统存储器子系统的结构

嵌入式系统的体系结构与通用计算机并无很大的不同,因此其存储器

子系统的功能也无明显的区别,这决定了嵌入式系统的存储器子系统的

设计指标和方法可以参考通用计算机技术。不过,它们之间也有一定的

区别,主要体现在一下几个方面。

(1)体积考虑,嵌入式系统由于体积的限制,尽量使用存储密度比较大

的存储器芯片。

(2)功耗考虑,设计嵌入式系统的存储系统时需要考虑功耗问题。

(3)成本考虑,大多数嵌入式系统的存储器容量与软件大小匹配。

(4)使用嵌入式微控制器的嵌入式系统,由于微控制器上集成了存储器

资源(ROM和RAM),因此有的系统可以不需要另外设计存储器子系统;

有的需要扩展一部分存储器子系统,这时从成本控制上需要综合平衡。(5)如果嵌入式处理器上没有存储器,那么进行扩充时,通常需要扩充ROM子系统(用于存储程序)、RAM子系统(用于存储数据)和EEPROM子

系统(用于存储配置数据和常数)

(6)嵌入式系统的存储器子系统通常设计成模块结构,包括ROM子系统、RAM子系统等,每个子系统占用一定的存储空间。

(7)与通用计算机不同,嵌入式系统的存储器通常与系统主板设计在一起,而不设计成所谓内存条形式,原因是一方面嵌入式系统的内存通常

是固定大小的;另一方面,一体结构可以提高系统的可靠性,特别是工

作在恶劣、移动环境中的设备更需要高的可靠性。

(8)就整个存储器系统的空间分配而言,典型的存储器空间分配如图所示:

(9)关于嵌入式处理器的中断向量表,有两种设计方案。一种方案是中

断向量表或中断服务程序入口地址设置在ROM空间,一旦设置,运行中不

再更改,大多数小规模的嵌入式系统可采取这种方法;另一种方案是把中

断向量表设置在RAM空间,当执行ROM中的初始化代码时,由初始化程序填写中断向量,一些大型、复杂的应用通常采取这种方法。

3.2 存储器的性能指标

1、易失性:是区分存储器种类的重要特性之一。在嵌入式系统中,要求

系统必须至少有一部分存储器是非易失性的,用于存放启动和初始化代码。 ROM是非易失性的,RAM是易失性的。

2、位容量:用大规模集成电路构成的半导体存储器件常用位容量来表示

其存储能力。嵌入式系统应该尽量采用位容量高的器件。

3、存取时间:是指存数的写操作和取数的读操作所占用的时间,一般以

ns为单位。

4、功耗:指每个存储单元所耗的功率,单位为。

5、电源:指芯片工作时所需的电源电压种类。有的芯片只需要单一的+5V

电源,而有的则需要多种电源才能工作,例如±12V、±5v等。

6、带宽:指单位时间内存储器所存取的信息量,是体现数据传输速率的技术指标。

3.3 存储器的分类

嵌入式系统中使用的存储器类型主要包括:RAM、ROM、混合存储器、

双端口存储器等。

3.3.1 随机存储器(RAM)

随机存储器是指通过指令可以随机地、个别地对每个存储单元进行访

问,访问所需时间基本固定且与存储单元地址无关的可以读/写的存储器。

在RAM家族中有两种重要的存储元件:SRAM(静态RAM)和DRAM(动态RAM)

它们之间的主要差别是存储于其中的数据的寿命长短。SRAM只要是芯片

有电就会保留其中的内容,但如果切断了电源或者是暂时断电了,其中

的内容就会永久丢失;DRAM只有极短的数据寿命,通常不超过0.25s,即

使是在连续供电的情况下也是如此。因此使用DRAM时,要配合DRAM控制

器,对DRAM进行周期性刷新或再生。

SRAM和DRAM的特点比较如下:

(1)SRAM比DRAM速度快

(2)工作时,SRAM比DRAM功耗大

(3)DRAM的存储密度大于SRAM

(4)DRAM需要周期性刷新,需要使用专用的DRAM控制器

(5)关于价格,考虑到DRAM需要使用控制器的因素,小容量使用时,SRAM比较适宜;大容量是,DRAM比较经济。

第三章嵌入式系统的存储器

动态RAM(DRAM)

由于动态RAM工作时需要刷新,因此DRAM在使用时必须配合DRAM控制器

。DRAM控制器是位于处理器和存储器芯片之间的一个芯片,其主要用途是:

(1)执行DRAM的刷新操作使得DRAM中数据有效

(2)处理器通过DRAM控制器访问DRAM

在存储系统中使用DRAM时,软件首先要做的就是初始化DRAM控制器。一般地,初始化代码通常用汇编语言编写,放置在硬件初始化模块里。

动态RAM的特点如下:

(1)基本存储电路用电管线路组成。

(2)集成度高。

(3)比静态RAM的功耗低。

(4)价格比静态RAM便宜。

(5)因动态存储器靠电容来存储信息,由于电容总是存在有泄漏电流,故要求有刷新电路的支持。

注:设计嵌入式系统时,通常不使用分离的DRAM控制器,相反,嵌入式处理器上集成了DRAM控制器,因此在嵌入式系统中使用DRAM很方便。双端口RAM

普通的RAM只有一个端口,即一组数据总线、控制总线和地址总线,只

能接在一个处理器上。双端口RAM具有两个端口,即两套地址线、数据线、

控制线、两个主设备(如处理器)可以分别接在两个不同的端口上,同

时访问此芯片。

双端口RAM通常应用于两个嵌入式处理器共享内存的应用系统。通过双

端口RAM的使用,两个处理器之间进行通信时,不需要进行数据块的复制

操作,效率非常高。

4、如何选择RAM??

在设计嵌入式系统过程中,随机存储器目前有两种选择,即SRAM和

DRAM.

选择时,通常需要考虑下面的因素。

(1)如果系统的随机存储器的容量不是很大,一般采用SRAM;反之,选

择DRAM存储器。

(2)对于嵌入式处理器而言,有的嵌入式处理器芯片本身集成了DRAM控

制器,这时选择DRAM比较好。一般小规模的嵌入式系统不建议使用分离

的DRAM控制器+DRAM的方案,因为这种方案一方面增加了系统的复杂性

(电路板的面积、故障率等),另一方面也会增加系统的成本。

(3)如果确实需要DRAM,那么尽量使用带有DRAM控制器的微处理器,然

后配合使用DRAM。通常,高性能的32位及以上的嵌入式处理器大多集成

了DRAM控制器。而低端的单片机如8位单片机上没有集成DRAM控制器。

(4)对于特别高速度的应用,可使用SRAM。8位单片机,通常使用SRAM。

(5)如果嵌入式系统对功耗要求比较严格,可使用SRAM。因为DRAM需要

时刻刷新消耗能量;而SRAM在系统进入待机方式时,只需要微笑的待机

电流就可以维持数据不丢失。

(6)复杂的嵌入式系统可以使用SRAM和DRAM混合设计的方案,不同速度

要求的数据使用不同的随机存储器,满足整体系统的性价比的优化设计。

(7)目前,多数基于32位嵌入式处理器的嵌入式系统一般会使用DRAM。

(8)嵌入式系统的设计在使用SRAM和DRAM的成本上,需要细致核算,并

与整个系统的硬件一起进行核算,最终作出选择。

(9)对于双端口RAM,目前价格比较高,通常应用于两个数据处理单元

之间的高速数据共享。

在决定选用哪一种类型的存储器时,系统设计者要考虑存取时间和成

本。SRAM器件提供了极快的存取时间(大约比DRAM快4倍),但是大容量

器件制造起来十分得昂贵。通常,SRAM只是用于那些存取速度极端重要

的场合(如Cache)。在需要使用大容量的RAM的时候,DRAM将是一种很

好的选择。很多嵌入式系统两种类型都包括:关键数据通道上的一小块

SRAM(几百KB)和其他所有地方的一大块DRAM(以MB计)。

3.3.2 只读存储器ROM

ROM存储器是按照向其中写入或更新数据的方法(通常叫作编程)及其

可以重写的次数来区分的,其中包括不可擦除型(掩膜只读存储器ROM、

可一次编程只读存储器PROM)、可擦除型(EPROM、EEPROM、Flash)。

在嵌入式系统中,ROM主要用来存放引导程序bootloader、操作系统和开

发好的应用程序。

1、EPROM

EPROM一般用在软件或系统开发阶段,一旦设计彻底完成,即可用掩膜型ROM或者PROM取而代之2、EEPROM

电擦除可编程ROM是一种用电信号编程也用电信号擦除的ROM芯片,它

可以通过读/写操作进行逐个存储单元读出和写入,且读/写操作与RAM存

储器几乎没有什么差别,所不同的只是写入速度慢一些。断电后能保存

信息。

EEPROM从大方面分为并行和串行两种。除了可以用作程序存储器外,

还可以用作常数存储器,系统参数存储器等,其在线电擦除和编程功能

作为系统参数存储和修改很适宜。

3、FLASH

flash存储器又称闪存,结合了ROM和RAM的长处,不仅具备EEPROM的性

能,还不会断电丢失数据,同时可以快速读取数据(读取,而不是写入)

,U盘和MP3里用的就是这种存储器。近年来flash存储器全面代替了ROM

在嵌入式系统中的地位,用作存储引导加载程序以及操作系统或者程序

代码或者直接当做硬盘使用。

FLASH的两种主要种类:NAND FLASH和NOR FLASH。

①NOR FLASH是在EEPROM的基础上发展起来的,其存储单元由N-MOS构成,

而连接N-MOS单元的线都是独立的。NOR FLASH的特点是可以随机读取任

意单元的内容,适合程序代码的并行读写存储,所以常用于制作计算机

的BIOS存储器和微控制器内部存储器等。

②NAND FLASH将几个N-MOS单元用同一根线连接,可以按顺序读取存储单

元的内容,适合于数据或文件的串行读写存储。

第四章嵌入式系统的I/O模块

嵌入式处理器在功能上有别于通用处理器,其区别在于嵌入式处理器

上集成了大量的I/O电路,用户在开发产品时,通常是根据自己的应用需

求选择带有满足需求的I/O模块的嵌入式处理器,而不是选择处理器另外

配合I/O电路。嵌入式处理器几个典型的I/O电路和处理器的附属电路主

要有:复位电路、振荡器电路、译码器、UART、SPI、A/D转换等。

4.1 复位电路

嵌入式处理器的复位电路主要用于完成硬件的初始化。通常使用的复

位电路有以下几种形式:阻容复位电路、手动复位电路、专用复位电路、

软件复位和看门狗复位等。

4.1.1 阻容复位电路

复位脉冲的宽度与RC时间常数有关,具体参数选取需要符合处理器数据手册对复位脉冲宽度的要求。

4.1.2 手动复位电路

手动复位通常配合自动复位电路工作。即把手动复位开关产生的复位信号接在复位电路上,而不是直接接在处理器的复位信号输入端上。

复位开关通过复位电路产生复位信号的优点是信号的波形比较好,复位电路可以去掉开关的抖动。

4.1.3 看门狗复位

如果嵌入式系统的工作环境比较恶劣,处理器运行过程中可能会出现

死机和程序“跑飞”的情况,这时就需要使处理器强制复位。强制复位

可以使用所谓的看门狗(Watchdog)复位电路。

其原理是:正常工作的嵌入式系统程序中,设定每个确定的时间内必

须运行其中的某一部分代码,如果在用户设定的最大时间内没有运行该

部分代码,则认为系统出了问题,程序不正常运行,于是看门狗电路产

生复位信号,使处理器强制复位,系统从复位向量处重新运行。

4.1.4 专用复位电路

专用复位电路可以把诸如电压监视、电池监视、看门狗定时器等的

一些功能集成在一起,组成处理器监视电路。

4.1.5 软件复位

软件复位需要处理器的支持,即处理器具有软件复位指令和相应的电

路,并非所有的嵌入式处理器都支持软件复位功能。

软件复位的方法是通过执行复位指令完成处理器的复位,其复位结果

如同硬件复位一样。软件复位后,程序从复位向量处开始运行。需要指

出的是,软件复位后转入执行0000H处的指令与在程序中直接跳转到0000H处的执行指令的结果是不同的。不同之处在于软件复位后,处理器的寄存器也被初始化成默认状态;而直接跳转到0000H执行指令,不

会初始化处理器的硬件寄存器。

4.2 系统时钟、嵌入式系统译码器

时钟电路用于产生处理器工作的时钟信号。通用计算机可以使用分离

的时钟电路,如IBM PC/XT,使用专用时钟芯片8284产生时钟信号。为了

节省电路,嵌入式系统通常把时钟电路集成在处理器上,只需要外接晶

体即可。通常嵌入式系统的时钟电路有以下几种形式:RC时钟、石英晶

体、石英振荡器、锁相倍频时钟、多时钟源。

译码器通常用于对存储器和I/O接口电路分配地址空间。译码器的设计

方案有如下几种:

(1)普通集成电路译码器,如74LS138、74LS154等。缺点:译码电路的

灵活性较差。

(2)可编程器件译码器。

(3)嵌入式处理器集成译码器。

4.3 I/O模块

4.3.1 I/O接口的基本结构

I/O接口电路与处理器内核之间通过内部总线交换信息。按总线上传输

的数据类型分类,内部总线可分为数据总线、地址总线和控制总线。I/O

模块从编程结构上可分成数据输入寄存器、数据输出寄存器、控制寄存

器、状态寄存器、模式寄存器等。

(1)模式寄存器:只写,用于设置I/O模块的工作方式。

(2)控制寄存器:只写,用于控制I/O模块的工作。

(3)状态寄存器:只读,处理器内核通过读取状态寄存器的内容,了解模块的工作状态。

(4)数据输入寄存器:只读,处理器内核读取该寄存器,输入外设的数据。

(5)数据输出寄存器:只写,处理器内核写该寄存器,把数据输出给外设。

(6)根据I/O模块的功能和种类的不同,上面的寄存器并非每个I/O模块均存在,功能复杂的I/O模块可能有更多的寄存器配合工作。

4.3.2 I/O接口的信号及其作用

处理器与集成的外设之间的信息通常有3大类:

1、数据信息

处理器内核与I/O设备之间交换的基本信息是数据信息,数据信息以

并行的方式在处理器的内部总线上传输。外部设备连接的数据类型很多,

如模拟量等。这些信息经过接口的转换电路连接到处理器的内部总线上,

在程序的控制下完成传输。

2、控制信息

控制信息是处理器内核传输给外设的。处理器内核通过发送控制信息

控制外设的工作,如外设的启动、停止信号。外设不同,控制信号的类

型、功能和数量也不同。

3、状态信息

状态信息反映了外设的工作状态,是外设传输给处理器内核的信息。

在嵌入式处理器中,反映数据信息、控制信息和状态信息的数据分别

存放在相应的端口寄存器中。寄存器地址可以映射到处理器的内存地址

或I/O空间。

4.3.3 寄存器地址的映射方式(重要)

地址映射是为了保证CPU执行指令时可正确访问存储单元,需将用户

程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。

1、与存储器统一编址

与存储器统一编址的方式:I/O处理器的地址位于存储器空间,把存储器空间的一部分用于I/O空间,对于寄存器的访问使用与访问存储器相同的指令。这种映射方式有以下两种实现方案:(1)I/O地址空间与存储器地址空间地址重叠,寻址方法不同。

(2)I/O空间与存储器空间统一编址,寻址方法相同。如ARM处理器。

2、单独编址

单独编址方式:设计了存储器地址空间和I/O地址空间,它们之间完全独立,对它们的访问采用不同的指令进行。

第五章 ARM 体系结构及编程模型

5.1 ARM体系结构的特点

ARM采用RISC结构,在简化处理器结构,减少复杂功能指令的同时,提

高了处理器的速度。

ARM体系结构支持多处理器状态模式。具有如下特点:

1、低功耗、低成本、高性能

(1)采用RISC指令集;

(2)使用大量的寄存器;

(3)支持ARM/Thumb指令;

(4)3/5级流水线。

2、采用RISC体系结构

(1)固定长度的指令格式,指令归整、简单、基本寻址方式有2-3种;

(2)使用单周期指令,便于流水线操作执行。

(3)大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。同时,为了进一步提高

指令和数据的存取速度,RISC处理器增加了指令高速缓冲(I-Cache)和数据高速缓冲(D-Cache)及多处理器结构,使指令的操作尽可能在寄存器之间进行。

3、大量使用寄存器

ARM处理器共有37个寄存器,均为32位。它们被分为若干个组,包括:

(1)31个通用寄存器;

(2)6个状态寄存器,用于标识CPU的工作状态及程序的运行状态,均为

32位。

4、高效的指令系统

(1)ARM微处理器支持两种指令集:ARM指令集和Thumb指令集;

(2)ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM

指令集的功能子集,但与等价的ARM代码相比,可节省30%-40%以上的存

储空间,同时具备32位代码的所有优点。

5.2 ARM体系结构

体系结构也可以称为系统结构,它是指程序员在为特定处理器编制程序

时所用到的硬件与软件资源以及它们相互间的连接关系。

体系结构最为重要的就是处理器所提供的指令系统和寄存器组。其中指

令系统又称为重中之重。主要分为CISC和RISC.

在体系结构中,还有存储器结构。目前有两种:冯.诺依曼结构和哈佛

结构。

1、冯.诺依曼结构的特点:

程序和数据共用一个存储空间;程序指令存储地址和数据存储地址指

向一个存储器的不同物理位置;采用单一的地址及数据总线;程序指令和

数据宽度相同。处理器在执行指令时,必须从存储器中取出指令解码,再

取操作数执行运算,在高速运算的时候,容易在传输通道上出现瓶颈效应。

目前使用冯.诺依曼结构的MPU和MCU有很多,如Intel806、ARM公司的ARM7、

MIPS公司的MIPS处理器等。

2、哈佛结构的特点:

程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是

两个相互独立的存储器,每个存储器独立编址、独立访问。与两个存储器

相对应的是系统中的4套总线:程序的数据总线和地址总线,数据的数据

总线和地址总线。这种分离的程序总线和数据总线可允许在一个机器周期

内同时获取指令字和操作数,从而提高了执行速度,又由于程序和数据存

储器在两个分开的物理空间中,因而取值和执行能够完全重叠。目前使用

Harvard结构的有:所有的DSP处理器、Motolora公司的MC68系列、Atmel

公司的AVR系列、ARM公司的ARM9等系列。

5.3 ARM9体系结构(重点讲ARM9TDMI内核)

ARM9TDMI是基于ARM体系结构v4版本的高端ARM核(注意:核并非芯片,

ARM核与其他部件(如RAM、ROM、片内外设)组合在一起才构成现实的芯

片)。S3C2410就是一种很常见的ARM920T芯片。ARM9TDMI是从ARM7核发

展而来的。

ARM9TDMI后缀的涵义如下:

■ T:支持高密度Thumb指令集扩展;

■ D: 支持片上调试;

■ M:支持64位乘法指令;

■ I:带Embedded ICE硬件仿真功能模块。

ARM9TDMI-S是ARM9TDMI的可综合版本(软核),对应用工程师来说,除非芯片生产厂商对ARMTDMI-S进行剪裁,否则在逻辑上ARM9TDMI-S 与ARM9TDMI没有太大区别,其编程模型与ARM7TDMI一致。

5.4 ARM体系结构的存储器格式

1、ARM处理器使用了冯.诺依曼结构,提供单一的主存接口。比如ARM7处

理器就是标准的冯.诺依曼结构。而ARM9处理器的CPU/MMU/CACHE系统是

指令和数据分开的,不过通常也还是提供单一的主存接口,因此ARM9处

理器也可以看成是哈佛结构。从大的方面讲,无论哪种ARM处理器结构,

都可以看成是冯.诺依曼结构,指令和数据共用一条32位总线,因此只有

装载、存储和交换指令可以对存储器中的数据进行访问。

ARM处理器直接支持8位字节、16位半字或者32位字的数据类型。其中

,以能被4整除的地址开始连续的4个字节构成1个字,字的数据类型为4

个连续的字节。从偶数地址开始连续的2个字节构成一个半字,半字的数

据类型为2个连续的字节。ARM指令的长度刚好是1个字,Thumb指令的长

度刚好是一个半字。

2、如果一个数据是以字方式存储的,那么它就是字对齐的,否则就是非

字对齐的;半字对齐同理。

3、ARM处理器将存储器看作是一个从0开始的线性递增的字节集合:

■字节0~3保存第1个存储的字;

■字节4~7保存第2个存储的字;

■字节8~11保存第3个存储的字,以次类推。

ARM处理器可以将存储器中的字以下列格式存储:

■大端(Big-endian)格式;

■小端(Little-endian)格式。

(1)地址空间

ARM结构使用232个8位字节地址空间,字节地址的排列从0~232-1。

地址空间也可以看作是包含230个32位字,地址以字为单位进行分配。

也就是将地址除以4,地址为A的字包含4个字节,地址分别为A、A+1、A+2

和A+3。

与此同时,地址空间还可被看作包含231个16位半字,地址按照半字进

行分配。地址为A的半字包含2个字节,废止分别为A和A+1。

通常地址计算通过普通的整数指令来实现。这意味着如果地址向上或

向下溢出地址空间,通常会发生翻转,也就是说计算的结果以232为模。如

果地址的计算没有发生翻转,那么结果仍然位于0~232-1范围内。

一般来说,大多数指令都是通过指令所指定的偏移量与PC值相加并

将结果写入PC来计算目标地址。如果用公式:

PC+偏移值 = [ ( 当前程序执行位置 ) +8 ] + 偏移量

来确定溢出地址空间,那么该指令依赖于地址的翻转。由此可见,在技术

上是不可预测的,因此程序应保证穿过地址0xFFFF FFFF的向前转移和穿

过地址0x0000 0000的向后转移的情况都不发生。

另外,正常连续执行的指令实际上是通过“(当前程序执行位置)

+4”来确定下一条将要执行的指令。如果该计算溢出了地址空间的顶端,

结果同样不可预测。换句话说,程序不应在地址0xFFFF FFFC出指令之后

连续执行位于地址0x0000 0000的指令。

LDR、LDM、STR和STM指令在增加的地址空间访问一连串的字,每次装载或保存,存储器的地址都会加4。如果计算溢出了地址空间的顶端,结

果是不可预测的。换句话说,程序应保证在使用这些指令时不使其溢出地

址空间的顶端。

注意:上述原则不只适用于执行的指令,还包括条件代码检测失败的指令

。大多数ARM在当前执行的指令之前执行预取指令,如果预取操作溢出了

地址空间的顶端,则不会产生执行动作并导致不可预测的结果,除非预取

的指令实际上已经执行。

(2)存储器格式

地址空间要求字地址A的规则如下:

■位于地址A的字包含的字节位于地址A、A+1、A+2和A+3;

■位于地址A的半字包含的字节位于地址A和A+1;

■位于地址A+2的半字包含的字节位于地址A+2和A+3;

■位于地址A的字包含的半字位于地址A和A+2。

但是这样并不能完全定义字、半字和字节之间的映射,存储器系统使

用下列2种映射机制中的一种。

①小端存储器系统:

在小端格式中,一个字当中最低地址的字节被看作是最低位字节,

最高地址的字节被看作是最高位字节,因此存储器系统字节0连接到数据

线7~0,如图所示

②大端存储器系统:

在大端格式中,ARM处理器将最高位字节保存在最低地址,最低字节

保存在最高地址。因此存储器系统字节0连接到数据线31~24,如图所示

ARM指令集不包含任何直接选择大小端存储器格式的指令,但是一个

同时支持大小端存储器格式基于ARM的芯片可以通过硬件配置(一般使用

芯片的引脚来配置)来匹配存储器系统所使用的规则。如果芯片有一个

标准系统控制的协处理器,系统控制协处理器寄存器1的bit7可用于改变配置。

注意:小端存储模式是ARM9处理器的默认模式。在某些用途中,小端与INTEL的兼容,大端与MOTOROLA的兼容。

如果一个基于ARM芯片将存储器系统配置为其中一种存储器格式(

如小端),而实际连接的存储器系统配置为相反的格式(如大端),那

么只有以字为单位的指令取指、数据装载和数据保存能够可靠实现,其

他的存储器访问将出现不可预期的结果。

当标准系统控制协处理器连接到支持大小端的ARM处理器时,协处理

器寄存器1的bit7在复位时清零,这表示ARM处理器在复位后立即配置为小端存储器系统。如果它连接到一个大端存储器系统,复位处理程序要

尽早做的事情之一就是切换到大端存储器系统,并且必须在任何可能的

字节或半字数据访问之前或Thumb指令执行之前执行。

3)非对齐的存储器访问

ARM结构通常期望所有的存储器访问都合理对齐,具体就是字访问的

地址通常是字对齐的,而半字访问的地址是半字对齐的。不按这种方式

对齐的存储器访问,称为非对齐的存储器访问。

①非对齐的指令取指:

如果在ARM状态下将一个非字对齐的地址写入R15(PC),结果通常不

可预测。如果在Thumb状态下将一个非半字对齐的地址写入R15(PC),

地址位bit0通常被忽略。结果在ARM状态下有效代码从R15(PC)读出值的bit[1:0]为0,而在Thumb状态下读出的R15(PC )值的bit0为0。

当规定忽略这些位时,ARM实现不要求在指令取指时将这些位清零。

可以将写入R15的值不加改变地发送到存储器,并在ARM或Thumb指令取指时请求系统忽略地址位bit[1:0]或bit0。

5.5 ARM流水线结构

ARM处理器使用流水线来增加处理指令流的速度,这样可使几个操作

同时进行,并使处理和存储器之间的操作更加流畅、连续,能提供1.1 MIPS/MHz的指令执行速度。

相比ARM7(3级流水线),ARM9增加了2个功能部件分别访问存储器并

写回结果,且将读寄存器的操作转移到译码部件上,使流水线各部件在

功能上更平衡。

5级流水线如图所示(其中PC为程序计数器),流水线使用5个阶段,因此指令分为5个阶段执行。

(1)取指:从存储器装载一条指令;

(2)译码:识别将要被执行的指令,并且从寄存器组取得所需的操作数;(3)执行:处理指令,产生ALU运算结果或产生存储器地址(对于存储

器访问指令来讲);

(4)访存:访问数据存储器;

(5)回写:将执行结果写回寄存器。

5.6 ARM的模块、内核和功能框图

5.7 ARM处理器状态

嵌入式系统在某些应用场合对存储成本或空间要求比较苛刻,为了让用户更好地控制代码量,于是设计了2套指令系统,分别为ARM指令集和Thumb指令集。其中ARM指令集为32位(字)长度,具有最完整的功能;Thumb指令集为16位(半字)长度,能实现ARM指令集的大部分功能。

在功能上可以认为Thumb是ARM指令集的子集。但其却具有极高的代码

密度(平均缩减30%的代码量)。既然ARM处理器共存2种指令集,那么到

底何时执行ARM指令集,何时执行Thumb指令集呢?ARM处理器有2个处理

器状态与这2套指令集分别对应。

以“当前程序状态寄存器CPSR”中的控制位T反映处理器正在操作的

状态,即哪种指令集正在执行。

当T=0时,处理器处于ARM状态,执行ARM指令;

当T=1时,处理器处于Thumb状态,执行Thumb指令。

由此可见,ARM处理器的2种操作状态分别为:

■ ARM状态:32位,处理器执行字方式的ARM指令,处理器在系统上电时默认为ARM状态;■ Thumb状态:16位,处理器执行半字方式的Thumb指令。

注意:ARM和Thumb状态间的切换并不影响处理器模式或寄存器内容。

只有当处理器处于ARM状态时,ARM指令集才有效,反之只能使用

Thumb指令集。当处理器处于Thumb状态,处理器“只能”执行16位的

Thumb指令;也就是说,无论处理器处于何种状态,ARM指令集与Thumb

指令集不能同时混合使用。

从一个ARM例程调用另一个Thumb例程时,内核必须切换状态,反之亦

然。下面使用BX分支指令将ARM内核的操作状态在ARM和Thumb之间进行切

换,见程序清单:

注意:BX指令是在程序跳转的同时进行状态切换。前面提到,在程序发

生跳转时流水线会被清空,所以使用BX指令进行状态切换后,流水线中

按原来处理器状态进行取指和译码的指令(与当前处理器状态不符的指

令)会被清除,也就不会引起处理器的错误。之后会介绍一条可以直接

修改CPSR/SPSR寄存器的“MSR—写状态寄存器指令”,通过它来修改T位

可以实现状态切换;但是,因为它不会清空流水线,所以这种方法是不

安全的。因此强烈推荐使用BX指令进行安全的状态切换。

5.8 ARM处理器模式

ARM处理器共支持7种处理器模式,并以当前程序状态寄存器CPSR中

的控制位M[4:0](注:程序状态寄存器格式P38)反映处理器正在操作的

模式,如下表所示,除了用户(user,usr)模式之外的其他6种处理器模

式称之为特权(privileged)模式,它们分别是系统(system,sys)模

式和异常模式。其中,管理(supervisor,svc)模式、中止(abort,abt

)模式、未定义(undefined,und)模式、中断(interrupt request,

irq)模式及快速中断(fast interrupt request,fiq)模式都是异常模

式。

每一种异常与处理器的一种模式相对应,一旦应用程序发生特定的异

常中断时,处理器便进入相应的异常模式,处理器内核立即跳转到向量

表中的某个入口地址,执行相应的处理程序。与此同时,在每一种异常

模式中都有对应的寄存器,供相应的异常处理程序使用,从而可以保证

处理器在进入异常模式时,用户模式下的寄存器不被破坏。

究竟何时进入异常模式,具体规定如下:

■处理器复位之后进入管理模式,操作系统内核通常处于管理模式;

■当处理器访问存储器失败时,进入数据访问中止模式;

■当处理器遇到不支持的指令时,进入未定义模式;

■中断模式与快速中断模式分别对ARM处理器两种不同级别的中断作出响应。

5.9 ARM内部寄存器

在ARM处理器内部共有37个用户可访问的32位寄存器,其中有6个32

位宽的状态寄存器目前只使用了其中12位。37个寄存器分别为:

■ 31个通用32位寄存器:R0 ~ R15、R13_svc、 R14_svc、R13_abt、R14_abt、R13_und、R14_und、 R13_irq、R14_irq、R8_fiq、R9_fiq、R10_fiq、R11_fiq、 R12_fiq、R13_fiq、R14_fiq;

■ 6个状态寄存器:CPSR、SRSR_svc、SPSR_abt、SPSR_und、SPSR_irq、SPSR_fiq。

注意:这些寄存器不能在同一时间同时被访问,究竟何时才能访问上述寄存器完全取决于处理器状态和处理器模式。

5.9.1 ARM状态下的寄存器

1、各种模式下实际访问的寄存器:

寄存器文件包含了程序员实际能访问的所有寄存器,但是究竟哪些寄

存器对程序员来说当前是可用的,则完全取决于当前的处理器模式。因

此,在各种处理器模式下,程序员实际能访问的寄存器的权限是完全不

一样的。

在ARM状态中,可在任何时候同时访问R0 ~R15这16个通用寄存器和1

个或2个状态寄存器(CPSR和SPSR)。用户模式与系统模式具有完全相同

的寄存器,其中R0~R7为所有模式所共享的通用寄存器。具有特殊用途

的寄存器R13(堆栈指针SP)、R14(链接寄存器LR)、R15(程序计数器

PC)尽管也可以作为通用寄存器来使用,但由于程序编译器通常认为R13

始终指向一个有效的堆栈结构,所以一定要注意将R13当作通用寄存器来

使用是非常危险的。在特权模式中,可以访问与模式相关的寄存器组。

2、一般的通用寄存器:

寄存器R0~R7为保存数据或地址值的通用寄存器,这是因为在任何

处理器模式下,R0~R7 中的每一个寄存器都是同一个32位物理寄存器

(未分组寄存器)。

寄存器R0~R7是完全通用的寄存器,不会被体系结构作为特殊的用

途,并且可用于任何使用通用寄存器的指令。

寄存器R8~R14所对应的物理寄存器取决于当前的处理器模式,几乎

所有允许使用通用寄存器的指令都允许使用寄存器R8~R14。寄存器R8~

R12有2组不同的物理寄存器,如下表所列。

其中,一组用于除FIQ模式之外的所有寄存器模式(R8~R12),另

一组用于FIQ模式(R8_fiq~R12_fiq)。在进入FIQ模式后就不必为保护

寄存器而浪费时间,程序可以直接使用R8_fiq~R12_fiq来执行操作了,

从而实现快速的中断处理。

寄存器R13和R14分别有6个不同的物理寄存器,其中的一个是用户模

式和系统模式共用的,其余的5个分别对应于其他5种异常模式。

CPSR与SPSR相互之间的关系:

■当一个特定的异常中断发生时,将CPSR的当前值保存到相应异常模式下的SPSR,然后设置CPSR为相应的异常模式;■从异常中断程序退出返回时,可通过保存在SPSR中的值来恢复CPSR。

注意1:当通过程序直接改写CPSR来切换模式时,CPSR不会被保存到SPSR

,因此只有发生异常或者中断时,才需要将CPSR备份到SPSR。

注意2:根据ATPCS规定(规定了子程序间调用的基本规则),子程序中

的局部变量使用内部寄存器R4~R11来保存(Thumb状态为R4~R7,如果

寄存器不够用则存放在内存中)。因为这些寄存器都是32位的,所以程

序处理32位长度的变量时效率最高。如果把局部变量定义为8位或者16位

,它们也独占着一个32位寄存器,非但没有减少寄存器的使用量,还会

导致编译器使用额外的指令来限定变量的内容。比如,使用“与”指令

来屏蔽32位寄存器中的高位。因此,在定义局部变量时请尽量定义为32

位长度的,比如用于循环计数的变量。

总结:除用户模式和系统模式共用一组分组寄存器之外,所有处理器模式

都有一组自己的分组寄存器。如果改变处理器的模式,新模式的分组寄存

器将取代原来模式的分组寄存器组。

例如,当处理器处于中断模式时,执行的指令可访问的名字仍然是

R13和R14寄存器,但实际上是访问分组寄存器R13_irq和R14_irq,而用户

模式下的R13_usr和R14_usr不会受到任何影响,程序仍然可以正常访问R0

~R12寄存器。

2、一般的通用寄存器:

在汇编语言中寄存器R0~R7为保存数据或地址值的通用寄存器,对

于任何处理器模式,它们中的每一个都对应于相同的32位物理寄存器。

它们是完全通用的寄存器,不会被体系结构做为特殊的用途,并且可用

于任何使用通用寄存器的指令。

3、堆栈指针SP:

堆栈指针SP对应ARM状态的寄存器R13,Thumb指令集带有传统的PUSH

和POP指令用于堆栈操作处理,它们以“满递减堆栈”的方式来实现。

4、链接寄存器LR:

链接寄存器LR对应ARM状态寄存器R14,在结构上有2种功能。

嵌入式系统原理与应用技术

1.嵌入式系统的定义:一般都认为嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,可满足应用系统对功能、可靠性、成本、体积和功能有严格要求的专用计算机系统。 2.嵌入式系统的特征:(1)通常是面向特定应用的。具有功耗低、体积小和集成度高等特点。(2)硬件和软件都必须高效率地设计,量体裁衣,力争在同样的硅片面积上实现更高的性能,这样才能满足功能、可靠性和功耗的苛刻要求。(3)实时系统操作支持。(4)嵌入式系统与具体应用有机结合在一起,升级换代也同步进行。(5)为了提高运行速度和系统可靠性,嵌入式系统中的软件一般固化在存储器芯片中。 3.ARM嵌入式微系统的应用:工业控制、网络系统、成像和安全产品、无线通信、消费类电子产品。 4.ARM嵌入式微处理器的特点:(1)体积小、低功耗、低成本、高性能。(2)支持Thumb(16位)/ARM(32位)双指令集,兼容8位/16位器件。(3)使用单周期指令,指令简洁规整。(4)大量使用寄存器,大多数数据都在寄存器中完成,只有加载/存储指令可以访问存储器,以提高指令的执行效率。(5)寻址方式简单灵活,执行效率高。(6)固定长度的指令格式。 5.嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统、用户软件构成。 2.哈佛体系结构的主要特点是将程序和数据存储在不同的存储空间。 3.嵌入式处理器主要有四种嵌入式微处理器(EMPU)、嵌入式微控制器(MCU)、嵌入式数字信号处理器(DSP)、嵌入式片上系统(SoC) 4.ARM7采用3级流水线结构,采用冯·诺依曼体系结构;ARM9采用5级流水线结构,采用哈佛体系结构。 5.ARM处理器共有37个32bit寄存器,包括31个通用寄存器和6个状

嵌入式毕业论文:嵌入式系统的应用.doc

嵌入式毕业论文:嵌入式系统的应用 古典文学中常见论文这个词,当代,论文常用来指进行各个学术领域的研究和描述学术研究成果的文章,简称为论文。以下就是由编为您提供的嵌入式毕业论文。 一、嵌入式系统及其应用概述 嵌入式系统是以应用为中心,以计算机技术为基础,软件可编程,硬件可剪裁、重构的专用计算机系统。该系统通常嵌入在对象环境中,并通过其在对象环境下运行的特定程序,完成对外界物理参数地采集、处理,达到对控制对象地响应或人机交互的功能。 目前,嵌入式系统的发展方向主要是解决接口多样性、适应性、灵活性和集成开发环境等的特定应用问题。嵌入式系统应用的底层性与对象系统的紧耦合性是其显着的基本特征。所以,最大限度的满足对象数据采集、控制、开发环境、功耗,以及适应能力、可靠性等品质因数是选择嵌入式系统的标准。 为适应技术发展需求,嵌入系统在不断追求结构紧凑、坚固可靠、技术密集、高度分散的同时,尤以不断创新为嵌入式系统的发展核心。使嵌入系统凸现了高技术门槛,主要表现在软硬件设计的紧密相关性上,特别是构建rtos系统需透彻了解rtos 的工作机制和系统资源配制,掌握底层软件、系统软件和应用软件的设计、调试方法。

随着对嵌入式系统的智能化愈加关注,现场可编程、调试、引脚配置变得非常重要和必不可少。所以,用户可配置的sco(在片系统)已成为现阶段嵌入式系统的核心发展技术。通过现场可编程阵列把接口应用设计和系统开发留给系统设计者,提供灵活、多样的片上电路设计平台,使电路板设计变成在片的芯片配置,将嵌入系统地设计带入了软硬件的双编程时期,进一步缩短 了产品开发周期。而下一代的在片系统还将发展成一个muc数量可缩放的集合体。 在嵌入式应用系统中,虽然高端产品不断涌现,但由于应 用对象、环境的不同特点,嵌入系统的8位机产品仍因应用对象的有限响应时间、完备的集成开发环境、良好的性价比等优势仍然占据着低端应用系统的主流地位。cygnel公司的c8051f系列产品就充分印证了这点。 回顾嵌入式系统的发展历程,已经历了由模拟向数字的演进过程,现又逐步演变为数模并存情形。由最初软件编程主宰的微处理器(嵌入式微处理器、数字信号处理器、单片机),到硬编程主宰的专用集成电路时代,再到今天的现场可编配置时代。嵌入式系统的核心技术正沿着"许氏循环"的浪潮不断前行。而配套的软件设计平台也随着科技进步在不断得到完善。可以预期,软硬双可编程的嵌入式系统时代必会带来更加便捷的开发环境和 技术支持。 二、嵌入系统的设计原则

嵌入式系统原理与应用习题解析

1.8 练习题P14 1.选择题 (1)A 说明:嵌入式系统的发展趋势表现在以下几方面: 1.产品种类不断丰富,应用范围不断普及 2.产品性能不断提高 3.产品功耗不断降低,体积不断缩小 4.网络化、智能化程度不断提高 5.软件成为影响价格的主要因素 (2)D

说明:常见的嵌入式操作系统: VxWorks,Windows CE、uC/OS-II和嵌入式Linux。 (3)A 说明:VxWorks是美国WindRiver公司于1983年开发的一种32位嵌入式实时操作系统。 2.填空题 (1)嵌入式计算机 (2)微处理器外围电路外部设备 (3)板级支持包实时操作系统应用编程接口应用程序 (4)嵌入式处理器微控制器数字信号处理器 3.简答题 (1)简述嵌入式系统的定义和特点 答:定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 特点:专用性强、实时性好、可裁剪性好、可靠性高和功耗低等。(2)简述计算机系统的发展历程 第一阶段大致在20世纪70年代前后,可以看成是嵌入式系统的萌芽阶段; 第二阶段是以嵌入式微处理器为基础,以简单操作系统为核心的嵌入式系统; 第三阶段是以嵌入式操作系统为标志的嵌入式系统,也是嵌入式应用

开始普及的阶段; 第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。 (3)简述MCU和DSP的区别 MCU是微控制器,DSP是数字信号处理器。 MCU相当于小型的电脑,内部集成的CPU、ROM、RAM、I/O总线,所以集成度高是它的特点。 DSP是专用的信息处理器,内部的程序是对不同的机器和环境进行特别优化,所以处理速度是最快的。 2.4 练习题 1. 填空题 (1) ARM7 ARM9 ARM9E ARM10E ARM11 (2) 精简指令集计算机 (3) Samsung ARM920T IIC总线 (4) BGA 显卡布线 (5) 1.8V 3.3V (6) 8 128 1 (7) S3C2410 64MB 64MB 2. 选择题 (1) D (2)C (3)A (4)B (5)B (6)C (7)D (8)C (9)C (10)B

嵌入式系统的应用论文

《嵌入式系统》大作业 学号:090400106 姓名:郭艳婕 班级:计算机(2)班

嵌入式系统在机顶盒中的应用 摘要:简述嵌入式系统的概念,发展历程及其在机顶盒中的应用。 关键词:嵌入式系统;嵌入式浏览器;机顶盒 一、嵌入式系统的概念 嵌入式系统(Embedded System)是一种包括硬件和软件的完整的计算机系统,它的定义是:“嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可剪裁,适用于应用系统对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。”嵌入式系统所用的计算机是嵌入到被控对象中的专用微处理器,但是功能比通用计算机专门化,具有通用计算机所不能具备的针对某个方面特别设计的、合适的运算速度、高可靠性和较低比较成本的专用计算机系统。 二、嵌入式系统的架构 嵌入式系统作为一类特殊的计算机系统,自底向上包含有3个部分:(1)硬件环境:是整个嵌入式操作系统和应用程序运行的硬件平台,硬件平台包括嵌入式处理器和外围设备。嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。(2)嵌入式操作系统:完成嵌入式应用的任务调度和控制等核心功能。具有内核较精简、可配置、与高层应用紧密关联等特点。嵌入式操作系统具有相对不变性。(3)嵌入式应用程序:运行于操作系统之上,利用操作系统提供的机制完成特定功能的嵌入式应用。不同的系统需要设计不同的嵌入式应用程序。 三、嵌入式系统的发展历程及现状 嵌入式系统是先进的计算机技术、半导体技术、电子技术以及各种具体应用相结合的产物,是技术密集、资金密集、高度分散、不断创新的新型集成知识系统。它起源于微型机时代,近几年网络、通信、多媒体技术的发展为嵌入式系统应用开辟了广阔的天地,使嵌入式系统成为继PC和Internet之后,IT界的新技术热点。

嵌入式系统论文

浅谈嵌入式系统 摘要:在现在日益信息化的社会中,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们每个人,需要的已经不再仅仅是那种放在桌上处理文档,进行工作管理和生产控制的计算机"机器";各种各样的新型嵌入式系统设备在应用数量上已经远远超过通用计算机,任何一个普通人可能拥有从大到小的各种使用嵌入式技术的电子产品,小到mp3,PDA等微型数字化产品,大到网络家电,智能家电,车载电子设备。而在工业和服务领域中,使用嵌入式技术的数字机床,智能工具,工业机器人,服务机器人也将逐渐改变传统的工业和服务方式。 目前嵌入式系统技术已经成为了最热门的技术之一,吸引了大批的优秀人才投入其中。当今信息时代,嵌入式系统的应用无处不在,而ARM嵌入式系统应用市场份额约占75%。从嵌入式系统的基本概念入手,分别从ARM的定义、ARM微处理器、ARM开发工具及调试方法来介绍ARM嵌入式系统基础知识。接着,讨论了ARM嵌入式系统的实时性要求,介绍了目前市场上的实时多任务操作系统(RTOS)。最后,概括了ARM技术的应用领域及其产业化发展,并预测ARM技术发展的前景。 关键词:ARM 嵌入式系统嵌入式微处理器嵌入式微控制 1嵌入式系统基础 目前,在嵌入式系统应用领域中,但是这个概念并非新近才出现。从20世纪七十年代单片机的出现到今天各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了近30年的发展历史。 嵌入式系统诞生于微型机时代,嵌入式系统的嵌入性本质是将一个计算机嵌入到一个对象体系中去,这些是理解嵌入式系统的基本出发点。由于嵌入式计算机系统要嵌入到对象体系中,实现的是对象的智能化控制,因此,它有着与通用计算机系统完全不同的技术要求与技术发展方向。 通用计算机系统的技术要求是高速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大。而嵌入式计算机系统的技术要求则是对象的智能化控制能力;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。 嵌入式计算机系统则走上了一条完全不同的道路,这条独立发展的道路就是单芯片化道路。它动员了原有的传统电子系统领域的厂家与专业人士,接过起源于计算机领域的嵌入式系统,承担起发展与普及嵌入式系统的历史任务,迅速地将传统的电子系统发展到智能化的现代电子系统时代。 在中国嵌入式系统领域,比较认同的嵌入式系统概念是:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处

大工15春《嵌入式原理与开发》在线测试

大工15春《嵌入式原理与开发》在线测试2 试卷总分:100 测试时间:-- 单选题多选题判断题 包括本科的各校各科新学期复习资料,可以联系屏幕右上的“文档贡献者” 一、单选题(共10 道试题,共30 分。)V 1. 事件驱动系统指的是能够对外部事件直接影响的系统,其中不包括()A. 实时多任务 B. 中级处理器 C. 前后台 D. 多处理器 满分:3 分 2. FIQ出现异常中断时的中断向量为(),其位于中断向量表的最后 A. 0x0000000x B. 0X000000lc C. 0x000000xx D. 0x0000012x 满分:3 分 3. ARM的指令长度是32位,编码方式采用的是()进制编码方式。A. 2 B. 8 C. 10 D. 16 满分:3 分 4. 嵌入式系统是以硬件和软件组成的,其中硬件设计是以()位嵌入式处理器为核心A. 8 B. 16 C. 32 D. 64 满分:3 分 5. 哪个是不属于嵌入式操作系统应用领域的()A. 智能仪表 B. 普通玩具 C. 军事电子 D. 工控设备 满分:3 分 6. 下面四项,哪个不属于嵌入式系统硬件的基本要素()。A. 模拟电路 B. 设备驱动 C. 处理器 D. 电源 满分:3 分 7. 嵌入式系统的硬件由四部分组成,核心是()。A. 嵌入式处理器 B. 外围电路 C. 接口 D. 外部设备 满分:3 分

8. 基于ARM架构的处理器存储寻址空间为()。A. 2GB B. 4GB C. 6GB D. 8GB 满分:3 分 9. 下面四项中不属于嵌入式系统的发展趋势的是()。A. 小型化 B. 实用性 C. 人工性 D. 高速度 满分:3 分 10. 虚拟存储系统中包括三个存储空间,不属于的是()A. 内存空间 B. 虚存空间 C. 辅存空间 D. 硬件空间 满分:3 分 二、多选题(共10 道试题,共40 分。)V 1. 电源管理能够控制微处理器的三种不同的耗电的工作模式,分别是()A. 空闲模式 B. 锁存模式 C. 运行模式 D. 睡眠模式 满分:4 分 2. 嵌入式系统的特征包括下面()哪三项。A. 专用性强 B. 系统内核大 C. 较长的生命周期 D. 软件开发的非标准化 满分:4 分 3. 下面哪些属于嵌入式系统的发展趋势()。A. 联网 B. 专业化 C. 个性化 D. 精简的系统内核 满分:4 分 4. 通用寄存器可以分成哪三类()A. 处理器 B. 备份寄存器 C. 程序计数器 D. 未备份寄存器 满分:4 分 5. Thumb指令集和ARM指令集共同具有的两个特征是()。A. 有较多寄存器 B. 有较多通讯总线 C. 能对CPU状态优化 D. 对存储器的访问只能通过Load/Store指令 满分:4 分 6. 下面四项中,哪些属于我国自主研发的嵌入式操作系统()。A. WindowsCE

《嵌入式系统原理与应用》课程教学大纲.

《嵌入式系统原理与应用》课程教学大纲 一、课程基本信息 课程代码:230449 课程名称:嵌入式系统原理与应用 英文名称:Principle and Application of Embedded System 课程类别:专业课 学时:72(其中实验32学时) 学分:3.5 适用对象: 计算机科学与技术业 考核方式:考试(平时成绩占总评成绩的30%,期末考试成绩占70%) 先修课程:计算机组成原理、操作系统、编译原理 二、课程简介 嵌入式系统原理与应用是计算机科学技术专业的一门专业课,讲述嵌入式系统的基本理论、原理。本课程是一门既与硬件关系紧密,又与嵌入式操作系统、嵌入式软件关系十分紧密课程。它围绕目前流行的32位ARM处理器和源码开放的Linux操作系统,讲述嵌入式系统的概念,软、硬件组成,开发过程以及嵌入式应用程序开发设计方法。本课程的知识将为学生今后从事嵌入式系统研究与开发打下坚实的基础。The principle of embedded system is an important course of computer science and technology, which introduce the principles and the theory of embedded system.T his curriculum is tied closely with not only hardware but also embedded operating system and embedded software. It introduce the conception of embedded system, components of software and hardware, developing progresses and designing methods of embedded programming which based on the 32bit arm processor and operating system of opened linux.The knowledge of this course would be solid foundation for the student who would be engaged in researching or developing about embedded system. 三、课程性质与教学目的 嵌入式系统原理与应用课程的性质:该课程是计算机科学与技术专业的专业课。 嵌入式系统原理与应用课程的教学目的:通过对基于ARM嵌入式芯片的系统的基本组织结构与工作原理的学习,使学生对计算机系统的硬件部分有一个全面的了解,对嵌入式软件的开发过程有一个清楚的认识,通过对嵌入式操作系统的工作原理的学习,使学生对嵌入式操作系统有一个清晰的认识,提高学生在嵌入式软件设计设计能力及解决实际问题的动手能力,为后续专业课程的学习打下坚实的基础。 四、教学内容及要求 第一章嵌入式系统导论 (一)目的与要求

嵌入式系统设计论文解读

嵌入式系统设计论文 专业:电子信息工程(信号处理) 班级: 姓名: 指导教师: 评分: 年月日

【摘要】 当今信息时代,嵌入式系统的应用无处不在,而ARM嵌入式系统应用市场份额约占75%。从嵌入式系统的基本概念入手,分别从ARM的定义、ARM微处理器、ARM开发工具及调试方法来介绍ARM嵌入式系统基础知识。接着,讨论了ARM嵌入式系统的实时性要求,介绍了目前市场上的实时多任务操作系统(RTOS)。最后,概括了ARM技术的应用领域及其产业化发展,并预测ARM技术发展的前景。 关键词:嵌入式系统;ARM;微处理器;RTOS

目录 1.引言 (1) 2 .嵌入式系统 (1) 2.1 (1) 2.2 (1) 3 .ARM嵌入式系统 (2) 3.1 什么是ARM (2) 3.2 ARM (2) 3.3 ARM (3) 3.4 ARM (3) 3.5 ARM (4) 4. ARM嵌入式系统的实时性要求 (5) 4.1 嵌入式系统软件需要RTOS (5) 4.2 RTOS (6) 5.嵌入式系统的信息产业化发展 (6) 5.1 ARM (6) 5.2 嵌入式系统产业化发展 (7) 6 (7) 参考文献 (8)

1.引言 随着计算机技术、网络技术和微电子技术的深入发展,嵌入式系统的应用无处不在。 ARM是目前公认的业界领先的32位嵌入式RISC(精简指令计算机)微处理器。ARM技术日益成熟和不断发展,正在逐步渗入到我们生活的各个方面。 本文从实际出发,首先介绍嵌入式系统的基本概念,随之重点阐述了由ARM 微处理器构成的嵌入式系统(简称ARM嵌入式系统)的基础知识,最后分析了ARM技术的产业化发展过程及发展趋势。 2 .嵌入式系统 2.1 嵌入式系统的英文叫做Embedded System,是一种包括硬件和软件的完整的计算机系统,但又跟通用计算机系统不同。嵌入式系统的定义是:“嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可剪裁,适用于应用系统对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。”嵌入式系统所用的计算机是嵌入到被控对象中的专用微处理器,但是功能比通用计算机专门化,具有通用计算机所不能具备的针对某个方面特别设计的、合适的运算速度、高可靠性和较低比较成本的专用计算机系统。 2.2 嵌入式系统作为一类特殊的计算机系统,自底向上包含有3个部分,如图1所示。 (1)硬件环境:是整个嵌入式操作系统和应用程序运行的硬件平台,硬件平台包括嵌入式处理器和外围设备。嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。 (2)嵌入式操作系统:完成嵌入式应用的任务调度和控制等核心功能。具有内核较精简、可配置、与高层应用紧密关联等特点。嵌入式操作系统具有相对

AVR单片机嵌入式系统原理与应用实践——学习笔记

AVR单片机嵌入式系统原理与应用实践 学习笔记 1.AVR单片机的基本结构 1.1.单片机的基本组成 1.1.1.单片机的基本组成结构 单片机的基本组成单元 CPU 程序存储器数据存储器I/O接口 CPU与各基本单元通过芯片内的内部总线连接。 一般情况下,内部总线中的数据总线宽度(或指CPU字长)也是单片机等级的一个重要指标。 内部总线:数据总线、地址总线、控制总线。 1.1. 2.单片机的基本单元与作用 1)MCU单元 MCU单元部分包括CPU、时钟系统、复位、总线控制逻辑等电路。 CPU: 时钟和复位电路: 总线控制电路:

2)片内存储器 单片机的存储器一般分为程序存储器和数据存储器,它们往往构成互不相同的两个存储空间,分别寻址,互不干扰。 单片机的内部结构通常使用哈佛体系结构,在这种体系中采用分开的指令和数据总线以及分开的指令和数据空间,分别采用专用的总线与CPU交换,可以实现对程序和数据的同时访问,提高了CPU的执行速度和数据的吞吐量。 3)程序存储器 程序存储器用于存放嵌入式系统的应用程序。 4)数据存储器 单片机在片内集成的数据存储器一般有两类:随机存储器RAM、电可擦除存储器EEPROM。 随机存储器RAM: 电可擦除存储器EEPROM 5)输入输出端口 并行总线I/O端口: 通用数字I/O端口:

片内功能单元的I/O端口: 串行I/O 通信口: 其他专用接口: 6)操作管理寄存器 管理、协调、控制、操作单片机芯片中各功能单元的使用和运行。 1.2.ATmega16单片机的组成 1.2.1.AVR单片机的内核结构 “快速访问”意味着在一个周期内执行一个完整的ALU操作。 AVR的算术逻辑单元ALU支持寄存器之间、立即数与寄存器之间的算术与逻辑运算功能,以及单一寄存器操作。每一次运算操作的结果将影响和改变状态寄存器(SREG)的值。 ALU操作 从寄存器组中读取两个操作数 操作数被执行将执行结果写回目的寄存器 1.2.2.ATmega16的外部引脚与封装

嵌入式系统及其应用论文

软件学院 嵌入式系统及其应用 姓名: 学号: 专业:

摘要 嵌入式系统是以计算机技术为基础,以应用为中心,软硬件特点可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用特殊计算机系统。它由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。 关键词:嵌入式系统实时控制微处理技术操作系统

一、嵌入式系统的定义 嵌入式系统可以定义为:“以应用为中心,以计算机技术为基础,软硬件可裁剪,适应特定应用系统,并对功能、可靠性、成本、体积、功耗等指标严格要求的专用计算机系统”。具体系统得讲嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力和竞争力。并且它是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物。还有其必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。 二、嵌入式系统的基本特征 这些年来随着芯片技术的发展和应用的需要,使得单个芯片具有更强的处理能力,甚至使集成多种接口成为可能。随着对产品可靠性、成本、更新换代要求的提高,使得嵌入式系统逐渐从纯硬件实现和使用通用计算机实现的应用中脱颖而出,成为近年来令人关注的焦点。嵌入式系统与通用计算机系统相比,它具有以下6个显著特征: 1、内核小与多样性 系统内核小。由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。从而嵌入式系统的应用呈多种多样,已经广泛应用到社会的各个领域,如信息家、工业控制、通信和智能终端。嵌入式设备的类型也日趋多样化,有多种处理器和外围设备的支持。目前,嵌入

嵌入式系统原理与接口复习要点及思考题答案(计)

各位:根据掌握要点认真复习,后面附有作业题答案。 第1章掌握要点 1.1.1节嵌入式系统的概念 1.1.3节嵌入式系统的特点 1.3节嵌入式处理器 1.4节嵌入式系统的组成(看课件,有补充的内容) 补:1.嵌入式系统开发过程? 2.嵌入式系统调试常用的基本方法 3.交叉编译和交叉调试 4.嵌入式操作系统 第2章掌握要点 2.1节计算机体系结构分类 2.3.1节 ARM和Thumb状态 2.3.2节 RISC技术 2.3.3节流水线技术 2.4.1 ARM存储系统 2.4.2 Cache:写通、写回、读操作分配cache、写操作分配cache、工作原理、地址映像 2.4.3节 ARM存储系统 补充: (见课件) 1. ARM简介:ARM的命名方式、5种变形

2.理解片内Flash的3种编程方法。 3.理解ARM7芯片存储器存储空间分布。(8个bank,每个bank32MB)第3章掌握要点 3.1节ARM编程模式:处理器模式、处理器工作状态、寄存器组织、 异常中断 3.2节指令格式和寻址方式 3.3节指令系统:掌握和熟练应用课件所讲的指令、可编程序段 第5章掌握要点 5.1节键盘接口:行扫描法原理、掌握编写驱动程序 5.2节 LED显示器接口:理解工作原理,掌握编写驱动程序 5.5.1节 UART异步串行接口:异步通信格式、接收的4种错误类型、初始化、发送程序、接收程序 第1章作业题答案: 1.什么是嵌入式系统? ?第一种,根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。 ?第二种,嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专 用计算机系统。

嵌入式系统论文

嵌入式系统 论文 成绩评定表 嵌入式系统 论文

一.嵌入式系统的发展趋势 在信息和知识经济时代,使当今的计算机科学技术的发展会越来越深入到国民生活的方方面面,特别是高性能多核处理器、光纤与Myrinet等高速网络和高性能分布计算的标准工具更是推动了集群计算从高性能计算向高效能计算更是的转变。 而与此同时我们又面临着但如何管理调度庞大的资源集合,充分发挥每个部件的工作能力和降低系统耗能的压力,进一步如何使计算和通信无所不在并成为普通用户都能方便享用的服务,跨越移动计算、嵌入式系统、自然人机交互、软件结构等多个研究领域的普适计算技术正在发挥着作用,还存在实现上下文感知和应用无缝迁移等问题需要解决。 另一方面,利用通信、嵌入式计算和传感器等技术,人们研制出了各种具有感知、计算和通信等能力的微型传感器,通过这些无线传感器网络人们可以在任何时间、地点和任何环境条件下协作地实时监测、感知、采集网络分布区域内的各种环境或监测对象的信息,并对这些信息进行处理,获得详尽准确的信息,传送到需要这些信息的用户。因此,这种网络系统被广泛地应用于国防军事、国家安全、环境监测、交通管理、医疗卫生、制造业、反恐抗灾等领域。 综上所述,嵌入式系统正是以其组网灵活﹑可靠性高﹑抗干扰能力强﹑低功耗和网络容量大等特点在计算机应用领域发挥着显著的作用。嵌入式控制器体积小、可靠性高、功能强、灵活方便等许多优点,其应用已深入到多个领域。

如分布式光纤管道安全监测系统。众所周知,管道输送是一种经济方便的运输方式,在石油和天然气运输中具有独特优势,石油行业对长距离输油气管道安全预警系统的需求主要有以下:(1)对管道周边环境的长距离全天候的实时监控;(2)传感器采集的数据有智能信息处理的能力;(3)对新的地质环境及新的破坏手段的自适应能力。根据已有的监测系统,提出长距离输油气管线安全预警系统的实现模型,信号采集、光电转换以及PGC解调由分布式光纤光相位传感系统完成,该系统同时进行振动源定位。解调后的土壤振动信号经USB口传入一块运行嵌入式Windows XP系统的855主板,在此系统上运行的程序实现土壤振动信号的分析与破坏性行为的模式分类。分类后产生的报警信号经串口发往值守报警终端FU,FU为一块运行嵌入式Linux系统的ARM板卡。与此同时,振动片段的原始信号以及破坏性行为的识别结果将通过网口传往FST(服务器),在FST 上。每个FST接收来自8个基站的信号,即对应8个FU和8块855主板,这样,每个FST的监控距离达400Km,可实现区域级的管道安全监控与预警,通过FST 的级联可实现国家级覆盖的管道安全监控与预警。 二.BootLoader BootLoader代码是芯片复位后进入操作系统之前执行的一段代码,主要用于完成由硬件启动到操作系统启动的过渡,从而为操作系统提供基本的运行环境,如初始化CPU、堆栈、存储器系统等。BootLoader代码与CPU芯片的内核结构、具体型号、应用系统的配置及使用的操作系统等因素有关,其功能类似于PC机的BOIS程序。通常,BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的BootLoader几乎是不可能的。尽管如此,我们仍然可以对BootLoader归纳出一些通用的概念来,以指导用户特定的BootLoader设计与实现。 下面我们介绍几种常用的Bootloader: 1. ARMBoot Armboot是一个bootloader,是为基于ARM或者StrongARM CPU的嵌入式系统所设计的。它支持多种类型的Flash;允许映像文件经由bootp、、tftp 从网络传输;支持从串口线下载S-record或者binary文件;允许内存的显示及

嵌入式原理与应用复习题

一.单项选择题 1. 下面哪项为错误的说法(A) A. 冯·诺依曼结构共用数据存储空间和程序存储空间,不共享存储器总线 B. 哈佛结构有分离的数据和程序空间及分离的访问总线 C. 哈佛结构在指令执行时,取址和取数可以进行并行操作 D. 哈佛结构指令执行时效率更高 2. 下列关于/etc/fstab文件描述,正确的是(D) A. fstab文件只能描述属于linux的文件系统 B. CD_ROM和软盘必须是自动加载的 C. fstab文件中描述的文件系统不能被卸载 D. 启动时按fstab文件描述内容加载文件系统 3. ARM9和ARM7的重要区别是(A) A . ARM9带有MMU功能 B . ARM9支持Thumb指令集 C . ARM9带有Cache功能 D . ARM9是哈佛结构 4. 如果数据的存储格式是大端模式,32bit宽的数0x12345678在大端模式下的CPU 内存中的存放(假设从地址0x4000开始)。内存地址为0x4001的内容是(A) A.0x34 B.0x56 C.0x23 D.0x78 5. 文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的 写权限,下列命令正确的是(A) A.c h m o d a+x g+w e x e r1 B.c h m o d765e x e r1 C.c h m o d o+x e x e r1 D.c h m o d g+w e x e r1 6. NAND FLASH和NOR FLASH的区别正确的是(D) A. NOR的读速度比NAND稍慢一些 B.NAND 的擦除速度远比NOR的慢 C.NAND的写入速度比NOR慢很多 D.大多数写入操作需要先进行擦除操作。 7. gcc使用下列哪个选项可以查看编译的详细过程(B) A. -o B. -v C.-E D. -g 8. Boot Loader 的stage2通常使用C语言实现,以完成复杂的功能,并增加可读性 和可移植性,以下哪一步骤属于stage2的内容(D) A.为加载?Boot?Loader?的?stage2?准备?RAM?空间 B.设置好堆栈 C.硬件设备初始化 D.将?kernel?映像和根文件系统映像从?flash?上读到?RAM?空间中 9. 怎样新建一个新文件:(A) A.touch hello.c B.mk hello.c C.rm hello.c D.new hello.c 10. 在vi编辑器的命令模式中,删除一行的命令是:(B) A.yy B.dd C.pp D.xx

嵌入式系统原理及应用第三章习题

第三章软件作业习题 3、将存储器中0x400000开始的200字节的数据,传送到0x400800开始的区域。 解: AREA procedure3,CODE,READONLY ENTRY CODE32 START MOV R0,#0x400000 LDR R1,=0x400800 MOV R7,#200 LOOP LDRB R2,[R0],#1 STRB R2,[R1],#1 SUBS R7,R7,#1 BNE LOOP CEASE B CEASE END 4、编写程序,比较存储器中0x400000和0x400004两无符号字数据的大小,并且将比较结果存于0x400008的字中,若两数相等其结果记为0,若前者大于后者其结果记为1,若前者小于后者其结果记为-1。解: AREA procedure4,CODE,READONLY ENTRY CODE32 START MOV R0,#0x400000 LDR R1,[R0],#4 ;取第1个数 LDR R2,[R0],#4 ;取第2个数 CMP R1,R2 ;将两个数相比较 MOVHI R1,#1 ;R1比R2大

精选文库 MOVLO R1,#-1 ;R1比R2小 MOVEQ R1,#0 ;两个数相等 STR R1,[R0] CEASE B CEASE END 5、存储器从0x400000开始的100个单元中存放着ASCII码,编写程序,将其所有的小写字母转换成大写字母,对其它的ASCII码不做变换。 解: AREA procedure5,CODE,READONLY ENTRY CODE32 START MOV R0,#0x400000 MOV R1,#0 LOOP LDRB R2,[R0,R1] CMP R2,#0x61 ;与‘a’比较 BLO NEXT ;小于转到NEXT CMP R2,#0x7B ;0x7A为‘z’ SUBLO R2, R2,#0x20 ;小于转换 STRBLO R2,[R0,R1] ;小于保存 NEXT ADD R1,R1,#1 CMP R1,#100 BNE LOOP CEASE B CEASE END 6、编写一程序,查找存储器从0x400000开始的100个字中为0的数目,将其结果存到0x400190中。 解: AREA procedure6,CODE,READONLY ENTRY

armcotex-a8嵌入式原理与系统设计习题答案

第1章 什么是嵌入式系统 嵌入式系统是以应用为中心、以计算机技术为基础、软/硬件可剪裁、适用于对系统功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。 嵌入式系统的应用领域有哪些列举一些生活中的嵌入式系统实例。 嵌入式系统的应用领域有交通管理、工控设备、智能仪器、汽车电子、环境监测、电子商务、医疗仪器、移动计算、网络设备、通信设备、军事电子、机器人、智能玩具、信息家电等; ①网络设备: 交换机、路由器、Modem 等。 ②消费电子: 手机、MP3、PDA、可视电话、电视机顶盒、数字电视、数码照相机、数码摄像机、信息家电等。 ③办公设备: 打印机、传真机、扫描仪等。 ④汽车电子: ABS (防死锁制动系统)、供油喷射控制系统、车载 GPS 等。 ⑤工业控制: 各种自动控制设备 嵌入式系统的组成有哪些 嵌入式系统一般由硬件层,中间层,软件层三层组成。 嵌入式系统的特点有哪些 嵌入式系统有以下4个特点:系统内核小、专用性强、系统精简、实时性高。 简述嵌入式系统的发展。 嵌入式系统具有以下6个发展趋势:系统工程化、开源化、功能多样化、节能化、人性化、网络化。 常用的嵌入式处理器分为哪几类

常见的嵌入式处理器有一下四类:嵌入式微处理器、嵌入式微控制器、嵌入式 DSP 处理器、嵌入式片上系统。 嵌入式操作系统的特点有哪些 嵌入式操作系统有以下6个特点:系统内核小、专用性强、系统精简、高实时性、多任务的操作系统、需要专用开发工具和环境。 什么是实时操作系统 IEEE 实时 UNIX 分委会认为实时操作系统应具备哪些特点实时操作系统是指在限定的时间内能对过程调用产生正确的响应的操作系统。IEEE 的实时UNIX分委会认为实时操作系统应具备以下特点:异步的事件响应、切换时间和中断延迟时间确定、优先级中断和调度、抢占式调度、内存锁定、连续文件、同步。 常用的嵌入式操作系统有哪些它们各有什么特点

嵌入式原理与开发期末考试题

大连理工大学网络教育学院 2019年秋《嵌入式原理与开发》 期末考试复习题 ☆本复习题共400分。 一、单项选择题 1、嵌入式系统的发展趋势不包括()。 A.可靠性B.高速度 C.大型化D.智能性 答案:C 2、嵌入式系统的驱动层不包括()。 A.硬件抽象层HAL B.板极支持包BSP C.设备驱动程序D.设备接口 答案:D 3、S3C2410X的外部DMA请求/响应规则不包括()。 A.全服务请求B.全服务握手 C.单服务请求D.单服务握手 答案:A 4、下列有关蓝牙协议的说法中不正确的是()。 A.工作频段不通用B.适用设备多 C.抗干扰能力强D.多路方向链接 答案:A 5、I2C总线使用的传输速率是()Mb/s。 A.0-3.4 B.1-3.4 C.0-4.8 D.1-4.8 答案:A

6、嵌入式系统的硬件基本要素不包括()。 A.嵌入式处理器B.各种类型的处理器 C.模拟电路及电源D.实时操作系统 答案:D 7、从功能分类来看,()属于嵌入式软件中的应用软件。 A.嵌入式中间件B.交叉开发工具 C.维护工具D.交换机软件 答案:D 8、嵌入式操作系统选型原则不包括()。 A.市场进入时间B.可移植性 C.系统定制能力D.开发工具 答案:D 9、SPI接口信号不包括()。 A.数据发送B.数据接收 C.数据存储D.时钟 答案:C 10、液晶显示的原理是液晶在不同()的作用下会有不同的光特性。A.电压B.电流 C.电阻D.电容 答案:A 11、嵌入式系统的软件基本要素不包括()。 A.接口控制器及接插件B.引导程序 C.板级支持包D.协议栈 答案:A

嵌入式原理与应用-课程设计目的

嵌入式原理与应用课程设计任务书 (08级电气自动化01班与02班) 1.课程设计题目: 1)设计一个LED灯指示控制直流电机控制装置 使用4个LED灯指示,包括直流电机的低速转动与停转,高速转动与停转。 2)设计一个LED灯指示控制步进制电机控制装置 使用4个LED灯指示,单(单相绕组通电)四拍(A-B-C-D-A。。。)步进制电机的顺时针转动与停转,逆时针转动与停转。 3)设计一个红绿LED灯指示控制人行道过马路装置 使用7个或14个LED灯做一位或两位7段数码管管倒计时控制红绿黄灯亮,实现对人行道和车行道的控制;或用多个LED和蜂鸣器在另一个定时器的指示下控制红绿黄灯亮,实现对人行道和车行道的控制。 2.课程设计目的: 1)理解与掌握嵌入式袁智勇教材5.4节I/O端口。 2)理解嵌入式袁智勇教材6.1节中断概述。 3)理解与掌握嵌入式袁智勇教材6.3节定时器工作原理。。 4)掌握与使用周立功教程4.2节GPIO,掌握自动化流程控制的通断控制LED灯的控制编程与硬件实现。 5)掌握与使用周立功教程4.5节定时器0与定时器1,准确的使用定时器0与定时器1进行自动化流程控制直流电机的控制编程与硬件实现;步进制电机的控制编程与硬件实现;及7段数码管倒计时指示交通灯的编程与硬件实现。

6)根据上述理论与资源和嵌入式指导书2440实验182页-188页,写出该课程设计报告。 3.课程设计主要内容: 1)每两至三人一组根据该组所选的题目,可选1-2个题目,绘出该课程设计电路图和列出使用器件明细表;领取明细表器件与焊接工具。完成该 电路图的焊接。 2)每组每人根据所选的题目编写该课题程序,调试正确后,烧写到LPCARM2103模块中去;实现该课程设计。 3)使用A4纸每人结合本课程设计目的和课程设计主要内容,撰写一份设计《嵌入式原理与应用课程设计报告》;并包含课题原理论述,实现电路 与编程论述,电路图,器件明细表,实现程序,调试烧写过程,课程设 计检验测试与实现,展望联想与总结。 4.课程设计资料: 1)《嵌入式系统原理与应用技术》北京航空航天大学出版社教材袁智勇著2)《EasyARM2103教材》广州周立功单片机发展有限公司编 3)直流电机dynamo-1 程序和步进制电机motor-0程序作者指导教师刘敦放 5.课程设计提交时间: 课程设计报告和课程设计演示和设计实用工具、LPCARM2103模块及仿真器一起在2011年12月15日以前一起交给刘敦放老师。

《嵌入式系统原理与接口技术》试卷A

淮南师范学院2015 - 2016年度第一学期试卷A (闭卷) 年级、班级 学号 姓名 一、 填空题(每空2 分,共20分) 1.ARM9E 处理器采用了 5 级流水线技术。 2.ARM 核因运行的指令集不同,可有两个状态 ARM 、 Thumb ,状态寄存器CPSR 的 T 位反映了处理器运行不同指令的当前状态。 3.ARM 微处理器有 7 种工作模式其中有 6 种特权模式 5 种异常模式。 4指令ldr r0,[r0,r5,lsl #2]中第一操作数采用 立即数 寻址方式。 5.嵌入式系统的开发一般分为需求分析阶段、 规格说明阶段 、 体系结构设计 、设计硬件和软件构件阶段和系统集成和系统测试阶段。 二、 选择题(每题2 分,共20分,请将选项填入下表中。) 1.下列不属于ARM 处理器3级流水线的是 (A )取指 (B )译码 (C )执行 (D )数据缓存 2.下列不属于合理立即数的是 (A )ox12 (B )0x11220000 (C )0xff000000 (D )0x1f800000 3.下列数据类型不是ARM 处理器支持的存储数据类型是 (A )8位有符号和无符号数据 (B )16位有符号和无符号数据 (C )32位有符号和无符号数据 (D )64位有符号和无符号数据 4.下列哪一个通用寄存器作为程序计数器PC (A )R12 (B)R13 (C )R14 (D )R15 5.在CPSR 寄存器中控制IRQ 是否允许的是 (A )I (B )Q (C )F (D )T 6.ARM 处理器共有()通用寄存器 (A )5 (B )6 (C )7 (D )8 7.ARM 指令中移位操作ASR 的意思是 (A )算术左移 (B)算术右移 (C )逻辑左移 (D)逻辑右移 8.下列不属于嵌入式操作系统的特点的是 (A )可裁剪 (B )实时性强 (C )稳定性强 (D)充分利用CPU 内存管理机制 9.下列不属于case 的地址映像和变换方式的是 (A )直接印像和变换 (B )组相联地址印像和变换 (C )随机替换印像和变换 (D )全相联地址印像和变换 10.下列不属于嵌入式Linux 优势的是 (A )实时性强 (B )网络功能强 (C )内核开源 (D ) 移植性强 三、 简答题(每题6分,共30 分) 1.什么是嵌入式? 用于控制、监视或者辅助操作机器和设备的装置;嵌入到对象体系中的专用计算机系统;以应用为中心和以计算机技术为基础,软硬件可裁剪能满足应用系统对功能、可靠性、成本、体积、功耗等指标严格要求的专用计算机系统。

相关主题
文本预览
相关文档 最新文档