文档库 最新最全的文档下载
当前位置:文档库 › 嵌入式系统开发 李宥谋 答案

嵌入式系统开发 李宥谋 答案

嵌入式系统开发 李宥谋 答案
嵌入式系统开发 李宥谋 答案

嵌入式系统开发

习题1

1.什么是嵌入式系统?有何特点?

答:嵌入式系统的概念有很多种,在嵌入式系统领域中比较认同的嵌入式系统的概念是:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

嵌入式系统的特点:

⑴嵌入式系统是将先进的计算机技术、半导体技术以及电子技术与各个行业的具体应用相结合的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

⑵系统内核小。由于嵌入式系统一般是应用于小型电子装置中,系统资源相对有限,所以内核较之传统的操作系统要小得多。

⑶专用性强。

⑷系统精简。

⑸系统软件(OS)要求具有高实时性。

⑹嵌入式软件开发要走向标准化,需要使用多任务的操作系统。

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

2.嵌入式系统可以分为几层?每一层各完成哪些功能?

答:嵌入式系统由硬件层、中间层、软件层和功能层组成。

硬件层:以嵌入式微处理器为核心,存储器用以存储数据和执行代码,相关的设备接口和I/O接口,这些组成了一个嵌入式系统的基础,实现逻辑运算,算术运算等。

中间层:将系统上层软件和底层硬件进行分离,封装成标准的接口,在上层软件开发人员无需知道底层硬件的具体情况,完成的任务是底层硬件的初始化、数据的输入/输出操作、硬件的配置等功能。

软件层:主要由RTOS、文件系统、图形用户接口、网络系统和通用的组件模块组成,是软件开发的基础。

功能层:用来完成被控对象的控制功能。

3.嵌入式系统中硬件抽象层有什么特点?

答:硬件抽象层是介于硬件层与软件层之间的中间层,它将系统上层软件与底层硬件分离开来,具有以下两个特点:

⑴硬件相关性:因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软件与硬件平台之间的接口,硬件抽象层需要为操作系统提供操作和控制具体硬件的方法。

⑵操作系统相关性:不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。

4.简述嵌入式处理器的硬件组成?

答:随着集成电路集成度的不断提高,嵌入式系统板级的硬件电路模块也越来越多的集成到芯片内部,目前处理器芯片内部的电路模块组成如下:

⑴处理器内核,以CPU为核心,有的还包含MMU(存储器管理单元)、Cache(高速缓存)、ICE(在线仿真)等电路模块。

⑵ DSP/协处理器,对于多媒体处理的处理器,内部一般有DSP(数字信号处理)、浮点运算、图像加速等协处理器。

⑶ RAM/ROM,在单片机处理器中,处理器芯片内部一般集成了ROM(只读存储器)和RAM(可读可写存储器)。

⑷处理器内部控制电路,如PLL(锁相环)、复位、DMA(直接存储器存取)、中断控制器、低功耗控制、看门狗等电路。

⑸芯片内部接口电路,如GPIO(通用输入、输出)接口、I2C(双向两线制的串行总线)接口、IIS(音频总线)接口、SPI(串行外设接口)、USB(通用串行总线)接口、LCD (液晶显示)接口、ADC/DAC(模数/数模转换)、UART(通用异步收发器)、IrDA(红外接口)、CAN(控制器局域网络)总线接口、以太网接口、Timer/RTC(定时器/计数器)接口等电路模块。

5.嵌入式处理器分那几类?它们有何特点?

答:⑴嵌入式微处理器。特点:处理能力强,具有较高的性能,价格也相应较高。

⑵嵌入式微控制器。特点:主要用于嵌入式体统工业的主流,跟嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降,可靠性提高。并且价格低廉,功能优良,拥有的品种和数量最多。

⑶嵌入式DSP处理器。特点:DSP处理器是专门用于信号处理方面的处理器,在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令的执行速度。

⑷SoC片上系统。特点:①实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块

②具有极高的综合性,在一个硅片内部运用VHDL等硬件描述语言,实现一个复杂的系统

③绝大部分系统构件在系统内部,系统简洁,减少了系统的体积和功耗,提高了系统的可靠性跟设计生产效率。

6.分析目前市场上常用的几种嵌入式处理器,说明不同嵌入式处理器的各自特点?

答:目前市场上常用的嵌入式处理器有MCS51单片机,ARM处理器,MIPS处理器,PowerPC处理器,MC68000处理器,X86处理器等。

MCS51的特点是,8位CPU,片内振荡器,4KB ROM ,128KB RAM,21个特殊功能寄存器,32根I/O总线,片外可寻找范围分别为64KB的外部程序和数据,两个16位的定时/计数器,一个全双工串口接口,中断结构分为两级优先级,5个中断源,适于按位逻辑运算的处理器。

ARM处理器的特点是,体积小,功耗低,成本低,高性能,支持16/32位双指令集,在全球有众多合作伙伴。

MIPS处理器的特点是,高性能,高档次的处理器,有32位和64位的处理器,简化硬件设计,强调软硬件协同提高性能。

PowerPC处理器特点,具有优异的性能,低能量消耗,低散热量。

MC68000处理器,是一个16/32位的CISC处理器,采用32位总线和寄存器,这个结构对之后的32为产品保持兼容。

X86处理器的特点,可变指令长度的CISC处理器,允许不对齐访问存储器。

7.举例说明嵌入式处理器的性能指标?并分析对嵌入式系统的影响?

答:性能指标主要有主频,处理器字长,数据通路速度,运算速度,高速缓存和处理器的系统架构。主频,执行每条指令的时钟周期数一定,主频越高单位时间内执行的指令越多。处理器字长,处理器内部数据运算的基本位数,反映的是计算精度,以及单次处理数据的总长度;数据通路速度,读取指令数据传输计算数据的速度越高,处理器性能越好。运算

速度,用MIPS(每秒执行多少百万条指令)表示,MIPS越大,说明运算速度越快;高速缓存,突破主存访问速度的瓶颈,提高处理器的综合性能。

8.简述你对嵌入式操作系统的认识,分析嵌入式操作系统有哪些特点?

答:嵌入式操作系统EOS是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括软硬件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。

EOS是相对于一般操作系统而言的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件功能等之外,还有以下特点:

⑴可装卸性,开放性、可伸缩性的体系结构。

⑵强实时性,EOS实时性一般较强,可用于各种控制系统中。

⑶统一的接口,提供各种设备驱动接口。

⑷操作方便、简单,提供友好的图形GUI,追求易学易用。

⑸提供强大的网络功能,支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。

⑹强稳定性,弱交互性。

⑺固化代码。

⑻更好地硬件适应性,也就是良好的移植性。

9.试分析实时操作系统中可抢占型和不可抢占型有何区别?并举例说明。

答:实时操作系统可分为可抢占型和不可抢占型两类。对于基于优先级的系统而言,可抢占型的实时操作系统是指内核可以抢占正在运行任务的CPU使用权并将使用权交给进入就绪态的优先级更高的任务,是内核抢了CPU让别的任务运行。不可抢占型实时操作系统使用某种算法以决定让某个任务运行后,就把CPU的控制权完全交给该任务,直到它主动将CPU控制权还回来。

比如嵌入式操作系统uC/OS,可以根据优先级进行抢占使用CPU,优先级高的任务可以比优先级低的任务优先使用CPU。

10.简述嵌入式系统的开发过程?

答:嵌入式系统的开发过程可以分为需求分析、建立开发环境、体系结构设计、软件/硬件设计、系统集成和系统优化与测试6个阶段。如果设计的流程是从需求分析开始,然后是建立开发环境,依次进行,最后是系统优化与测试,那么就叫做自上而下的设计流程;反之就叫做自下而上的设计流程。所有的嵌入式系统设计不可避免的设计这六个阶段,更重要的是找到一个好的设计方法,目前一种比较好的设计方法是采用计算机辅助设计工具。

11. 简述在线仿真器ICE和在线调试器ICD有何区别?

答:在线仿真器ICE是一种模拟CPU的设备,能执行CPU的全部动作。采用该方式调试时,利用仿真头代替目标板上的CPU,可以完全仿真CPU的行为。

在线调试器ICD是将CPU的调试功能的引脚引出来,让外部的硬件直接连接到这些引脚上去监控整个CPU的动作。

12. 试分析嵌入式系统测试中的纯软件测试过程,举例说明实现方法。

答:纯软件测试过程是指用工具采用软件打点技术,在被测试代码中加入一些函数,这些函数用来完成数据的生成,并将数据送往目标机系统的共享内存中,同时,在目标机系统中运行一个与处理任务,用于完成这些数据的预处理,然后将处理过的数据通过目标机的串口,网口或者USB口送往宿主机测试平台。举例,可以在程序中间插入函数,读出当前所有寄存器内容,发送至目标机系统,测试者可以根据这些数据了解系统执行情况。

习题2

1.按照ARM处理器的命名规则,说明ARM7TDMI中T、D、M、I的含义。

答:T:支持16位的Thumb指令集;D:支持JTAG片上调试;M:支持长乘法操作(64位结果)的ARM指令,包含快速乘法器;I:带有嵌入式追踪宏单元ETM(Embedded Trace Macro),用来设置断点和观察点。

2.什么是哈佛结构?与普林斯顿结构有何区别?

答:哈佛结构是一种将程序中指令和数据分开存储的存储器结构。即哈佛结构中程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。

普林斯顿结构(冯·诺伊曼结构)是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置。这便是。这便是两种结构的区别。

3.什么是RSIC?什么是CSIC?简述他们的特点与差别。

答:RSIC是精简指令集计算机,CISC是复杂指令集计算机。两者的区别在于不同的CPU设计理念和方法。

对于CISC:⑴在CSIC结构的指令系统中,各种指令的使用频率相差悬殊。有80%的指令只在20%的运行时间内才会用到。

⑵CISC结构指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。

⑶在CISC结构指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术来提高系统的性能。

对于RISC:⑴简化指令集,只保留常用的基本指令;

⑵设计大量的通用存储器,减少访存的次数;

⑶采用装载/保存结构,支持流水线技术,使每个周期时间相等;

⑷采用简单的指令格式、规整的指令字长和简单的寻址方式;

⑸单机器周期指令,即大多数的指令都可以在一个机器周期内完成,并且允许处理器在同一时间内执行一系列的指令。

4.ARM7处理器是几级流水线?在ARM7处理器中,“PC指向的是下一条要执行的指

令”,这句话对吗?为什么?

答:ARM7处理器采用三级流水线。

―PC指向的是下一条要执行的指令‖,这句话不对。在ARM处理器中将PC程序计数器定义到R15寄存器,无论处理器处于何种状态,PC总是指向―正在取值‖指令的地址,一般来说,人们习惯性的约定将―正在执行的指令作为参考点‖,成为当前第一条指令,那么PC 总是指向随后的第三条指令,或者说PC总是指向当前正在执行的指令地址再加上2条指令的地址,即指向正在执行指令的下下一条指令,而不是指向下一条要执行的指令。

5.简述ARM处理器中在线仿真器模块EmbeddedICE-RT的作用。

答:ARM处理器中的在线仿真器模块EmbeddedICE-RT,一般还带有嵌入式宏跟踪单元模块ETM,实现ARM处理器的在线调试和运行过程的跟踪功能;并且具有诸多ICE功能,例如实时寻址、断点、单步、对ARM CPU的完全控制、对ASIC系统其余部分的访问,以及对主机显示器外设访问、键盘输入和磁盘存储。

6.ARM处理器的工作状态分为哪二种?ARM处理器又是怎么定义和标志的?

答:ARM处理器的工作状态分为ARM状态和Thumb状态,这两种状态有程序状态字CPSR中T标志位确定,为0时处理器工作在ARM状态,为1时处理器工作在Thumb状

