当前位置:文档之家› ARM嵌入式系统开发与应用课后题答案与习题

ARM嵌入式系统开发与应用课后题答案与习题

课后题答案:第一章1.写出下列英文缩写的英文原文及中文含义。

RAM随机存储器 DRAM动态随机存储器 ROM只读存储器PROM可编程只读存储器 EPROM可插除可编程只读存储器 CANCAN总线RTOS实时操作系统 SOPC片上可编程系统 ICE硬件调试器 FI快速终端请求EEPROM电可插除可编程只读存储器 API应用程序接 DMA直接内存存取RISC精简指令集计算机 SPI串行万维指令 MMU存储管理单元UART异步接受发送装置 ARM先进RISC存储器 SWI软件终端指令2、什么是嵌入式系统? P3嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。

以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。

3、是比较嵌入式系统与通用PC的区别。

P3(1)嵌入式系统是专用的计算机系统,而PC是通用的计算机系统。

(2)技术要求不同,通用PC追求高速、海量的数据运算;嵌入式要求对象体系的智能化控制。

(3)发展方向不同,PC追求总线速度的不断提升,存储容量不断扩大;嵌入式追求特定对象系统的智能性,嵌入式,专用性。

4、嵌入式体统有哪些部分组成?简单说明各部分的功能与作用(1)硬件层是整个核心控制模块(由嵌入式微处理器、存储系统、通信模块、人机接口、其他I/O 接口以及电源组成),嵌入式系统的硬件层以嵌入式微处理器为核心,在嵌入式微处理器基础上增加电源电路、时钟电路、和存储器电路(RAM和ROM等),这就构成了一个嵌入式核心控制模块,操作系统和应用程序都可以固化在ROM中。

(2)中间层把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。

一般包括硬件抽象层(Hardware Abstract Layer,HAL)和板级支持包(Board Support Package,BSP)。

(3)软件层由实时操作系统(Real Time Operating System,RTOS)、文件系统、图形用户接口(Graphical User Interfaces,GUI)、网络组件组成。

(4)功能层是面向被控对象和用户的,当需要用户操作是往往需要提供一个友好的人机界面。

5、什么是可编程片上系统?在技术上它有哪些特点?用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC,特点如下:实现复杂系统功能的VLSI;采用超深亚微米工艺技术;使用一个以上的嵌入式处理器/DSP;外部可对芯片进行编程;主要采用第三方IP进行设计;足够的片上可编程逻辑资源;具有处理器调试接口和FPGA编程接口;可能包含部分可编程模拟电路;单芯片,低功耗,微封装;微处理器/dsp以ip核的形式方便的嵌入在FPGA中。

6、什么是嵌入式外围设备?简要说明嵌入式外围设备是如何分类的。

嵌入式外围设备,是指在一个嵌入式系统硬件构成中,除了核心控制部件-----嵌入式微处理器/DSP 以外的各种存储器,输入/输出接口、人机接口的显示器/键盘、串行通信接口等。

根据外围设备的功能可分为以下五类:存储器类型;通信接口;输入/输出设备;设备扩展接口;电源及辅助设备。

7、.简述嵌入式系统软件的组成和功能?组成:应用层,OS层,BSP层11、什么是软硬件协同设计?他最大的特点是什么?嵌入式系统开发为什么可以采用这种方法进行。

嵌入式是系统设计时使用一组物理硬件和软件来完成所需功能的过程。

系统是指任何由硬件,软件或者两者的结合来构成的功能设备。

由于嵌入式系统是一个专用系统,所以在嵌入式产品的设计过程中,软件设计和硬件设计是紧密结合的、相互协调的;特点是:在设计时从系统功能的是先考虑,把实现时的软硬件同时考虑进去,硬件设计包括芯片级“功能定制”设计。

这样既可最大限度的利用有效资源,缩短开发周期,又能取得更好的设计效果。

第二章1、CISC与RISC分别指什么?说明他们各自有什么特点,应用领域和发展趋势如何?复杂指令集CPU内部为将较复杂的指令译码,也就是指令较长,分成几个微指令去执行,正是如此开发程序比较容易(指令多的缘故),但是由于指令复杂,执行工作效率较差,处理数据速度较慢,PC 中 Pentium的结构都为CISC CPU。

RISC是精简指令集CPU,指令位数较短,内部还有快速处理指令的电路,使得指令的译码与数据的处理较快,所以执行效率比CISC高,不过,必须经过编译程序的处理,才能发挥它的效率,我所知道的IBM的 Power PC为RISC CPU的结构,CISCO 的CPU也是RISC的结构。

RISC与CISC的主要特征对比比较内容 CISC RISC指令系统复杂,庞大简单,精简指令数目一般大于200 一般小于100指令格式一般大于4 一般小于4寻址方式一般大于4 一般小于4指令字长不固定等长可访存指令不加限制只有LOAD/STORE指令各种指令使用频率相差很大相差不大各种指令执行时间相差很大绝大多数在一个周期内完成优化编译实现很难较容易程序源代码长度较短较长控制器实现方式绝大多数为微程序控制绝大多数为硬布线控制软件系统开发时间较短较长5、简述Thumb技术的特点,在处理器中是如何实现的?并说明ARM处理器为何会采用2种不同的指令集。

Thumb是ARM体系结构中一种16位的指令集。

