当前位置:文档之家› 嵌入式系统开发_李宥谋_答案(1)

嵌入式系统开发_李宥谋_答案(1)

嵌入式系统开发_李宥谋_答案(1)
嵌入式系统开发_李宥谋_答案(1)

嵌入式系统开发

习题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

(2) LDR R0,x LDR R1,y LDR R2,a LDR R3,b LDR R4,c CMP R0,R1

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

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 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;

嵌入式系统设计大作业

嵌入式系统设计大作业 学号:14020520009 姓名:罗翔 1、叙述JTAG接口在嵌入式开发中的作用。 答: (1)用于烧写FLASH 烧写FLASH的软件有很多种包括jatg.exe fluted flashpgm等等,但是所有这些软件都是通过jtag接口来烧写flash的,由于pc机上是没有jtag接口的,所以利用并口来传递信息给目标板的jtag接口。所以就需要并口转jtag接口的电路。 (2)用于调试程序 同时应该注意到jtag接口还可以用来调试程序。而调试程序(如ARM开发组件中的AXD)为了通过jtag接口去调试目标板上的程序,同样是使用pc的并口转jtag接口来实现与目标板的通信。这样,并口转jtag接口的电路就有了两种作用。 (3)仿真器 根据(1)和(2)的总结,并口转jtag接口的电路是两种应用的关键,而这种电路在嵌入式开发中就叫仿真器。并口转jtag接口的电路有很多种,有简单有复杂的,常见的仿真器有Wigger,EasyJTAG,Multi-ICE等。这些所谓的仿真器的内部电路都是并口转jtag接口,区别只是电路不同或使用的技术不同而已。 2、叙述嵌入式平台的搭建过程,以linux为例。 答: 1) 一:建立宿主机开发环境 建立交叉编译的环境即在宿主机上安装与开发板相应的编译器及库函数,以便能够在宿主机上应用开发工具编译在目标板上运行的Linux引导程序,内核,文件系统和应用程序 交叉编译:在特殊的环境下,把嵌入式程序代码编译成不同的CPU所对应的机器代码。

开发时使用宿主机上的交叉编译,汇编及链接工具形成可执行的二进制代码(该代码只能在开发板上执行),然后下载到开发板上运行 2) 下载和安装arm-Linux-gcc编译工具链下载最新的arm-Linux-gcc并解压至当前目录下 在系统配置文件profile中设置环境变量方法:直接在profile文件中加入搜索路径立即使新的环境变量生效:运行source命令,检查是否将路径加入到path,测试是否安装成功, 编译程序,测试交叉工具链 3) 配置超级终端minicom minicom是宿主机与目标板进行通信的终端:在宿主机Linux终端中输入:minicom-s或输入minicom然后按ctrl+A+O对超级终端minicom进行配置,再选择串口并配置串口,最后保存即可 4) 建立数据共享服务:NFS服务是Linux系统中经常使用的数据文件共享服务 5) 编译嵌入式系统内核:内核配置,建立依存关系,建立内核 6) 制作文件系统 3、给出现今有哪些用于嵌入式开发的芯片名称,他们分别是哪些公司的产品? 体系结构是什么? S3C2410X基于ARM的Sumsang; XscalePXA255/PXA270基于ARM的Intel; 摩托罗拉MC基于68k; Power 601基于Power PC; MIPS32Kc基于MIPS 4、现今较流行的嵌入式操作系统有哪些? 答: (1) VxWorks (2)wince (3)linux (4)android

(完整word版)嵌入式系统复习及答案

一、单项选择题 1、下面关于哈佛结构描述正确的是(A )。 A、程序存储空间与数据存储空间分离 B、存储空间与IO空间分离 C、程序存储空间与数据存储空间合并 D、存储空间与IO空间合并 2、下面哪一种工作模式不属于ARM特权模式(A )。 A、用户模式 B、管理模式 C、软中断模式 D、FIQ模式 3、ARM9TDMI的工作状态包括( D )。 A、测试状态和运行状态 B、挂起状态和就绪状态 C、就绪状态和运行状态 D、ARM状态和Thumb状态 4、指令“LDMIA R0!, {R1, R2, R3, R4}”的寻址方式为( C )。 A、立即寻址 B、寄存器间接寻址 C、多寄存器寻址 D、堆栈寻址 5、对寄存器R1的内容乘以4的正确指令是( C )。 A、LSR R1,#2 B、LSL R1,#2 C、MOV R1,R1, LSL #2 D、MOV R1,R1, LSR #2 6、下面指令执行后,改变R1寄存器内容的指令是( D )。 A、TST R1,#2 B、ORR R1,R1,R1 C、CMP R1,#2 D、EOR R1,R1,R1 7、下面哪一种功能单元不属于I/O接口电路。( D ) A、USB控制器 B、UART控制器 C、以太网控制器 D、LED 8、下面哪个操作系统是嵌入式操作系统。(B ) A、Red-hat Linux B、μCLinux C、Ubuntu Linux D、SUSE Linux 9、使用Host-Target联合开发嵌入式应用,( B )不是必须的。 A、宿主机 B、银河麒麟操作系统 C、目标机 D、交叉编译器 10、下面哪个系统不属于嵌入式系统( D )。 A、MP3播放器 B、GPS接收机 C、“银河玉衡”核心路由器 D、“天河一号”计算机系统

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