态。

7.ARM7TDMI支持哪几种指令集,各有什么特点?

答:ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令集,两种指令集的特点是:

ARM指令集:处理器执行32位字对齐方式的ARM指令,每条ARM指令长度为32位,指令的功能强大。

Thumb指令集:处理器执行16位字对齐方式的Thumb指令,每条Thumb指令长度为16位,是ARM指令功能的子集。

8.ARM7处理器有哪些工作模式?如何实现不同模式之间的切换?举例说明。

答:ARM处理器供支持7种工作模式,分别为:用户模式(usr);快速中断模式(fiq);外部中断模式(irq);管理模式(svc);数据访问终止模式(abt);系统模式(sys);未定义指令中止模式(und)。在7中模式中,除用户模式外,其他的6种模式称为特权模式,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。特权模式下通过修改当前程序状态寄存器CPSR中控制位M[4:0]的值,来改变处理器的运行模式。

例如

MSR CPSR_c,#(NoInt |SVC32Mode)//从系统模式切换到管理模式

MSR CPSR_c,#(NoInt |SYS32Mode)//从管理模式切换到系统模式

9.描述ARM7处理器的内部寄存器结构,并分别说明快速中断FIQ有何特点?

答:ARM7微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。37个寄存器定义如下:

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

⑵6个状态寄存器:CPSR、SPSR_abt 、SPSR_svc 、SPSR_irq 、SPSR_fiq、SPSR_und。

快速中断FIQ,适用于对一个突发事件的快速响应,在ARM状态中,快中断有8个专用的寄存器,可以缩短状态切换时需要的时间。当CPSR中相应的F位清零,快速中断被使能。

10.什么是中断延时?在实时系统中如何计算中断延时时间?

答:中断延时是系统响应一个中断所需要的时间,即从外部中断请求信号发出到执行对应的中断服务程序ISR的第1条指令所需要的时间。

FIQ的中断延时计算,当FIQ使能时,最坏的延时包括:

a)Tsyncmax:请求通过同步器的最长时间,为两个处理器周期。

b)Tldm:最长执行时间,最长为20个周期。

c)Texc:数据中止异常进入时间,为三个周期。

d)Tfiq:FIQ进入时间,为两个周期

总的延时可为27个周期。

11.在内存的数据存储过程中,什么是“字对齐”和“半字对齐”?

答:在内存数据存储过程中,一般分为小端存储格式和大端存储格式。下面以小端存储格式为例来说明字对齐和半字对齐:

在小端存储格式中,对于地址为A的字单元,其中字节的低位字节到高位字节地址顺序为A ,A+1 ,A+2,A+3;对于地址为A的半字单元,其中字节的低位字节到高位字节地址顺序为A ,A+1。

12.简述程序计数器(PC)在处理器工作中的作用。

答:在ARM 处理器中将PC 程序计数器定义到R15寄存器,无论处理器处于何种状态,

PC 总是指向―正在取值‖指令的地址。

13. 简述ARM 处理器中的返回链接寄存器(LR )在处理器工作中的作用。

答:链接寄存器LR 用于保存子程序返回地址或者异常处理程序的返回地址,LR 寄存器

一共有6个,其中子程序的返回地址使用一个R14,每种异常模式各自有一个专用的LR 寄

存器用于保存异常处理程序的返回地址,它们分别为R14_fiq 、R14_svc 、R14_abt 、

R14_und 、R14_irq 。

14. 分别简述ARM 处理器中的CPSR 、SPSR 在处理器工作中的作用。

答:ARM 内核包含1个CPSR 和5个仅供异常处理模式使用的SPSR 。

由于所有模式全部共享一个程序状态寄存器CPSR ,因此处理器所有的状态全部都保

存在CPSR 中,也就是ARM 内核是通过CPSR 来监视和控制内部操作的。

每种异常模式都有一个对应的程序状态保存寄存器SPSR ,用于保存任务在异常发生

之前的CPSR 状态的当前值。

15. 结合CPSR 的结构,说明程序状态字中各个bit 位的作用。 N Z C V I ----------F T M4M3M2M1M0

3130292827876543210

答:⑴条件代码标志(共计4bit )含义如下:

N :运算结果的最高位反映在该标志位。对于有符号二进制补码,结果为负数时

N=1,结果为正数或零时N=0;

Z :指令结果为0时Z=1(通常表示比较结果―相等‖),否则Z=0;

C :当进行加法运算,最高位产生进位时C=1,否则C=0。当进行减法运算(包括CMP

指令),最高位产生借位时C=0,否则C=1。

V :当进行加法/减法运算,并且发生有符号溢出时V=1,否则V=0,其它指令V 不

变。

⑵CPSR 的最低8位为控制位,控制了处理器的工作方式。当发生异常时,这些位被

硬件改变。当处理器处于一个特权模式时,可用软件操作这些位。它们分别是:

中断禁止位包括I 和F 位:

当I 位置位时,IRQ 中断被禁止;

当F 位置位时,FIQ 中断被禁止。

T 位反映了处理器的当前状态:

当位T=1时,处理器正在Thumb 状态下运行;

当位T=0时,处理器正在ARM 状态下运行。

模式位包括M[4:0]共计5bit ,这些位决定处理器的操作模式

16. 简述ARM7TDMI 内部有哪些寄存器及特点。

答:ARM7微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存

器。37个寄存器定义如下:

⑴ 31个通用寄存器:R0~R15、R8_fiq 、 R9_fiq 、 R10_fiq 、 R11_fiq 、 R12_fiq 、

R13_fiq 、R14_fiq 、R13_svc 、R14_svc 、R13_abt 、R14_abt 、R13_und 、R14_und 、

R13_irq 、R14_irq 。

⑵ 6个状态寄存器:CPSR 、SPSR_abt 、SPSR_svc 、SPSR_irq 、SPSR_fiq 、

SPSR_und 。

特点:在ARM 状态中,R0~R7是通用寄存器,是不分组寄存器;R8~R14,SPSR 根据

模式进行分组的寄存器;R15是程序计数器,不进行分组;CPSR 是状态寄存器,不进行分

组。

17. 什么是ARM 处理器的异常?ARM 处理器中有哪几种异常?

答:在ARM 中,异常是一些事件,这些事件能导致正常的程序执行流程被暂时地停止,

而进入到该事件对应的处理器异常模式并对该事件进行处理。

ARM 中定义了复位、未定义指令、SWI (软中断)、预取指终止、预取数终止、irq 以

及fiq 等7种异常,与之对应地ARM7处理器有5种异常模式。

18. 分别简述ARM7的IRQ 、FIQ 异常处理过程,说明其异常向量地址。

答:IRQ 异常的处理流程如下:

⑴ 进入IRQ 异常模式。程序运行在用户模式下,当一个IRQ 异常中断发生时,内核切

换到―中断模式‖,并自动的做如下处理。

①将异常处理程序的返回地址保存到异常模式下的R14(R14_irq)中。

②用户模式的CPSR 将被保存到中断异常模式SPSR_irq 中。

③修改CPSR ,将I 置1,禁止新的IRQ 中断产生,但不改变F 值,不限制FIQ 中断发

生,清零T 标志位,进入ARM 状态,修改模式位,设置为IRQ 模式。

④将IRQ 异常中断入口向量地址0x00000018送入PC 。

⑤在IRQ 模式下,用户模式的R13和R14将不能操作,而R13_irq 和R14_irq 可以操作,

即R13_irq 保存IRQ 模式下的地址指针,R14_irq 保存了―IRQ 中断返回地址+4‖。

⑵ 退出IRQ 异常模式。中断服务程序执行完毕后,使用一条指令将返回地址送入

PC ,即可实现IRQ 中断返回,在返回过程中处理器会自动将SPSR_irq 中的内容复制到

CPSR ,恢复中断前的处理器状态。

FIQ 异常进入与退出的流程与IRQ 类似,其异常入口地址是0x0000001C 。

19. ARM7处理器对哪些异常可以进行屏蔽?如何屏蔽或允许?

答:FIQ 和IRQ 可以被屏蔽。将CPSR 的标志位I 和F 分别置位对应着IRQ 和FIQ 中断

被禁止,清零这些位又可以将其使能。

20. 说明CPSR 中T 位的作用,ARM7处理器如何切换状态?

答:CPSR 中T 标志位为0时处理器工作在ARM 状态,为1时处理器工作在Thumb 状

态。由于ARM 采用字对齐或者半字对齐的存储模式,这意味着地址的最低一个比特位就不

会在寻址过程中使用到。故,使用地址的最低位进行区分,以何种模式取值和执行指令,当

地址地位为1时,置CPSR 的T 位为1,反之,置位为0。

21. 大端存储模式和小端存储模式的含义是什么?画出在0x2000单元中存储0x87654321

数据的大端存储模式和小端存储模式。

答:大端存储模式:在大端存储格式中,对于地址为A 的字单元,其中字节的低位字节

到高位字节地址顺序为A+3,A+2,A+1,A ;对于地址为A 的半字单元,其中字节的低位

字节到高位字节地址顺序为A+1,A 。即数据的低字节存放在高地址中的顺序进行存储。

小端存储模式:在小端存储格式中,对于地址为A 的字单元,其中字节的低位字节到

高位字节地址顺序为A ,A+1 ,A+2,A+3;对于地址为A 的半字单元,其中字节的低位

字节到高位字节地址顺序为A ,A+1。即数据的高字节存放在高地址中的顺序进行存储。

0x21 0x43 0x65 0x87

0x21 0x43 0x65 0x87

0x2003 0x2000 0x2000 0x2003

上图中,左侧为大端存储模式,右侧为小端存储模式。

习题3

1、ARM7TDMI支持哪几种指令集,各有什么特点?

答:支持ARM指令集和Thumb指令集,各自特点是ARM指令集的指令是32位,执行效率高、功能全,每条指令可以根据条件执行,但是代码密度低。Thumb指令集指令是16位,在功能上是ARM指令集的子集,功能并没有降低。

2、ARM指令的寻址方式有几种?并指出下列指令中的寻址方式。

答:ARM指令的寻址方式有8种,分别为立即寻址、寄存器寻址、寄存器移位寻址、寄存器间接寻址、基址变址寻址、相对寻址、多寄存器寻址、堆栈寻址。

⑴ SUB R0, R1, R2 寄存器寻址⑵ LDR R0, [R2] 寄存器间接寻址

⑶ MVN R0, #0x0F2 立即寻址⑷ LDMIA R0, {R1-R5} 多寄存器寻址