Thumb不仅仅是另一个混合指令集的概念,它使设计者得到ARM32位指令的性能,又能享受Thumb指令集产生的代码方面的优势。

有以下局限:完成相同的操作时,Thumb通常需要更多的指令;Thumb指令没有包括进行异常处理时需要的指令,在异常中断时还需要调用ARM指令6、ARM处理器支持哪几种工作模式?各个模式各有什么特点?ARM处理器共支持7种处理器模式:用户模式:正常用户模式,程序正常执行FIQ:处理快速中断,支持高速数据传输或通道处理IRQ:处理普通中断SVC:操作系统保护模式,处理软件中断中止:处理存储器故障,实现虚拟存储器和存储器保护未定义:处理为定义的指令陷阱,支持硬件协处理器的软件仿真系统:运行特权操作系统任务7、ARM处理器总共有多少个通用寄存器?这些寄存器按其在用户编程中的功能是如何划分的?P38 ARM处理器共有37个寄存器,31个通用寄存器,含程序计数器PC,6个状态寄存器。

r0~r7为普通寄存器r8~r12普通寄存器允许快速中断r13通常用作堆栈指针SP,指向栈顶r14通常用作子程序链接寄存器LR也用于中断临时存放PC值,PC→LR CPSR→SPSRr15程序计数器通常被用作程序计数器PC。

(PC中存放下一条将要执行的指令地址)8、试述ARM处理器对异常中断的影响。

P41r14-<exception-mode>=return linkSPSR-<exception-mode>=CPSRCPSR【4 :0】=exception mode number4位到0位进入异常模式CPSR【5】=0 使处理器在ARM状态下执行CPSR【7】=1禁止新的IRQ中断If<exception-mode>==reset or FIQ thenCPSR[6]=1 禁止新的FIQ中断PC=exception cector address 完成后进入异常向量地址9、ARM如何从异常中断处理程序中返回?需要注意哪些问题?进入中断的逆过程。

1、所有修修改过的用户寄存器必须从处理程序的保护堆栈中恢复。

2、将SPSR_mode寄存器内容复制到CPSR中,使得CPSR从相应的SPSR中恢复,及回复被中断的程序工作状态。

3、根据异常类型将PC变回到用户指令流中相应指令处。

4、最后清除CPSR中的中断禁止标志位I/F.第三章1、试比较ARM指令集与8086/8088指令集的异同点,并总结ARM指令集的特点。

(1) X86指令集:X86指令集是Intel为其第一块16位CPU(i8086)专门开发的,后来的电脑中为提高浮点数据处理能力而增加的X87芯片系列数学协处理器另外使用X87指令,以后就将X86指令集和X87指令集统称为X86指令集。

(2) ARM指令集:相比而言,以RISC为架构体系的ARM指令集的指令格式统一,种类比较少,寻址方式也比复杂指令集少。

当然处理速度就提高很多。

ARM处理器都是所谓的精简指令集处理机(RISC)。

其所有指令都是利用一些简单的指令组成的,简单的指令意味着相应硬件线路可以尽量做到最佳化,而提高执行速率,相对的使得一个指令所需的时间减到最短。

RM指令集架构的其它一些特点如下:1.体积小,低功耗,低成本,高性能2.支持 Thumb ( 16 位) /ARM ( 32 位)双指令集,能很好的兼容 8 位 /16 位器件;3.大量使用寄存器,指令执行速度更快;4.大多数数据操作都在寄存器中完成;5.寻址方式灵活简单,执行效率高;6.指令长度固定;7.流水线处理方式8. Load_store结构2、ARM指令的寻址方式有几种?试分别叙述其各自的特点并举例说明。

P44(1)寄存器寻址:指令地址码给出寄存器的编号,寄存器中的内容作为操作数。

(2)立即寻址、指令操作码后的地址码是立即数,即操作数本身。

(3)寄存器移位寻址、是ARM指令集特有的寻址方式。

(4)寄存器间接寻址、指令地址码给出寄存器的编号,寄存器为地址指针,存放操作数的有效地址。

(5)基址寻址、基址寻址是讲基址寄存器的内容与指令中给出的维系量相加,形成操作数有效地址。

(6)多寄存器寻址一次可以传送多个寄存器的值按照特定顺序进行存取的存取区。

9)相对寻址3、试比较ARM指令集与Thumb指令集的异同,并给出各自的特点。

ARM指令是32位的, Thumb 指令是16位的Thumb 指令能完成ARM指令大部分的功能,使用 Thumb 指令可以节约存储空间,提高效率ARM指令与处理器32位的处理能力相适应,能发挥ARM处理器全部的功能。

第五章1、什么是伪操作,宏指令,伪指令?它们与指令有什么不同?各自有什么特点?汇编语言程序语句除指令以外还可以由伪操作和宏指令组成.伪操作又称伪指令,它不像机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇编期间由汇编程序处理的操作,它们可以完成如数据定义、分配存储区、指示程序结束等功能3、LTORG伪操作的作用是什么??LTORG用于声明一个数据缓冲池,(也称为文字池)的开始。

在使用伪指令LDR时,常常需要在适当的地方加入LTORG声明数据缓冲池,LDR加载的数据暂时放于数据缓冲池。

当程序中使用LDR之类的指令时,数据缓冲池的使用可能越界。

为防止越界发生,可使用LTONG伪操作定义数据缓冲池。

通常大的代码段可以使用多个数据缓冲池。

相关主题