学习中心/函授站_ 姓名学号 西安电子科技大学网络与继续教育学 院 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.下面哪一种工作模式不属于ARM特权模式(A)。 A.用户模式B.系统模式C.软中断模式D.FIQ模式 2.ARM7TDMI的工作状态包括( D )。 A.测试状态和运行状态B.挂起状态和就绪状态 C.就绪状态和运行状态D.ARM状态和Thumb状态 3.下面哪个Linux操作系统是嵌入式操作系统( B )。 A.Red-hat Linux B.uclinux C.Ubuntu Linux D.SUSE Linux 4.使用Host-Target联合开发嵌入式应用,( B )不是必须的。 A.宿主机B.银河麒麟操作系统 C.目标机D.交叉编译器 5.下面哪个不属于Linux下的一个进程在内存里的三部分的数据之一(A)。 A.寄存器段B.代码段 C.堆栈段D.数据段 选择题(共5小题,每题2分,共10分) 1.下面哪个系统属于嵌入式系统( D )。 A.“天河一号”计算机系统B.IBMX200笔记本电脑 C.联想S10上网本D.Iphone手机 2.在Makefile中的命令必须要以(A)键开始。 A.Tab键B.#号键 C.空格键D.&键 3.Linux支持多种文件系统,下面哪种不属于Linux的文件系统格式( B )。 A.Ext B.FA T32 C.NFS D.Ext3 4.下面哪种不属于VI三种工作模式之一( D )。 A.命令行模式B.插入模式 C.底行模式D.工作模式 5.下面哪一项不属于Linux内核的配置系统的三个组成部分之一( C )。 A.Makefile B.配置文件(config.in) C.make menuconfig D.配置工具 1.人们生活中常用的嵌入式设备有哪些?列举4个以上(1) 手机,(2) 机顶盒,(3) MP3,(4) GPS。(交换机、打印机、投影仪、无线路由器、车载媒体、PDA、GPS、智能家电等等。) 2.ARM9处理器使用了五级流水线,五级流水具体指哪五级:(5) 取指,(6) 译码,(7) 执行,(8) 缓冲/数据,(9) 回写。 3.在Makefile中的命令必须要以(10) Tab 键开始。 4.Linux支持多种文件系统,主要包括哪些(写出其中4中就行)(11) Ext,(12) VFA T,(13) JFS,(14) NFS。(JFS、ReiserFS、Ext、Ext2、Ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等) 5.VI的工作模式有哪三种:(15) 命令行模式,(16) 插入模式,(17) 底行模式。

大作业设计报告书(嵌入式系统原理与开发)

大作业设计报告书 题目:嵌入式系统原理与开发 院(系):物联网工程学院 专业: 班级: 姓名: 指导老师: 设计时间: 10-11 学年 2 学期 20XX年5月

目录 1.目的和要求 (3) 2.题目内容 (3) 3.设计原理 (4) 4.设计步骤 (5) 4.1 交通指示灯设计 (5) 4.2 S3C44B0X I/O 控制寄存器 (6) 4.3 红绿灯过渡代码: (8) 4.4 电源电路设计 (10) 4.5 系统复位电路设计 (11) 4.6 系统时钟电路设计 (11) 4.7 JTAG 接口电路设计 (12) 4.8串口电路设计 (12) 5.引脚分类图 (13) 6.参考文献 (13)