⑸ STR R2, [R4, #0x02]!基址变址寻址⑹ LDR R1, [R2, R3] 基址变址寻址

⑺ MOV R1, R1, ROR #2 寄存器移位寻址

⑻ LDR R1, [R3], #0x04 基址变址寻址

3、简述ARM指令集中第2个操作数(operand2)的三种形式。

答:⑴常数表达方式。该常数必须对应8位位图,即常数是由一个8位的常数循环右移偶数位得到。例如:MOV R2,#100;

⑵ 寄存器方式。Operand2是Rm寄存器方式,在寄存器方式下操作数即位寄存

器中的数值。例如:SUB R0,R1,R2;

⑶ 寄存器移位方式。Rm,shift 表示将寄存器的移位结果作为操作数,但Rm值

保持不变。例如:MOV R0,R1,RRX;将R1带扩展的循环右移1位,存入R0中。

4、指出下列指令是否正确,若不正确请说明原因。

⑴ MOVS R1, 101 不正确,立即寻址方式应该是#101

⑵ MVN R1, #0x10F 正确

⑶ STMDA R11, {R2-R8}! 不正确,不能同时存储在R2和R8中

⑷ ADD R0!, R2, #4 正确

⑸ LDR R4, [R5]! 不正确,LDR是存储到单个寄存器的加载指令,而这个是两个存储器都进行存储,应该为LDR R4, [R5]

⑹ MRS PC, CPSR 不正确MRS是将CPSR传送到通用寄存器中,但这里的通用寄存器不包括R15,即PC

⑺ LDMFDS R0!, { R5-R8, R2} 正确

⑻ ADD R3, [R3], R7 不正确,ADD指令不能访问存储器

(9) LDR R11, [R15,R8] ! 正确

(10) BXS R0 正确

5、何谓ARM指令的条件码?默认的条件码是什么?举例说明ARM指令的条件码对指

令执行的影响。

答:所谓的ARM指令的―条件执行‖是指在指令码中含有本条指令的执行条件,当CPSR中的条件码标志满足时,处理器执行本条指令,否则本条指令不执行。默认是无条件执行。

比如执行指令“ANDEQ R2,R1,R3”时,如果CPSR中的Z=1时,执行R2=R1&R3,

否则不执行该指令。

6、 解释“满堆栈”、“空堆栈”、“递增堆栈”和“递减堆栈”? ARM 指令系统中是如何支持

的?

答:满堆栈:堆栈指针SP 指向最后压入的堆栈有效数据项。

空堆栈:堆栈指针SP 指向下一个待压入数据的空位置。

递增堆栈:向高地址方向生长。

递减堆栈:向低地址方向生长。

⑴满递增:堆栈向上增长,SP 指向内含有效数据项的最高栈单元。指令如LDMFA 、

STMFA 等;

⑵空递增:堆栈向上增长,SP 指向堆栈上的第一个空位置。指令如LDMEA 、STMEA

等;

⑶满递减:堆栈向下增长,SP 指向内含有效数据项的最低栈单元。指令如LDMFD 、

STMFD 等;

⑷空递减:堆栈向下增长,SP 指向堆栈下的第一个空位置。指令如LDMED 、STMED

等。

7、 试说明MOV 指令、LDR 加载指令和LDR 伪指令三者的区别。

答:MOV 指令是在寄存器间进行数据传送,影响标志位。

LDR 指令是将存储器中的数据按给定地址加载到寄存器中,不影响标志位。

LDR 伪指令是可以在一个立即数前面加等号,把一个地址写入某寄存器。

8、 解释B 指令、BL 指令与BX 指令的功能差别,并举例说明其使用方法。

答:B 指令是分支指令,BL 指令是带链接的分支指令,BX 是带状态切换的分支指令。

对于B 指令“B W AITA ”指跳转至标号W AITA 处开始执行,B 指令的跳转范围为±

32M ,对于BL 指令,实现程序跳转,并保持PC 到链寄存器LR 中,跳转范围±32M ,

举例“BL DELAY ”完成的跳转至标号DELAY 处执行,并把PC-4存入LR 。BX 指令,

带状态切换的跳转,比如“BX R0”表示跳转R0指定的地址开始执行,并查看R0[0]

位的值,如果是1,对CPSR 的T 位置位,解释目标程序为Thumb 指令,如果是0,

对CPSR 的T 位清零,解释目标程序为ARM 指令。

9、 分析下列两段程序片断的功能,试用类C 语言写出其等价功能。

答: 10、 使用ARM 汇编指令的条件执行功能,试用汇编语言实现下列两条C 代码语句。

答: 程序片断1:

CMP R 0, R1

ADDHI R0 , R0 , #1

ADDLS R1 , R1 , #1

程序片断2: CMP R0 , #10 CMPNE R1 , #20 ADDNE R0 , R0 , R1 ⑴ if(x = = y)

a =

b + c;

else

a =

b – c;

⑵ if(x = = y) && ( a = = b) c = c * 2+b; (1) if(R0 > R1) R0++; else R1++; (2)if((R0 != 10)&&(R1 != 20)) RO = R0+R1; (1) LDR R0,x LDR R1,y

LDR R2,b

LDR R3,c

CMP R0,R1

ADDEQ R4,R2,R3

SUBNE R4,R2,R3 (2) LDR R0,x LDR R1,y LDR R2,a LDR R3,b LDR R4,c CMP R0,R1 CMPEQ R2,R3, MULEQ R4,R4,#2 ADD R4,R4,R3

11、 下列代码段是实现开IRQ 中断和关IRQ 中断功能,试补齐空白处内容。

12、 如果ARM 处理器中各寄存器及存储单元参数如下图所示,试写出执行下列指令

后,各寄存器及存储单元中内容变化情况。

⑴ STMIA R13!,{R0-R3} ⑵LDMDB R13, { R0-R3}

答: 习题4

1. 什么是计算机语言?一般可以分为哪几种?各自的优缺点?

答:计算机语言是计算机可以识别、理解的语言。计算机语言分为三类:机器语言,

汇编语言和高级语言。

机器语言(Machine Language )是由0和1二进制代码表示和存储的指令与数据。

它的特点是能被机器直接识别与执行;程序所占内存空间较少。其缺点是难认、难

记、难编、易错。

汇编语言是一种面向物理层操作的计算机语言。不同的处理器类型,具有不同的

汇编语言。使用汇编语言编写程序能够直接利用硬件系统的特性(如寄存器、标志、中

断系统等),可直接对位、字节、字寄存器或存储单元、I/O 端口进行处理,同时也能

直接使用CPU 指令系统提供的各种寻址方式,编制出高质量的程序,这样的程序不但

占用内存空间少,而且执行速度快。 缺点:由于汇编语言不直接支持复杂的抽象数据

类型,在描述目标系统模型时,需要程序员自己组织各种抽象数据类型的存储方式,

使得汇编语言程序设计较高级语言困难的多,需要较多的软件开发时间,也增加了程

序设计过程中出错的可能性,程序维护也麻烦。

高级语言(High Level Language )是脱离具体机器(即独立于机器)的通用语言,

不依赖于特定计算机的结构与指令系统。与目标系统的数学模型之间有着良好的对应

关系,可在各种机器上通用,具有很好的通用性和可移植性。缺点:处理器是不能直

接执行这种用高级语言编写的源程序,需要先将它翻译成对应的目标程序(即机器语言

程序),才能运行。

2. 简述ARM 汇编语言上机操作过程。

答:⑴设计、编辑汇编语言源程序;

⑵汇编、连接、下载到目标系统;

⑶调试运行;

3. 简述编写一个汇编语言源程序的基本步骤。

答:⑴ 分析目标系统,建立数学模型,确定算法

⑴ MRS R0,CPSR BIC R1,R0,0x80 MSR CPSR_c, R1 ⑵ MRS R1,CPSR ORR R1, R1,#0x80 MSR CPSR_c, R1 (1), [R13]←R0 [R13+4]←R1 [R13+8]←R2 [R13+12]←R3 (2), R0←[R13],R1←R1+4; R1←[R13],R1←R1+4; R2←[R13],R1←R1+4; R3←[R13],R1←R1+4;

⑵ 根据算法设计流程图

⑶合理分配寄存器,存储空间和外设资源

⑷ 根据流程图编写源程序

⑸ 上机调试程序

⑹ 形成文档

4.循环程序设计中,循环的基本结构有几种?其循环控制方法有几种?各自的应用特

点?

答:循环程序的基本结构:

⑴初始化部分:建立循环初始值。

⑵ 循环体:是循环程序的主体部分。

⑶修改部分:为执行下一次循环而修改某些参数。

⑷ 控制部分:通过判断循环结束条件是否成立,决定是否继续执行循环。

⑸ 结束处理部分:对循环结束进行适当处理,如存储结果和打印输出等。

循环程序设计中一个重要环节就是如何控制循环次数。循环控制方法:⑴用计数控制循环。特点:循环比较次数是已知的,因此可以用计数器控制循环。

⑵ 用条件控制循环。有些情况无法确定循环次数,但循环结束的条件是已知的,这时可通过循环测试结束条件是否满足的方法,条件满足结束循环,否则继续循环。

5.汇编子程序传递参数有哪几种方式?

答:⑴寄存器传递参数方式

⑵ 存储区域传递参数方式

⑶堆栈传递参数方式

6.C语言和ARM汇编语言进行程序编制时常用的开发方法有哪些?

答:使用C语言和ARM7汇编语言进行程序编制时常用的开发方法:混合编程和交叉编程。

7.简述APCS规则。

答:⑴寄存器使用规则。ARM处理器寄存器组中的{R0-R11}用来保存局部变量;{R12-R15}用于系统专用:R12用于子程序内部调用的片段寄存器;R13当前模式的堆栈指针;R14链接寄存器,保存子程序的返回地址;R15用作程序计数器。其中,由于{R4-R11}用来保存局部变量,对于遵守APCS规则的函数,在进入该函数的时候,程序员必须注意保存{R4-R11}中会被函数使用的寄存器,当返回时,再返回它们的值。

⑵ 堆栈使用规则。APCS规则中的堆栈为FD类型,也就是满递减堆栈,并且堆栈的操作是8字节对齐的,所以需要在汇编程序中用伪指令PRESERVE8来告诉连接器,本程序使用的堆栈是字节对齐的。

⑶参数传递规则。ARM7处理器寄存器组中{R0-R3}用于程序间的参数传递,其中R0

传递第一个参数,R1传递第二个参数,以此类推;如果参数数目超过4个,那么必须使用堆栈进行传递。

8.实现将某个寄存器中的字数据拆分成4组字节数据的功能。

答:不妨设数据在R0中,拆成的数据存放在R1~R4中,程序代码如下。

MOV R1,R0

AND R1,R1,#0xFF ;

MOV R2,R0,LSR 0x08

AND R2,R2,#0xFF

MOV R3,R0,LSR #0x08

AND R3,R3,#0xFF

MOV R4,R0,LSR 0x08

AND R4,R4,#0xFF

程序执行完之后,四组字节的数据存放在R1~R4的低八位,高24为清零

9. 实现统计任意字符串包含的字符个数的功能。(约定:字符串以0为结束标志) 答:

10. 实现10个64位有符号数的相加运算。

答: 11. 实现如下功能:已知BUF1中有N1个按从小到大顺序排列的互不相等的字符号数,

BUF2中有N2个从小到大顺序排列的互不相等的字符号数,将BUF1和BUF2中的数

合并到BUF3中,并按从小到大顺序排列且互不相等。 答:

LDR R0,string; 将一个字符串的地址放到R0中。 MOV R1,0; 将字符串结束符放R1中 MOV R3,0; 将统计长度的放入R3中 LDR R2,[R0]; 将字符串的第一个字符放入R2 count: CMP R2,R1; 将R2中内容与结束符0进行比较 BEQ next; 如果相等,说明比较结束 ADD R3,R3,#1; 如果不等长度值加1 LDR R2,[R0+#1];讲下一个字节装入R2 B count; 分支结构,返回至比较处,继续比较。 next: ;跳出这个算法的标号 不妨假设这10个64位数紧密排列存储在存储器中,每个64位数占用8个字节的内存空间,按小端模式存放,首地址为sp LDR R0,SP; LDR R1,[R0]; LDR R2,[R0, #-4]; MOV R3,#9; count : CMP R3,#0; BEQ next; LDR R4,[R0, #-8]; ADC R1,R1,R4; LDR R5,[R0, #-12]; ADD R2,R2,R5; SUB R0,R0,#8; SUB R3,R3,#1 CLR C; next: 目标达到,10个数相加的结果高32位放在R1中,低32位放在R2中。 AREA COPY ,CODE,READONL Y

ENTRY

CODE32

start

LDRB R2,=BUF1

LDRB R3,=BUF2

LDRB R4,=BUF3

LDR R5,=N1

LDR R6,=N2

ADD R5,R5,R6

MOV R1,#0

BL LOOP

stop

MOV R0,#0x18

LDR R1,=0x20026

SWI 0x123456

LOOP

CMP R5,R1

BEQ stop

LDRB R0,[R2]

LDRB R6,[R3]

CMP R0,R6

BLS COPY1

BHI COPY2

COPY1

LDRB R0,[R2],#1

STRB R0,[R4],#1

ADD R1,R1,#1

CMP R0,#0

BEQ LOOP

COPY2

LDRB R0,[R3],#1

STRB R0,[R3],#1

ADD R1,R1,#1

CMP R0,#0

BEQ LOOP

AREA COPYDATA,DATA,READWRITE BUF1 DCB "whos speaking",0

BUF2 DCB "this is ",0

BUF3 DCB "A",

N1 DCD 8

N2 DCD 6

习题5

1、什么是存储器映射?简述LPC2000系列处理器中各种资源是如何映射的?

答:将物理存储器分配到逻辑地址的过程称为存储器映射。LPC2000系列处理器中的存储器映射空间范围为:0x00000000-0xFFFFFFFF,起始地址依次为:FLASH—0x00000000,SRAM—0x40000000,BOOTBLOCK—0x7FFFE000,外部存储器0x80000000,VPB(低速外设地址)—0xE0000000,AHB—0xF0000000.

2、什么是重映射?试分析重映射的原理与实现机制。

答:存储器重映射:将已经映射过的存储器再次映射的过程称为存储器重映射,它使同一物理存储单元映射多个不同的逻辑地址。原理:此时运用了异常向量表重映射技术,就是将Boot Block的0x7FFFE000~0x7FFFE03F,片内SRAM的0x40000000~0x4000003F及片外存储器的0x80000000~0x8000003F向量表分别重映射到0x0000~0x003F地址空间。实现机制:使用存储器映射控制机制来改变0x0000~0x003F区间的中断向量映射关系,比如LPC2000提供了一个存储映射控制寄存器MEMMAP,可以被读写,低两位为00、01、10、11时分别重映射Boot Block、片内Flash、片内SRAM和片外存储器。

3、什么是中断?叙述中断处理过程。

答:计算机在执行正常程序过程中,当出现某种异常事件或某种外部请求时,处理器就暂停执行当前的程序,而转去执行对异常事件或某种外部请求的处理操作。当处理完毕后,CPU再返回到被暂停执行的程序,继续执行,这个过程称为中断。

中断处理过程一般包括五个步骤:中断请求,中断响应,断点保护,中断处理和中断返回。

4、ARM7的中断类型有哪些?哪种方式最快?当有多个中断源同时向CPU发出中断申请

时,CPU依据什么来进行响应中断?

答:根据中断源的不同,中断可以分为硬件中断和软件中断。有三类:非向量IRQ中断,向量IRQ中断,FIQ中断。它们的优先级依次升高。所以FIQ中断的处理速度最快。

当多个中断源同时向CPU发出中断申请时,CPU只能按一定的次序处理相应和处理,这个响应的次序称为中断优先级。处理原则为:

⑴不同优先级的多个中断源同时发出中断请求,按优先级由高到低依次处理。

⑵ 低优先级中断正在处理,出现高优先级请求,应转去处理高优先级请求,服务结束后再返回原优先级较低的中断服务程序继续执行。

⑶高优先级中断正在处理,出现低优先级请求,可暂不响应。

⑷ 中断处理时,出现同级别请求,应在当前中断处理结束以后再处理新的请求。

5、LPC2000系列有那些降低功耗的方法?简述空闲模式和掉电模式的区别。

答:降低功耗的方法有空闲模式和掉电模式。除了采用这两种模式外,还允许程序对某个外设进行关闭控制,可以独立的关闭应用中不需要的外设,这样进一步降低功耗。

空闲模式和掉电模式的区别:在空闲模式下,处理器停止执行指令,此时处理器,存储器,内部总线以及相关的控制器不再消耗功率,但整个系统的时钟仍然有效,外设也能在空闲模式下继续工作,并可产生中断使处理器恢复运行。然而在掉电模式下,振荡器关闭,这样芯片内部没有任何时钟。处理器状态和寄存器,外设寄存器,内部SRAM值以及引脚的逻辑电平在掉电模式下被保持。

6、简述LPC2000系列中PLL的工作原理,说明系统时钟的配置过程。

答:PLL接受的输入时钟频率范围为10~25MHz,PLL的输出时钟信号是由电流控制振荡器(CCO)分频得到的,CCO的振荡频率由“相位频率检测”部件控制,该部件会比较输

出时钟信号和CCO经过M分频后信号的相位和频率,并根据误差输出不同的电流值以控制CCO的振荡频率,CCO的输出频率经过M分频后再送给“相位频率检测”部件检测以控制CCO的振荡频率,经过反复拉锯调节过程,能够使得“相位频率检测”部件的两路输入信号频率和相位逐步接近,渐渐稳定到预期的频率值上。这种反复拉锯调节过程称为PLL锁定过程,输出频率稳定后即“锁定”成功。

其配置过程:

1.选择处理器的操作频率,选择振荡器的频率,计算M值和P值;

2.配置PLLCON使能但不连接的PLL的模式,根据P和M的值配置PLLCFG寄存器,发送PLL馈送序列,然后等待PLL锁定或中断;

3.连接PLL,发送PLL馈送序列。

7、简述LPC2000系列芯片内部向量中断控制器(VIC)的功能特点,如果定时器0作为

一个向量中断源,需要对VIC进行哪些配置?简述向量处理过程。

答:向量中断控制器(VIC)负责管理芯片的中断源,最多可管理32个中断输入请求,16个向量IRQ中断和1个非向量中断,16个优先级可动态分配给中断请求,可产生软中断。VIC为每一个中断分配中断通道号,通道号就是每一种中断源的唯一标识,中断到来时,根据VIC通道号就能确定中断源。

1.配置中断选择寄存器VICIntSelect,中断通道4分配为IRQ中断;

2.配置寄存器VICVectAddr0,确定定时器0中断的服务程序地址;

3.配置寄存器VICVectCntl0,向量IRQ通道0控制寄存器位分配位数值;

4.配置中断时能寄存器,使能中断。

8、FIQ、IRQ有什么不同?向量IRQ和非向量IRQ有什么不同?

答:快速中断请求FIQ要求具有最高优先级。

向量IRQ具有中等优先级,该级别可分配32个请求中的16个,32个请求中的任意一个都可分配到16个向量IRQ slot中的任意一个,其中slot()具有最高优先级,而slot15则为最低优先级。

非向量IRQ的优先级最低。

习题6

1.简述LPC2000系列芯片的引脚设置寄存器PINSEL0、PINSEL1、PINSEL2的具体功

能。

答:这三个寄存器的主要功能是实现对引脚的功能选择。具体来说PINSEL0和PINSEL1可以配置P0口(P0.0~P0.31)的功能,PINSEL2寄存器用来配置P1.0~P1.16引脚的功能。PINSELx的连个比特位可配置一个引脚的功能,比如以PINSEL[1:0]两个比特位的00、01、10可以配置P0.0为GPIO、TxD(UART0)、PWM1,11保留。

2.简要描述LPC2000系列芯片内部GPIO的功能特点?举例说明GPIO输入和输出的应

用。

答:GPIO(General Purpose Input/Output ports,通用输入输出接口)是用于二进制数据的输入和输出。芯片的某个引脚通过MUX1功能选择,对应PINSELx寄存器选择器功能。如果选择该引脚为GPIO那,再经MUX2中的IOxDIR对应位选择控制管脚的输入和输出方向,GPIO管脚为输入时通过IOxPIN寄存器读入,GPIO为输出时通过IOxSET和IOxCLR寄存器控制输出,实现对对应GPIO管脚的控制。

当引脚设置为GPIO输出模式时,使用IOxSET寄存器设置其从引脚输出高电平,向某

位写入1是对应引脚输出高电平,写入0无效;使用IOxCLR寄存器设置从引脚输出低电平,向某位写入0是对应引脚输出低电平。GPIO输入用于向ARM核中读入数据,GPIO输出用于输出数据。

3.LPC2000系列芯片外部中断有几种触发方式?【例6.7】中外部中断修改为EINT1,P0.5

输出控制LED,试编程实现。

答:外部中断有两类四种触发方式:边沿触发(上升沿触发或者下降沿触发),电平触发(高电平触发或低电平触发)。编程实现的代码如下:

#include "config.h"

#difine LED 1<<5 //设置P0.5控制LED,高电平LED点亮

void__irq URQ_Eint1(void)

{

uint32 i;

i = IO0SET; // 读取LED控制值

if((i&LED)==0)

IO0SET = LED; // 点亮LED

else

IO0CLR = LED; // 熄灭LED

WHILE((EXTINT &0x02) != 0) //等待EINT1恢复为高电平

{

EXTINT = 0x02; // 清除EINT1中断标志

}

VICVectAddr = 0; // 向量中断结束

}

int main(void)

{

PINSEL0 = 0x000000C0; //设置P0.3为EINT0

IO0DIR = LED; // 设置P0.5引脚为输出

EXTMODE = 0x00; // 设置EINT1为电平触发

EXTPOLAR = 0x00; // 极性寄存器-低电平有效

IO0CLR = LED; // 设置LED初态为熄灭

VICIntSelect = 0x00000000; // 设置中断类型为IRQ中断

VICDefVECAddr = (int )IRQ_Eint1; // 装载中断服务程序地址

EXTINT = 0x02; // 清除EINT1中断标志

VICIntEnable = 1<<15 //使能EINT1

while(1); //等待中断

return 0;

}

4.简述LPC2000系列芯片内部定时器的内部由哪些模块构成?各模块完成功能是什么?

答:定时器内部由三部分组成:分频与计数模块、匹配控制模块和捕获控制模块。

分频计数模块:属于基本模块,提供每个定时器捕获匹配的基本时钟,属于定时器的公共部分,可对外部接入时钟进行预分频。

匹配控制模块:比较器随时进行MR0~MR3与TC的匹配,当TC计数值与某一MRx的预置值相等时即执行MCR编程的功能。

捕获控制模块:外部触发捕获时,将当前TC值装在如CRx中。

5.采用匹配中断输出产生周期为1秒的方波。

答:

#include“config.h”

int main(void)

{

PINSEL0 = PINSEL0&(~(3<<10))|(2<<10);

T0CTCR = 0x00;

T0TC = 0;

T0PR = 199;

T0MCR = 0x02<<3;

T0MR1 = Fpclk/200;

T0EMR | = 0xC2;

T0TCR =0x01;

while(1);

return 0;

}

6.通过一个定时器中断控制多个输出接口控制LED灯分别以0.1S、0.5S和1S频率同时

闪烁,假设这三种灯分别连接P0.1、P0.2和P0.3,试编程实现上述功能。

答:程序如下:

#include“config.h”

#define led1 1<<1 //p0.1控制led1,低电平点亮

#define led2 1<<2 //p0.2控制led2,低电平点亮

#define led3 1<<3 //p0.3控制led3,低电平点亮

void __irq IRQ_Time1(void)

{ if((IO0SET&led1)==0)

IO0SET= IO0SET|led1; //关闭led1

else IO0CLR= IO0CLR&led1;//点亮led1

T0IR=T0IR|0x01;//清除MR0中断标志位

VICVectAddr=VICV ectAddr&0x00//通知VIC中断处理结束

}

void __irq IRQ_Time2(void)

{ if((IO0SET&led2)==0)

IO0SET= IO0SET|led2; //关闭led2

else IO0CLR= IO0CLR&led2;//点亮led2

T0IR=T0IR|0x02;//清除MR1中断标志位

VICVectAddr=VICV ectAddr&0x00//通知VIC中断处理结束

}

void __irq IRQ_Time3(void)

{ if((IO0SET&led3)==0)

IO0SET= IO0SET|led3; //关闭led.3

else IO0CLR= IO0CLR&led3;//点亮led3

T0IR=T0IR|0x04;//清除MR2中断标志位

VICVectAddr=VICV ectAddr&0x00//通知VIC中断处理结束

}

int main(void)

{ PINSEL0=0x00000000;//设置引脚为GPIO

IO0DIR=IO0DIR&led1;//设置led1控制口输出

IO0DIR=IO0DIR&led2; //设置led2控制口输出

IO0DIR=IO0DIR&led3; //设置led3控制口输出

IRQEnable();//IRQ中断使能

T0TC=0;//定时器设置为0

T0PR=0;//时钟不分频

T0MCR=0x01B3;//设置T0MR1,T0MR1,T0MR2匹配后复位T0TC,并产生中断

T0MR0=Fpclk/10;//0.1s定时

T0MR1=Fpclk/2; //0.5s定时

T0MR2=Fpclk; //1s定时

T0TCR=0x01;//启动定时器

VICIntSelect=0x00;//设置所有中断通道为IRQ中断

VICVectCntl0=0x20|0x04;//设置定时器0中断通道分配最高优先级

VICVectAddr0=(uint32)IRQ_Time1; //进入MR0中断

VICIntEnable=1<<0x04; //使能定时器0中断

VICVectAddr0=(uint32)IRQ_Time2; //进入MR1中断

VICIntEnable=1<<0x04; //使能定时器0中断

VICVectAddr0=(uint32)IRQ_Time3;//进入MR2中断

VICIntEnable=1<<0x04;//使能定时器0中断

while(1);//等待中断

return 0;

}

7.简述串行通信与并行通信概念。

答:串行通信是指要传输的数据的各个位,逐比特一位一位的传输方式。并行通信是指待传输的数据各位同时进行传输,如同时传输一个字节的数据。

8.简述同步通信与异步通信概念、区别。

答:异步通信是指,在传输时,必须确定字符格式及波特率,其中包含启停标志。

同步通信是指,去掉异步通信中的启停标志,尽在有效数据块开始除使用1~2个同步字符表示开始。区别主要是,异步通信不要求收发双方的时钟完全同步,同步通信要求实现位同步,同步通信每次传输的数据位数没有限制,效率比异步方式高。

9.编写一个通用的UART驱动程序。要求:

(1)PC作为上位机,运行EasyARM.exe程序,控制LPC2131实验板操作,发送数字

控制对应LED亮灭,数码管显示“0~F”,能够实现双方向通信;

(2)使用中断方式接收、发送数据;

(3)要充分利用UART的硬件接收、发送FIFO;

(4)编写的程序代码要求简洁、高效、可靠;

答:

#include "config.h"

typedef struct UartMode

{

uint8 datad;

uint8 stopb;

uint8 parity;

}UARTMODE;

uint8 rcv_buf[8];

volatile uint8 rcv_new;

void __irq IRQ_UART0(void)

{

uint8 i;

if((U0IIR&0x0F)==0x04)

rcv_new=1;

for(i=0;i<8;i++)

rcv_buf[i]=U0RBR;

VICVectAddr=0x00;

}

void UART0_SendByte(uint8 dat)

{

U0THR=dat;

}

void UART0_SendBuf(void)

{

uint8 i;

for(i=0;i<8;i++)

UART0_SendByte(rcv_buf[i]);

while((U0LSR&0x20)==0);

}

int8 UART0_Init(uint32 baud,UARTMODE set) {

uint32 bak;

if((baud==0)||(baud>115200)) return (0);

if((set.datab<5)||(set.datab>8)) return (0);

if((set.stopb==0)||(set.stopb>2)) return (0);

if(set.parity>4) return (0);

U0LCR=0x80;

bak=(Fpclk>>4)/baud;

U0DLM=bak>>8;

U0DLL=bak&0xFF;

bak=set.datab-5;

if(set.stopb==2)

bak |= 0x04;

if(set.parity!=0)

{

set.parity-=1;

bak |= 0x08;

}

bak |= set.parity<<4;

U0LCR=bak;

return (1);

}

int main (void)

{

UARTMODE set;

set.datab=8;

set.stopb=1;

set.parity=0;

rcv_new=0;

PINSEL0=0x00000005;

UART0_Init(115200,set);

U0FCR=0x81;

U0IER=0X01;

IRQEnable();

VICIntSelect=0x00000000;

嵌入式系统模拟试题及答案

学习中心/函授站_ 姓名学号 西安电子科技大学网络与继续教育学 院 2014学年下学期 《嵌入式系统》期末考试试题 (综合大作业) 题号一二三四五总分 题分2010302020 得分 考试说明: 1、大作业于2014年12月25日下发,2015年1月10日交回; 2、考试必须独立完成,如发现抄袭、雷同均按零分计; 3、答案须手写完成,要求字迹工整、卷面干净。 一、问题简述(每小题4分,共20分) 1、简述嵌入式系统的定义和组成结构。 答:嵌入式系统是以应用为中心,以计算机技术为基础,并软硬件可剪裁、功能、 ,可靠性、体积、重量、成本、功耗、成本、安装方式等方面符合要求的专用计算机系统。 嵌入式系统一般由嵌入式微处理器、存储与I/O部分、外设与执行部分、嵌入式软件等四个部分组成。 2、简单说明ARM微处理器的特点。 答:(1) 体积小、低功耗、低成本、高性能。 (2) 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼 容8位/16位器件。

(3) 大量使用寄存器,指令执行速度更快。 (4) 大多数数据操作都在寄存器中完成,通过Load/Store结 构在内存和寄存器之间批量传递数据。 (5) 寻址方式灵活简单,执行效率高。 (6) 指令长度固定。 3、简述嵌入式系统产品的设计和开发过程。 答:①在嵌入式系统的开发过程中,一般采用的方法是首先在通用PC机上的集成开发环境中编程;②然后通过交叉编译和链接,将程序转换成目标平台(嵌入式系统)可以运行的二进制代码;③接着通过嵌入式调试系统调试正确;④最后将程序下载到目标平台上运行。 要强调,选择合适的开发工具和调试工具,对整个嵌入式系统的开发都非常重要。 4、简述嵌入式系统设计中要考虑的因素。 答:在嵌入式系统的开发过程中,要考虑到实时性、可靠性、稳 定性、可维护性、可升级、可配置、易于操作、接口规范、抗干 扰、物理尺寸、重量、功耗、成本、开发周期等多种因素。 5、什么是BootLoader,了解其在嵌入式系统中作用。 答:就是启动载入或引导加载又叫自举装载。由于系统加电后需 要首先运行BootLoader这段程序,因此它需要放在系统加电后 最先取指令的地址上。嵌入式处理器的生产厂商都为其处理器预 先安排了一个在系统加电或复位后最先取指令的地址。 二、名词解释(每小题2分,共10分) 1、DSP(Digital Signal Processor),数字信号处理器,一种特别用于快速处理数字信号的微处理器。DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。 2、RTOS Real Time Operating System. 译为实时操作系统。实时系统是指一个能够在指定的或者确定的时间内,实现系统功能和对外部或内部、同步或异步事件作出响应的系统。 3、BSP设计板级支持包(BSP)的目的主要是为驱动程序提供访问硬件设备寄存器的函数包,从而实现对操作系统的支持。类似于PC机上的BIOS,是一个承上启下的软件层次。由嵌入OS和用户开发相结合取得。BSP一般是在嵌入式系统上固化存放。 4、总线竞争就是在同一总线上,同一时刻,有两个以上器件要通

孟祥莲嵌入式系统原理及应用教程部分习题答案

习题1 1. 嵌入式系统的概念的是什么?答:嵌入式系统是以应用为中心,以计算机技 术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。(嵌入式系统是嵌入式到对象体系中的,用于执行独立功能的专用计算机系统。) 2. 嵌入式系统的特点是什么? 答:系统内核小;专用性强;运行环境差异大;可靠性要求高;系统精简和高实时性操作系统;具有固化在非易失性存储器中的代码嵌入式系统开发和工作环境 4. 嵌入式系统的功能是什么?答:提供强大的网络服务小型化,低成本,低 功能;人性化的人机界面;完善的开发平台 5. 嵌入式系统的硬件平台由哪些部分组成?答:嵌入式系统的硬件是以嵌入式处理器为核心,由存储器I/O 单元电路,通信模块,外部设备必要的辅助接口组成的。 7. 嵌入式操作系统的主要特点是什么?答:体积小;实时性;特殊的开发调试环境。 8. 叙述嵌入式系统的分类。答:按嵌入式微处理器的位数分类可以分为4 位、 8 位、16 位、32 位和64 位等;按软件实时性需求分类可以分为非实时系统(如PDA), 软实时系统(如消费类产品)和硬实时系统(如工业实时控制系统)按嵌入式系统的复杂程度分类可以分为小型嵌入式系统,中型嵌入式系统和复杂嵌入式系统。 习题2 处理器和工作状态有哪些?

答:ARM犬态:此时处理器执行32位的的字对齐的ARS旨令。 Thumb犬态:此时处理器执行16位的,半字对齐的Thumb旨令 2.叙述ARM9内部寄存器结构,并分别说明R13 R14 R15寄存器的 作用。 答:共有37个内部寄存器,被分为若干个组(BANK,这些寄存器包括31个通用寄存器,包括程序计数器(PC指针)6个状态寄存器。R13用作堆栈指针,R14称为子程序链接寄存器,R15用作程序计数器。处理器的工作模式有哪些? 答:用户模式:ARM处理器正常的程序执行状态。 快速中断模式:用于高速数据传输或通道处理 外部中断模式:用于通用中断处理管理模式:操作系统使用的保护模式数据访问终止模式:当数据或指令预期终止时进入该模式,可用于虚拟存储器及存储保护 系统模式:运行具有特权的操作系统任务 未定义指令终止模式:当未定义的指令执行时进入该模式,可用 于支持硬件协处理器的软件仿真。 微处理器支持的数据类型有哪些? 答:ARM微处理器中支持字节(8位)、半字(16位),字(32 位)

嵌入式系统及应用 实验大纲

《嵌入式系统及应用》课程实验 一、实验课程的性质、目的和任务 性质:《嵌入式系统及应用》课程是自动化专业的专业基础课程,本实验课是该课程教学大纲中规定必修的实验教学内容。 目的和任务:通过实验环节来巩固和加深学生对嵌入式系统的理解,使学生掌握MCS51单片机和ARM的基本原理和应用技术。通过熟悉MCS51开发环境和ARM集成开发环境,使学生掌握嵌入式系统开发的一般规律和方法。在集成开发环境下,进行系统功能程序的编写和调试的训练,掌握嵌入式系统软硬件调试的一般方法和系统设计的能力。 二、实验内容、学时分配及基本要求

三、考核及实验报告 (一)考核 本课程实验为非独立设课,实验成绩占课程总成绩的15%,综合评定实验成绩。(二)实验报告 实验报告应包括: 实验名称 实验目的 实验内容与要求 设计思路(如:分析、程序流程图等) 实验步骤 实验代码(含必要注释) 实验结果分析 实验小结(本题调试过程中遇到的问题和解决方法、注意事项、心得体会等)注:综合型实验需写出系统功能、设计过程 实验报告的要求: 实验报告以文本形式递交,实验报告要书写规范、文字简练、语句通顺、图表清晰。 四、主要仪器设备 硬件:微型计算机;嵌入式系统开发平台。 软件:Keil C51;ADT 五、教材及参考书 教材

[1] 高锋.单片微型计算机原理与接口技术(第二版).北京:科学出版社,2007 [2] 自编.嵌入式系统及应用 参考书 [1] 王田苗.嵌入式系统设计与实例开发.北京:清华大学出版社,2003 [2] 陈赜.ARM9 嵌入式技术及Linux高级实践教程.北京:北京航空航天大学出版社,2005 [3] 李忠民等.ARM嵌入式VxWorks实践教程.北京:北京航空航天大学出版社,2006

arm嵌入式系统基础教程课后答案.doc

arm 嵌入式系统基础教程课后答案【篇一:arm 嵌入式系统基础教程习题答案周立功】 /p> 1 、举出3 个书本中未提到的嵌入式系统的例子。 答:红绿灯控制,数字空调,机顶盒 2、什么叫嵌入式系统 嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的 专用计算机系统。 3、什么叫嵌入式处理器?嵌入式处理器分为哪几类? 嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。 嵌入式微处理器(embedded microprocessor unit, empu) 嵌入式微控制器(microcontroller unit, mcu) 嵌入式dsp 处理器(embedded digital signal processor, edsp) 嵌入式片上系统(system on chip) 4、什么是嵌入式操作系统?为何要使用嵌入式操作系统? 是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实 时操作系统提高了系统的可靠性。其次,提高了开发效率,缩短了 开发周期。再次,嵌入式实时操作系统充分发挥了32 位cpu 的多任务潜力。 第二章 1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务 是什么? 项目的生命周期一般分为识别需求、提出解决方案、执行项目和结 束项目 4 个阶段。识别需求阶段的主要任务是确认需求,分析投资 收益比,研究项目的可行性,分析厂商所应具备的条件。 提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。 执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定 期监控进展,分析项目偏差,采取必要措施以实现目标。 结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系 统交接给维护人员;结清各种款项。 2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险? 在一个项目中,有许多的因素会影响到项目进行,因此在项目进行 的初期,在客户和开发团队都还未投入大量资源之前,风险的评估

嵌入式课后答案

第一章 1.简述嵌入式的定义 以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 2.举例说明嵌入式系统的“嵌入性”、“专用性”、“计算机系统”的基本特征。 按照嵌入式系统的定义,嵌入式系统有3个基本特点,即“嵌入性”、“专用性”与“计算机”。 “嵌入性”由早期微型机时代的嵌入式计算机应用而来,专指计算机嵌入到对象体系中,实现对象体系的智能控制。当嵌入式系统变成一个独立应用产品时,可将嵌入性理解为内部嵌有微处理器或计算机。 “计算机”是对象系统智能化控制的根本保证。随着单片机向MCU、SoC发展,片内计算机外围电路、接口电路、控制单元日益增多,“专用计算机系统”演变成为“内含微处理器”的现代电子系统。与传统的电子系统相比较,现代电子系统由于内含微处理器,能实现对象系统的计算机智能化控制能力。 “专用性”是指在满足对象控制要求及环境要求下的软硬件裁剪性。嵌入式系统的软、硬件配置必须依据嵌入对象

的要求,设计成专用的嵌入式应用系统。 3. 简述嵌入式系统发展各阶段的特点。 (1)无操作系统阶段:使用简便、价格低廉;(2)简单操作系统阶段:初步具有了一定的兼容性和扩展性,内核精巧且效率高,大大缩短了开发周期,提高了开发效率。 (3)实时操作系统阶段:系统能够运行在各种不同类型的微处理器上,具备了文件和目录管理、设备管理、多任务、网络、图形用户界面Graphic User Interface,GUI)等功能,并提供了大量的应用程序接口Application Programming Interface,API),从而使应用软件的开发变得更加简单。(4)面向Internet阶段:进入21世纪,Internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式技术与Internet技术的结合正在推动着嵌入式系统的飞速发展 4.简述嵌入式系统的发展趋势。 (1)新的微处理器层出不穷,精简系统内核,优化关键算法,降低功耗和软硬件成本。(2)Linux、Windows CE、Palm OS等嵌入式操作系统迅速发展。(3)嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式软硬件系统本身,同时还要提供强大的硬件开发工具和软件支持包。

嵌入式系统试题闭卷及答案

《嵌入式系统》试题 闭卷答题时间:30分钟 一、填空题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、一般而言,嵌入式系统的构架可以分为4个部分:分别是()、存储器、输入/输出和软件,一般软件亦分为操作系统相关和()两个主要部分。 2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,(),()以及片上系统。 3、操作系统是联接硬件与应用程序的系统程序,其基本功能有()、进程间通信、()、I/O资源管理。 4、从嵌入式操作系统特点可以将嵌入式操作系统分为()和分时操作系统,其中实时系统亦可分为()和软实时系统。 5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(),内核的基本服务是()。 6、嵌入式开发一般采用()方式,其中宿主机一般是指()。 7、哈佛体系结构数据空间和地址空间(),ARM7TDMI采用()的内核架构,ARM920T采用()的内核架构。 采用()级流水线结构,ARM920TDMI采用()级流水线。 9.按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix 操作系统属于()操作系统,VxWorks属于()操作系统。 10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(),M表示内嵌乘法器Multiplier,I表示(),支持在线断点和调试。 二、选择题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、要使CPU能够正常工作,下列哪个条件不是处理器必须满足的。() (A)处理器的编译器能够产生可重入代码(B)在程序中可以找开或者关闭中断(C)处理器支持中断,并且能产生定时中断(D)有大量的存储空间 2、下面哪种操作系统最方便移植到嵌入式设备中。() (A)DOS (B)unix (C)Windowsxp (D)linux 3、下面哪个选项不是SUB设备的特点。() (A)串行通信方式(B)不可热拨插 (C)分HOST、DEVICE和HUB (D)通信速率比RS232快 4、下面哪种嵌入式操作系统很少用于手机终端设备上。() (A)Symbian (B)WinCE (C)uc/os (D)linux 5、以下哪项关于SRAM和DRAM的区别是不对。() (A)SRAM比DRAM慢(B)SRAM比DRAM耗电多 (C)DRAM存储密度比SRAM高得多(D)DRM需要周期性刷新 6、uc/os操作系统不包含以下哪几种状态。() (A)运行(B)挂起 (C)退出(D)休眠 7、0x07&0x11的运算结果是。() (A)0x01 (B)0x11 (C)0x17 (D)0x07 8、以下哪种方式不是uc/os操作系统中任务之间通信方式。() (A)信号量(B)消息队列 (C)邮件(D)邮箱 9、以下哪种方式不是文件系统的格式。() (A)FAT (B)DOS (C)NTFS (D)Ext 10、在将uc/os操作系统移植到ARM处理器上时,以下哪些文件不需要修改。() (A) (B) (C) (D)OSTaskInit 三、判断题:共5小题,每小题2分,满分10分。 1、所有的电子设备都属于嵌入式设备。() 2、冯诺依曼体系将被哈佛总线所取代。() 3、嵌入式linux操作系统属于免费的操作系统。() 4、移植操作系统时需要修改操作系统中与处理器直接相关的程序。() 5、的最大通信速率为12M/S。() 简答题:共2小题,每小题10分,满分20分。 1、根据嵌入式系统的特点,写出嵌入式系统的定义。 2、试分析实时操作系统的工作状态特点及相互之间的转换。

《ARM嵌入式系统结构与编程》第二章课后答案

第2章ARM技术与ARM体系结构 1.简述ARM处理器内核调试结构原理 答:ARM处理器一般都带有嵌入式追踪宏单元ETM(Embedded Trace Macro),它是ARM 公司自己推出的调试工具。ARM处理器都支持基于JTAG(Joint Test Action Group 联合测试行动小组)的调试方法。它利用芯片内部的Embedded ICE来控制ARM内核操作,可完成单步调试和断点调试等操作。当CPU处理单步执行完毕或到达断点处时,就可以在宿主机端查看处理器现场数据,但是它不能在CPU运行过程中对实时数据进行仿真。 ETM解决了上述问题,能够在CPU运行过程中实时扫描处理器的现场信息,并数据送往TAP(Test Access Port)控制器。上图中分为三条扫描链(图中的粗实线),分别用来监视ARM核,ETM,嵌入式ICE的状态。 1.分析ARM7TDMI-S各字母所代表的含义。 答:ARM7 T D M I – S 中 ARM是Advanced RISC Machines的缩写 7是系列号; T:支持高密度16位的Thumb指令集; D:支持JTAG片上调试; M:支持用于长乘法操作(64位结果)ARM指令,包含快速乘法器;; I:带有嵌入式追踪宏单元ETM,用来设置断点和观察点的调试硬件; S:可综合版本,意味着处理器内核是以源代码形式提供的。这种源代码形式又可以编译成一种易于EDA工具使用的形式。 2.ARM处理器的工作模式有哪几种,其中哪些为特权模式,哪些为异常模式,并指出处 理器在什么情况下进入相应的模式。 答:ARM技术的设计者将ARM处理器在应用中可能产生的状态进行了分类,并针对同一类型的异常状态设定了一个固定的入口点,当异常产生时,程序会自动跳转到对应异常入口处进行异常服务。 ?1.用户模式:非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下 执行。在用户模式下,如果没异常发生,不允许应用程序自行改变处理器的工作模式,如果有异常发生,处理器不会自动切换工作模式 ?2.FIQ模式:也称为快速中断模式,支持高速数据传输和通道处理,当一个高优先

ARM嵌入式系统基础教程复习

《嵌入式系统基础教程》复习 1.什么是嵌入式系统?其特点有些什么? 答:嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。” 特点:1)是专用的计算机系统,用于特定的任务; 2)资源较少,可以裁减; 3) 功耗低,体积小,集成度高,成本低; 4)使用实时操作系统; 5) 可靠性要求更高,具有系统测试和可靠性评估体系; 6)运行环境差异大 7)大部分程序固化在ROM中; 8) 较长的生命周期; 9)嵌入式微处理器通常包含专用调试电路 2.嵌入式系统的BooTLoader的功能是什么? 答:BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。) 3.目前嵌入式操作系统有哪些? 答:1)μC/OS-II 嵌入式操作系统内核;2)VxWorks嵌入式实时操作系统;3)WinCE操作系统;4)Linux操作系统;5)Symbian操作系统 4.构造嵌入式开发环境有哪几种形式? 答:1)交叉开发环境;2)软件模拟环境;3)评估电路板 5.嵌入式系统开发的基本流程? 答:1)系统定义与需求分析; 2)系统设计方案的初步确立; 3)初步设计方案性价比评估与方案评审论证; 4)完善初步方案、初步方案实施; 5)软硬件集成测试; 6)系统功能性能测试及可靠性测试。 6.什么是可编程片上系统? 答:用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC。它是一种特殊的嵌入式系统,首先它是SOC,即由单个芯片实现整个系统的主要逻辑功能,具有一般SOC基本属性;其次,它又具备软硬件在系统可编程的功能,是可编程系统,具有可裁剪、可扩充、可升级等灵活的设计方式。 7.有时要使用Thumb技术的原因 答:(Thumb指令集是把32位的ARM指令集的一个子集重新编码后形成的一个特殊的16位指令集。)在性能和代码大小之间取得平衡,在需要较低的存储代码时采用Thumb指令系统用Thumb指令编写最小代码量的程序(能够很好的解决代码长度的问题),却取得以ARM代码执行的最好性能,可以带来低功耗,小体积,低成本。 8.ARM处理器的工作模式有哪几种? 答:1)正常用户模式(user); 2)快速中断模式(fiq); 3)普通中断模式(irq); 4)操作系统保护模式(svc)或管理模式; 5)数据访问中止模式(abt); 6)处理未定义指令的未定义模式(und); 7)运行特权级的操作系统任务的系统模式(sys)。 9.寄存器R13,R14,R15的专用功能各是什么? 答:1)寄存器R13保存堆栈指针SP;

《嵌入式系统》考试试卷及答案

《嵌入式系统》课程试卷 考试时间:__120___分钟开课学院___计算机___ 任课教师____________ 姓名______________ 学号_____________班级_______________ 一.单项选择题(2 × 20): 1下面不属于Xscale微架构处理器的主要特征有:( ) A.采用了7级超级流水线、动态跳转预测和转移目标缓冲器BTB技术(Branch Target Buffer)。 B.支持多媒体处理技术、新增乘/累加器MAC、40位累加器、兼容ARM V5TE 指令和特定DSP型协处理器CP0。 C.采用了32KB的指令Cache。 D.采用了64KB的数据Cache。 2以下不属于XScale超级流水线的流水级是( ) A.寄存器文件/移位级(FR) B.写回级(XWB) C.寄存器读取级 D.和执行级二(X2) 3 目前嵌入式系统领域中使用最广泛、市场占有率最高的实时系统是:() A. Symbian B. Windows CE C. VxWorks D. QNX 4 下面那句话的描述是不正确的?( ) A.在一个基于XScale内核的嵌入式系统中,系统在上电或复位时通常都从

地址0x00000000 处开始执行 B.引导装载程序通常是在硬件上执行的第一段代码,包括固化在固件中的 引导代码(可选)和Boot Loader两大部分。 C.在嵌入式系统中,Boot Loader不依赖于硬件实现。 D.Boot Loader就是在操作系统内核运行之前运行的一段小程序。 5 通常情况下,目标机上的Boot Loader通过串口与主机之间进行文件传输,下面不属于通常使用的传输协议的是:( ) A.modem协议 B.xmodem协议 C.ymodem协议 D.zmodem协议 6 Make预置了一些内部宏,其中$@表示:() A.没有扩展名的当前目标文件 B.当前目标文件 C.当前目标文件最近更新的文件名 D.当前目标文件最近更新的文件名 7 在Default kernel command string “root=1f03 rw console=ttyS0,115200 init=/linuxrc”中,代表根文件系统(“/”) 的设备文件主号码是什么?( ) A.1f B.03 C.ttyS0 D.115200 8 用命令dd if=/dev/zero of=ramdisk_img bs=1k count=8192创建的ramdisk_img 其空间大小为多少?( ) A.8M bit