1.目的和要求 ARM技术是目前嵌入式应用产业中应用十分广泛的先进技术,课程开设的目的在于使学生在了解嵌入式系统基础理论的前提下能够掌握ARM处理器的汇编语言和c语言的程序设计方法,掌握S3C44B0X芯片的基本硬件结构特点和接口设计方法,同时熟悉ARM开发环境,学习ARM的硬件设计和软件编程的基本方法,为今后从事相关的应用与研究打下基础。通过大作业要达到如下目的: 一、掌握ARM的开发工具使用和软件设计方法。 二、掌握ARM处理器S3C44B0X的原理和GPIO接口设计原理。 三、掌握C语言与的ARM汇编语言的混合编程方法; 四、培养学生选用参考,查阅手册及文献资料的能力。培养独立思考,深入研 究,分析问题、解决问题的能力。 五、通过课程设计,培养学生严肃认真的工作作风。 2.题目内容 题目:交通指示灯系统设计 功能描述: 1.用S3C44B0X的GPIO设计相关电路; 2.设计相关的软件并注释; 3.实现十字路口2组红、黄、绿交通灯交替显示。 编程提示: 1.交通灯可用发光二极管代替; 2.电路可部分参照实验电路; 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、试分析实时操作系统的工作状态特点及相互之间的转换。

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

《嵌入式系统》课程试卷 考试时间:__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

嵌入式系统试卷及答案

嵌入式系统试卷及答案

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、函数调用可以作为独立的语句存在

2016年下学期嵌入式系统设计大作业

嵌入式系统设计大作业 1、叙述嵌入式系统开发过程中所要解决的两个问题。 2、叙述嵌入式平台的搭建过程,以linux为例。 3、给出现今有哪些用于嵌入式开发的芯片名称,他们分别是哪些公司的产品? 体系结构是什么? 4、现今较流行的嵌入式操作系统有哪些? 5、PXA270嵌入式开发板的接口有哪些? 6、请写出Nor Flash和Nand Flash的区别。 7、冯。诺依曼架构与哈佛架构的区别。 8、单周期3级流水的情况下,第10个指令周期时,第几条指令执行结束? 9、下面是linux下的一个简单的设备驱动程序,写出linux设备驱动常用的数据结构,同时阅读下面代码,请给出测试程序中的每条语句加以注释。 设备驱动程序Keypad.c的源代码: #include #include #include #include #include #include #include #include #include #include #include #define LEDnKEY_MAJOR 251 #define KEYPAD_NAME "X-Hyper250 Keypad" #define KEYPAD_VERSION "Version 0.1" #define EXT_KEY_CS EXT_PORT2 #define EXT_LED_CS EXT_PORT3 #define LED_SHOW 10 /*EXT_KEY_CS 为向外部LED进行数值设定,它定义在其它头文件里*/ void led_off_on() /**/ { int i; EXT_LED_CS = 0xff; for(i =0 ; i<8;++i) { EXT_LED_CS = ~((1 << i) & 0xff); udelay(30000); } EXT_LED_CS = 0xff; }

嵌入式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的作用有两个:将虚拟地址转化为物理地址、对存储器访问的

《嵌入式》课后习题答案

第一章 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)嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式软硬件系统本身,同时还要提供强大的硬件开发工具和软件支持包。

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、确定输入信号是数字信号还 是模拟信号属于功能性需求。 7、确定系统的物理尺寸和重量属于非功能性需求。 8、在嵌 入式系统的设计过程中,其中规格说明解决“做什么”。 9、在嵌入式系统的设计过程中,其 中体系结构设计解决“如何做”。 10、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。 11、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段 完成。、 12在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。、13在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。、 14在嵌入式系统 的设计过程中,完成版图设计应在构件设计阶段完成。、15在嵌入式系统的设计过程中,完 成软件设计应在构件设计阶段完成。 16、反映嵌入式系统设计人员的水平能力主要在于总体 设计(需求分析、规格说明和体系 17、结构设计)和系统调试。设计流程指的是设计过程中所经历的过程步骤。、 18核的模块级重用和基于平台的系统级重用。 IP 设计重用技术主要分为基于19、 软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验 20、证几个阶段组成。嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和、21页共页第 1 44 《嵌入式系统》试题库

嵌入式系统大作业

《嵌入式系统原理及应用》课 程论文 嵌入式数据库的现状和发展趋势 学生姓名 学号 专业 班级 授课教师 所属学院