(完整版)嵌入式系统课后答案马维华

第1章嵌入式系统概述 1,什么是嵌入式系统嵌入式系统的特点是什么 嵌入式系统概念: (1) IEEE对嵌入式系统的定义:用于控制,监视或者辅助操作机器和设备的装置. (2)一般定义:以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能,可靠性,成本,体积,功耗有严格要求的专用计算机系统. 嵌入式系统的特点: (1) 专用的计算机系统 (2) 必须满足环境要求 (3) 必须能满足对象系统的控制要求 (4) 是集成计算机技术与各行业应用的集成系统 (5) 具有较长的生命周期 (6) 软件固化在非易失性存储器中 (7) 必须能满足实时性要求 (8) 需要专用开发环境和开发工具 2,简单分析几种嵌入式操作系统的主要特点,包括嵌入式Linux,Windows CE,uCOS II 及VxWorks. (1)嵌入式Linux:有多个主流版本,根据应用需求,性能略有差别.μCLinux是Linux小型化后,适合于没有MMU的微处理器芯片而裁剪成的操作系统,μCLinux保持了传统Linux操作系统的主要特性,包括稳定,强大的网络和文件系统的支持,μCLinux裁剪了大量的Linux内核以缩小尺寸,适合像512KB RAM,1MB Flash这样小容量,低成本的嵌入式系统.RT_Linux即能兼容通常的Linux,又能保证强实时性. (2)Windows CE:开发平台主要为WinCE Platform Builder,有时也用EVC环境开发一些较上层的应用.WinCE开发难度远低于嵌入式Linux,实时性略低,常用于手机,PDA等手持设备中. (3)uCOS II:结构小巧,抢先式的实时嵌入式操作系统,具有执行效率高,占用空间小,可移植性强,实时性能好和可扩展性能等优点.主要用于小型嵌入式系统. (4) VxWorks: 集成开发环境为Tornado,Vxworks因出现稍早,实时性很强,并且内核可极微(最小8K),可靠性较高等.通常应用在通信设备等实时性要求较高的系统中. 第2章嵌入式处理器体系结构 1,具体说明ARM7TDMI的含义,其中的T,D,M,I分别代表什么 ARM7TDMI是ARM7处理器系列成员之一,采用V4T版本指令.T表示Thumb,该内核可从16位指令集切换到32位ARM指令集;D表示Debug,该内核中放置了用于调试的结构,支持片内Debug调试;M表示Multiplier,支持位乘法;I表示Embedded ICE ,内含嵌入式ICE宏单元,支持片上断点和观察点. 2,ARMV4及以上版本的CPSR的哪一位反映了处理器的状态若CPSR=0x000000090,分析系统状态.CPSR=0x000000090表示当前处理器工作于ARM状态,系统处于用户模式下. CPSR的BIT5(T)反映当前处理器工作于ARM状态或Thumb状态. 3,ARM有哪几个异常类型,为什么FIQ的服务程序地址要位于0x1C 在复位后,ARM处理器处于何种模式,何种状态 ARM的7种异常类型:复位RESET异常,未定义的指令UND异常,软件中断SWI异常,指令预取中止PABT异常,数据访问中止DABT异常,外部中断请求IRQ异常,快速中断请求FIQ 异常.在有快速中断发生时,CPU从0x1C处取出指令执行.ARM复位后处于管理模式,工作于ARM状态. 4,为什么要使用Thumb模式,与ARM代码相比较,Thumb代码的两大优势是什么

嵌入式系统试卷及答案

嵌入式系统试卷及答案

2014年上学期11级计算机专业嵌入式系统期末试卷 专业班级学号姓名___ _____ 考试时间120分钟考试方式闭卷考试成绩__________ _ 题号一二三四五六 得分 一、选择题(本大题共10个小题,每小题1分,共10分) 1、和PC机系统相比,下列哪点不是嵌入式系统所特有的:( C) A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简 2、ADD R0,R1,#3属于( A)寻址方式。 A、立即寻址 B、多寄存器寻址 C、寄存器直接寻址 D、相对寻址 3、GET伪指令的含义是:(A) A、包含一个外部文件 B、定义程序的入口 C、定义一个宏 D、声明一个变量 4、μCOS-II操作系统不属于:(C) A、RTOS B、占先式实时操作系统 C、非占先式实时操作系统 D、嵌入式实时操作系统 5、FIQ中断的入口地址是:(A) A、0x0000001C B、0x00000008 C、0x00000018 D、0x00000014 6、ARM指令集和Thumb指令集分别是(D)位的。 A、8位,16位 B、16位,32位 C、16位,16位 D、32位,16位 7、BL和BX的指令的区别是( D ) A、BL是跳转并切换状态;BX带返回的跳转并切换状态。 B、BL是带返回的连接跳转;BX带返回的跳转并切换状态。 C、BL是跳转并切换状态;BX是带返回的连接跳转。 D、BL是带返回的连接跳转;BX是跳转并切换状态。 8、Boot Loader 的启动过程是( A ) A.单阶段 B. 多阶段 C.单阶段和多阶段都有 D.都不是 9、以下说法不正确的是( B ) A 、任务可以有类型说明 B 、任务可以返回一个数值 C 、任务可以有形参变量 D 、任务是一个无限循环 10、若已定义的函数有返回值,则以下关于该函数调用叙述中错误的是(D) A、函数调用可以作为独立的语句存在