嵌入式数据库的现状和发展趋势 摘要:随着计算机技术及相关技术的不断发展,嵌入式产品由于其智能化、小型化、便携式等特点,已经普遍应用于我们的生活。这些产品通常是在计算资源、存储资源等条件受限的情况下处理大量的数据,而传统的数据库一般都是运行在各种各样的服务器或大容量的存储器上,显然把传统的数据库直接移植到嵌入式设备上是不可行的。嵌入式数据库应运而生。本文从嵌入式系统结构入手,阐述了嵌入式数据库的发展现状,并具体介绍了当前主流嵌入式数据库的共性、基本特点、关键技术、构件、分类,并提出了发展趋势和进一步研究的技术突破点。 关键词:嵌入式数据库、复制、缓存技术、现状、趋势 引言 随着计算机技术及相关技术的不断发展,嵌入式产品由于其智能化、小型化、便携式等特点,已经普遍应用于我们的生活,比如智能手机、车载导航设备、数字移动电视、机顶盒、智能控制设备等。这些产品通常是在计算资源、存储资源等条件受限的情况下处理大量的数据,而传统的数据库一般都是运行在各种各样的服务器或大容量的存储器上,显然把传统的数据库直接移植到嵌入式设备上是不可行的。那么如何在苛刻的条件下,充分利用有限的资源便成为了人们研究的热点。嵌入式数据库也正是在此条件下,和嵌入式操作系统、嵌入式应用软件相伴而生的。 正文 1嵌入式系统的体系结构 嵌入式系统的英文叫做Embedded System, 是一种包括硬件和软件的完整的计算机系统, 但又跟通用计算机系统不同。嵌入式系统的定义是: / 嵌入式系统是以应用为中心, 以计算机技术为基础, 并且软硬件可剪裁, 适用于应用系统对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。0嵌入式系统所用的计算机是嵌入到被控对象中的专用微处理器, 但是功能比通用计算机专门化, 具有通用计算机所不能具备的针对某个方面特别设计的、合适的运算速度、高可靠性和较低比较成本的专用计算机系统。 嵌入式数据库位于嵌入式系统的中间部分,下面有嵌入式操作系统层,当前主流的嵌入式操作系统有Windows CE;Palm OS。Linux,VXworks,SymbianOS等平台,硬件平台主要有Dragonball,Handspring,MIPS,Hitachi SH,Power PC以及ARM处理器。嵌入式应用软件位于嵌入式数据库之上,可以通过API函数接口,、ODBC,JDBC等与嵌入式数据库通信,来实现数据的检索、删除、添加等操作,更为重要的是要实现数据的完整性、一致性。当前主流的嵌入式数据库,具有支持多个平台、面向多种开发语言、具有多个灵活的接口等特点,主流的嵌入式数据库有:Oracle公司的Berkeley DB、Sysbase Adaptive ServerAnywhere、Linter以及SQLite等,国内的科研机构也积极开展这方面的研究并推出了自己的产品,主要有方舟公司的Noahbase人大金仓kingbase等。

《嵌入式系统与开发》测试题 - 答案

测试题0及参考答案 (1)ARM汇编程序由指令、指令和指令构成。 (2)ARM C____(A.0X12 B.0X34 C.0X56 D.0X78)(采用小端模式进行存储) (4)一般情况下,ARM微处理器异常处理模式共有___7___种,机器启动后第一条指令执行的是__A___(A.复位异常处理函数指令 B.中断异常处理指令 C.IRQ 异常处理指令 D.指令预取终止异常)。 (5)调用函数FUN(X,Y,Z),则实参值分别通过__r0__、_r1___、_r2__寄存器来进行传递,如果参数超过4个,则参数传递规则为____通过栈进行传递________。 (6)举例列出一款ARM7TDMI微内核的嵌入式微处理器_S3C44B0X_,ARM920T微内核的嵌入式微处理器_S3C2410_,ARM11内核的嵌入式微处理器__S3C6410____,并列举2款64位ARM微内核_Cortex-A53 __、__Cortex-A57________。 (7)利用汇编和C混合编程,设计代码完成求a,b,c中最大值功能,要求写出汇编启动代码和C代码。 (略)此知识点不需要掌握 测试题1及参考答案 1.嵌入式Linux操作系统包括 bootloader 、内核、文件系统三部分组成。 2.在PC机上Linux系统编译使用的编译器名为 gcc ,ARM处理器嵌入式编译器名为 arm-linux-gcc 。 3.bootloader的功能:①引导操作系统内核启动②提供辅助命令工具。 4.列出最常用的bootloader:、、、、、。 5.在uboot中,打印开发板上环境变量值的命令为 printenv setenv ,假如嵌入式内核名为vmlinux,通过tftp加载内核的命令为

嵌入式系统大作业

嵌入式系统大作业-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