ARM嵌入式系统基础教程第二版课后习题答案

第1章嵌入式系统概述 (1)举出3个本书中未提到的嵌入式系统的例子。 答:键盘、鼠标、扫描仪。 (2)什么叫嵌入式系统? 答:嵌入到对象体系中的专用计算机应用系统。 (3)什么叫嵌入式处理器?嵌入式处理器分为哪几类? 答:嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。分为3类:1.注重尺寸、能耗和价格;2.关注性能;3.关注全部4个需求——性能、尺寸、能耗和价格。 (4)什么是嵌入式操作系统?为何要使用嵌入式操作系统? 答:嵌入式操作系统是操作系统的一种类型,是在传统操作系统的基础上加入符合嵌入式系统要求的元素发展而来的。原因:1.提高了系统的可靠性;2.提高了开发效率,缩短了开发周期。3.充分发挥了32位CPU的多任务潜力。 第2章ARM7体系结构 1.基础知识 (1)ARM7TDMI中的T、D、M、I的含义是什么? 答:T:高密度16位Thumb指令集扩展;D:支持片上调试;M:64位乘法指令;I:Embedded ICE硬件仿真功能模块。 (2)ARM7TDMI采用几级流水线?使用何种存储器编址方式? 答:3级;冯·诺依曼结构。 (3)ARM处理器模式和ARM处理器状态有何区别? 答:ARM处理器模式体现在不同寄存器的使用上;ARM处理器状态体现在不同指令的使用上。 (4)分别列举ARM的处理器模式和状态? 答:ARM的处理器模式:用户模式、系统模式、管理模式、中止模式、未定义模式、中断模式、快速模式;ARM的处理器状态:ARM状态、Thumb状态。 (5)PC和LR分别使用哪个寄存器? 答:PC:R15;LR:R14。 (6)R13寄存器的通用功能是什么? 答:堆栈指针SP。 (7)CPSR寄存器中哪些位用来定义处理器状态?

嵌入式系统及应用试题

课程名称:_嵌入式系统开发_ 考试形式:闭卷考试日期: 2012年月日考试时长:120分钟课程成绩构成:平时 5 %,期中 10 %,实验 25 %,期末 60 % 本试卷试题由__5 _部分构成,共__9___页。 一、判断题(共15分,共 15题,每题1分,正确用“T”表示,错误用“F”表示) 1.优先级位图法是通过牺牲空间赢得时间。() 2.EDF调度策略可用于调度周期性任务() 3.在嵌入式操作系统中一般不使用虚拟存储技术,避免页面置换的开销所引起的不确定性。()4.自陷、异常和中断基本上具有相同的中断服务程序结构。() 5. 嵌入式多任务系统中,任务间的耦合程度越高,它们之间的通信越少。() 6.存储器映射编址是指I/O端口的地址与内存地址统一编址,即I/O单元与内存单元在同一地址空间。其优点是可采用丰富的内存操作指令访问I/O单元、无需单独的I/O地址译码电路、无需专用的I/O指令。() 7.嵌入式系统中,优先级抢占调度可以在任意位置、任意时刻发生。() 8.当二值信号量用于任务之间同步时,其初始值为1。() 9.如果一个实时调度算法使得任务充分利用了CPU,则CPU的利用率为100%。()10.RISC处理器常用高效流水线技术提高处理器的并行性。() 11.弱实时对系统响应时间有要求,但是如果系统响应时间不能满足,不会导致系统出现致命的错误或崩溃。() 12.循环轮询系统适合于慢速和非常快速的简单系统。() 13.单处理器多任务系统无需嵌入式操作系统的支持。() 14.任务控制块的内容在任务创建时进行初始化,在系统运行过程中不会发生变化。()15.支持实时特性的DARTS设计方法也采用了面向对象技术。()

嵌入式Linux试题答案

《嵌入式开发》期中试卷 试卷适用范围:2011级计算机科学与技术(本)1、2班 一、填空题(每空1分,共46分) 习题 1 1.填空题 (1)嵌入式系统是以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应于应用系统对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。 (2)嵌入到对象体系中的专用计算机系统。嵌入性、专用性与计算机系统是嵌入式系统的三个基本要素。对象系统是指嵌入式系统所嵌入的宿主系统。 (3)嵌入式系统按形态可分为设备级(工控机)、板级(单板、模块)、芯片级(MCU、SOC)。 (4)嵌入式系统由硬件和软件两大部分组成,硬件一般由高性能微处理器和外围接口电路组成,软件一般由操作系统和应用程序构成,软件和硬件之间由所谓的中间层(BSP层,板级支持包)连接。 (5)嵌入式系统从组织层次上看,嵌入式系统一般由硬件层、中间层、软件层和功能层组成。 (6)在专用的嵌入式板子上面运行GNU/Linux系统已经变得越来越流行。一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:引导加载程序、 Linux内核、文件系统、用户应用程序。 (7)嵌入式系统硬件的核心部件是各种类型的嵌入式处理器。 (8)嵌入式系统的核心部件是嵌入式处理器,一般把嵌入式处理器分成4类,即微处理器、微控制器、数字信号处理器、和嵌入式片上系统。 (9)ARM公司首创了 chipless 的生产模式,专门从事基于RISC技术芯片的设计开发,公司本身并不生产芯片,而是设计出高效的IP内核,授权给半导体公司使用。 (10)ARM7TDMI中,T表示支持Thump指令集。D表示支持片上调试(Debug)。M表示内嵌硬件乘法器(Multiplier)。I表示支持片上断点和调试点。 (11)ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。 (12)ARM微处理器有两种工作状态:Thump状态、ARM状态。 (13)通用寄存器分为三类:未分组寄存器、分组寄存器、程序计数器(PC)。 (14)异常是由内/外部源引起的需要处理器干预的一个事件。 (15)精简指令集计算机RISC(Reduced Instruction Set Computer)和复杂指令集计算机CISC 是当前CPU的两种架构。 (16)ARM微处理器的在较新的体系结构中支持两种指令集: ARM指令集、Thump指令集。 (17)MMU的作用有两个:将虚拟地址转化为物理地址、对存储器访问的

周立功-ARM嵌入式系统基础教程课后习题答案11

第一章 思考与练习 1、举出3个书本中未提到的嵌入式系统的例子。 答:红绿灯控制,数字空调,机顶盒 2、什么叫嵌入式系统 嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系 统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 3、什么叫嵌入式处理器?嵌入式处理器分为哪几类? 嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。 嵌入式微处理器(Embedded Microprocessor Unit, EMPU) 嵌入式微控制器(Microcontroller Unit, MCU) 嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP) 嵌入式片上系统(System On Chip) 4、什么是嵌入式操作系统?为何要使用嵌入式操作系统? 是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。 其次,提高了开发效率,缩短了开发周期。再次,嵌入式实时操作系统充分发挥了32 位CPU 的多任务潜力。 第二章 1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么? 项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4 个阶段。 识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。 提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。 执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展, 分析项目偏差,采取必要措施以实现目标。 结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。 2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险? 在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。 需求风险;时间风险;资金风险;项目管理风险 3、何谓系统规范?制定系统规范的目的是什么? 规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。 4、何谓系统规划?为何要做系统规划 系统规划就是拟定一个开发进程,使项目在合理的进程范围中逐渐建构完成。其目地是让客户可以进一步地掌握系统开发的进程,并确定检查点,以让双方确定项目是否如预期中的进度完成。 5、为什么在项目结束前需要进行项目讨论? 项目的讨论一个项目进行的反馈机制。通过这一个程序,项目团队的经验才可以被记录 下来,也就是说,这是一个撰写项目历史的过程。 第三章 1、ARM7TDMI中的T、D、M、I的含义是什么? 64 位乘法指令(带M 后缀的)、支持片上调试(带D 后缀的)、高密度16 位的Thumb 指令机扩展(带T 后缀的)和EmbededICE 观察点硬件(带I 后缀的) 2、ARM7TDMI采用几级流水线?使用何种存储器编址方式? 三级流水线(取指译码执行);使用了冯·诺依曼(V on Neumann )结构,指令和数据共用一条 32 位总线。 3、ARM处理器模式和ARM处理器状态有何区别? 处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态,处理器状态指的是处理器当前所执行的指令集。 4、分别列举ARM的处理器模式和状态。 状态: ARM 状态32 位,这种状态下执行的是字方式的ARM 指令

ARM嵌入式系统试题及答案解析

ARM嵌入式系统基础教程 ----期中开卷 专业:软件1002班姓名:王世伟学号:04103060(24) 一、嵌入式系统基本概念 1、什么是嵌入式系统?有何特点? 答:所谓嵌入式,实际上是“嵌入式计算机系统”,的简称,它是相对于通用计算机系统而言,注重于发展独立的单芯片技术。嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”。 特点:(1)嵌入式系统是将先进的计算机技术,半导体技术以及电子技术与各行业的具体应用相结合的产物,这一点就决定了他必然是一个技术密集,资金密集,高度分散,不断创新的知识集成系统。(2)系统内核小(3)专用性强(4)系统精简(5)系统软件要求(6)嵌入式软件开发要走向标准化,需要使用多任务的操作系统。(7)嵌入式系统本身并不具备在其上进行进一步开发的能力。 2、举例在你的身边常见到的嵌入式系统产品,谈一谈你对“嵌入式系统”的初步理 解。 答:产品有:洗衣机,空调,手机。 嵌入式系统就是内置小计算机系,可以对机器进行智能控制的系统。 3、嵌入式系统的3个基本特点? 答:(1)专用性(2)嵌入型(3)计算机系统 4、什么是嵌入式处理器,嵌入式处理器可以分为几大类? 答:嵌入式处理机是嵌入式的核心,是控制,辅助系统运行的硬件单元。 分类:四大类(1)嵌入式微处理器(2)嵌入式微控制器(3)嵌入式DSP处理器(4)SoC片上系统 5、广泛使用的三种类型的操作系统? 答:多道批处理操作系统、分时操作系统以及实时操作系统。 6、列举常见的4种嵌入式操作系统?说明你对嵌入式操作系统的基本认识,嵌入式 操作系统在嵌入式系统开发中的必要性。 答:嵌入式Linux、WinCE、VxWorks、μC/OS-II 没有操作系统的计算机效率十分底下,把操作系统嵌入到计算机中,可以提高系统

嵌入式系统及应用

嵌入式系统及应用习题 第一章操作系统概述 1.什么是嵌入式系统? 2.简述嵌入式系统的发展过程。 3.嵌入式系统有哪些特点? 4.嵌入式系统的应用领域有哪些? 5.举出几个嵌入式系统应用的例子,通过查资料和独立思考,说明这些嵌入式系统产品主要由哪几部分组成,每个组成部分完成什么功能。(提示:数码相机、办公类产品、工业控制类产品的例子等。) 6.通过查阅资料,你认为嵌入式系统的发展趋势如何? 第二章嵌入式系统基础知识 1.从硬件系统来看,嵌入式系统由哪些部分组成? 2.从软件系统来看,嵌入式系统由哪几部分组成? 3.嵌入式处理器的按体系结构分哪几类? 4.半导体存储器分为哪几种?说明它们的特点及用途。 5. 嵌入式软件体系结构有哪几种类型,优缺点如何? 6. 嵌入式系统产品开发一般包括哪几个阶段?每一个阶段的主要工作有哪些? 7.嵌入式系统主要由软件和硬件两大部分组成,其中有的功能可以用软件实现,又可以用硬件实现,那么软件和硬件的划分一般有哪些原则?举出几个同一个功能既可以用软件实现,又可以用硬件实现的例子。 大作业1: 选择一个嵌入式系统产品(如手机、PDA、工业控制产品、智能家用电器等),利用本章学过的知识,假设你是系统的总设计师,那么你认为应该如何运作这个产品的开发,直到把产品从实验室推向市场。 提示:题目较大,嵌入式系统开发包括需求分析、设计、实现、测试等方面。在实现方面,不必把产品开发出来(即不必设计电路图,不必编写程序代码,只需概括地写出软件硬件需要完成的工作即可)。 第三章嵌入式系统平台构建 1.嵌入式系统的硬件有哪几个组成部件? 2.通用处理器与嵌入式处理器有哪些相同和不同的地方? 3.常用的嵌入式处理器、控制器、数字信号处理器有哪些?各自有什么特点,通常适用于哪些方面的应用?除了书上介绍的嵌入式处理器之外,你还能提供哪些嵌入式处理器(型号和制造商)? 4.设计嵌入式系统时,.选择嵌入式处理器需要考虑哪些因素? 5.嵌入式操作系统有哪些特点,怎样选择嵌入式操作系统? 6. 举例说明ARM处理器和ucos操作系统的应用。 7. 说明S3C44B0X存储空间的分配。 第四章 ARM嵌入式微处理器体系结构 1. ARM处理器的特点有哪些? 2. 简述ARM处理器的工作状态。 3. 简述ARM处理器的7种运行模式。

《ARM嵌入式系统基础教程》试题及答案

《ARM嵌入式系统基础教程》试题及答案 一、选择题 1、以下说法不正确的是(B )。 A、任务可以有类型说明 B、任务可以返回一个数值 C、任务可以有形参变量 D、任务是一个无限循环 2下列描述不属于RISC计算机的特点的是(C)。 A.流水线每周期前进一步。B.更多通用寄存器。 C.指令长度不固定,执行需要多个周期。 D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。 3 存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容 为(D)。 A、0x21 B、0x68 C、0x65 D、0x02 4 μCOS-II中对关键代码段由于希望在执行的过程中不被中断干扰,通常采用关中断的方式,以下X86汇编代码正确而且不会改变关中断之前的中断开关状态的是(D) A.先CLI、执行关键代码、再STI B. 先STI、执行关键代码、再CLI C. 先POPF、CLI、执行关键代码、再PUSHF D. 先PUSHF、CLI、执行关键代码、再POPF。 5 RS232-C串口通信中,表示逻辑1的电平是(D )。 A、0v B、3.3v C、+5v~+15v D、-5v~-15v 6 ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是(A)。 A.R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3 C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2 7 IRQ中断的入口地址是(C)。FIQ的入口地址为0x0000001C A、0x00000000 B、0x00000008 C、0x00000018 D、0x00000014 8 S3C2420X I/O口常用的控制器是(D)。 A.端口控制寄存器(GPACON-GPHCON)。 B.端口数据寄存器(GPADAT-GPHDA T)。 C.外部中断控制寄存器(EXTINTN)。 D.以上都是。 9 实时操作系统中,两个任务并发执行,一个任务要等待其合作伙伴发来信息,或建立某个条件后再向前执行,这种制约性合作关系被成为(A)。 A. 同步 B. 互斥 C. 调度 D. 执行 10 和PC系统机相比嵌入式系统不具备以下哪个特点(C)。 A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简 11 、ADD R0,R1,#3属于(A)寻址方式。 A. 立即寻址 B. 多寄存器寻址 C. 寄存器直接寻址 D. 相对寻址 12、GET伪指令的含义是(A) A. 包含一个外部文件 B. 定义程序的入口 C. 定义一个宏 D. 声明一个变量 13、存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存 储,则2000H存储单元的内容为(C)。 A、0x00 B、0x87 C、0x65 D、0x61 14、μCOS-II操作系统不属于(C)。 A、RTOS B、占先式实时操作系统 C、非占先式实时操作系统 D、嵌入式实时操作系统 15、若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDR R0,[R1,#8]!后R0的值为(D )。 A. 0x2000 B. 0x86 C. 0x2008 D. 0x39 16、寄存器R13除了可以做通用寄存器外,还可以做(C )。 A、程序计数器 B、链接寄存器 C、栈指针寄存器 D、基址寄存器 17、FIQ中断的入口地址是(A)。

相关文档
相关文档 最新文档