基于嵌入式系统的车载GPS导航系统的设计 1 设计目的与功能 1.1 设计目的 随着人们经济基础增强,安全意识增强的基础上,很多人都会选择车载GPS 导航设备,所以制造功能强大,价格低廉的车载GPS导航设备是有很大市场和发展前景的。由于导航仪投入小,外壳模块、芯片等材料市场供应量大,这也是我选择设计车载GPS导航设备的理由。为了满足不同用户的不同需求,我想设计一款内置四维地图系统。 1.2设计功能 1提供准确无误的全3D实景导航; 2附带全国沿途咨询; 3具有视频、音乐播放等娱乐功能。 2.需求分析调研 2.1 产品的硬件组成(型号、类型、电气特性、选择的理由等) (1)处理器:S3C2440A 400MHz,S3C2440A 是三星公司生产推出的基于ARM920T的32位RISC嵌入式微处理器,S3C2440A采用了ARM920T的内核,0.13um的CMOS标准宏单元和存储器单元。 采用ARM920T CPU内核支持ARM调试体系结构。 (2)储存模块:SDRAM , K4M561633-75 , 64MByte Nand FLASH, K9F1208G 64MByte同步动态随机存储器,工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;存储阵列需要不断的刷新来保证数据不丢失;数据不是线性依次存储,而是自由指定地址进行数据读写。 (3)音频模块:PHILIPS公司的UDA1341TS是一块功能强大的专用语音处理芯片。本设计使用的AT91RM9200处理器具有一个IIS音频接口,此接口

嵌入式系统课后习题及答案

第1章嵌入式系统基础 1.什么就是嵌入式系统?它由哪几部分组成?有何特点?写出您所想到得嵌 入式系统。 答:(1)定义:国内对嵌入式系统得一般定义就是:以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可 靠性、成本、体积、功耗等严格要求得专用计算机系统。 (2)组成:嵌入式处理器、外围设备、嵌入式操作系统与应用软件等几部分组成。 (3)特点:a、软硬件一体化,集计算机技术、微电子技术、行业技术于一体; b、需要操作系统支持,代码小,执行速度快; c、专用紧凑,用途固定,成本敏感; d、可靠性要求高; e、多样性,应用广泛,种类繁多。 (4)嵌入式系统:个人数字助理(PDA)、机顶盒(STB)、IP电话。 2.嵌入式处理器分为哪几类? 答:(1)低端得微控制器(MicroController Unit,MCU); (2)中高端得嵌入式微处理器(Embeded MicroProcessor Unit,EMPU); (3)通信领域得DSP处理器(Digital Signal Processor,DSP); (4)高度集成得片上系统(System on Chip,SoC)。 3.ARM英文原意就是什么?它就是一个怎样得公司?其处理器有何特点? 答:(1)英文原意:Advanced RISC Machines。高级精简指令集机器。 (2)公司简介:该公司就是全球领先得16/32位RISC微处理器知识产权设计供应商,通过将其高性能、低成本、低功耗得RISC微处理器、外围 与系统芯片设计技术转让给合作伙伴来生产各具特色得芯片。ARM公司 已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案得RISC 标准。 (3)其处理器特点:a、小体积、低功耗、低成本而高性能;b、16/32位双指令集;c、全球得合作伙伴众多。 4.什么就是实时系统?它有哪些特征?如何分类? 答:(1)实时系统得定义:实时系统(Real Time System)就是指产生系统输出得时间对系统至关重要得系统。 (2)特征:实时性、并行性、多路性、独立性、可预测性、可靠性。 (3)分类:根据响应时间得不同,实时系统可分为3种类型:强实时系统、弱实时系统、一般实时系统。 根据确定性得不同,实时系统可分为2种类型:硬实时、软实时。 5.RTOS由哪几部分组成?它有哪些特点?与一般操作系统相比有何不同? 答:(1)组成:实时内核、网络组件、文件系统、图形用户界面。 (2)特点:a、支持异步事件得响应;b、中断与调度任务得优先级机制;c、支持抢占式调度;d、确定得任务切换时间与中断延迟时间;e、支持同 步。 (3)与一般OS得不同: a、实时性:响应速度快,只有几微秒;执行时间确定,可预测; b、代码尺寸小:只有10~100KB,节省内存空间,降低成本;

嵌入式系统试卷及答案

2014年上学期11级计算机专业嵌入式系统期末试卷 一、选择题(本大题共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、函数调用可以作为独立的语句存在 B、函数调用可以作为一个函数的实参 C、函数调用可以出现在表达式中 D、函数调用可以作为一个函数的形参 1.用户编写了一个文本文件a.txt,想将该文件名称改为txt.a,下列命令 __D____可以实现。 A. cd a.txt xt.a B. echo a.txt > txt.a C. rm a.txt txt.a D. cat a.txt > txt.a

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