ARM嵌入式系统试题及答案解析_第1页
ARM嵌入式系统试题及答案解析_第2页
ARM嵌入式系统试题及答案解析_第3页
ARM嵌入式系统试题及答案解析_第4页
ARM嵌入式系统试题及答案解析_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ARM嵌入式系统基础教程期中开卷专业:软件1002班姓名:王世伟学号:04103060 (24)一、嵌入式系统基本概念1、什么是嵌入式系统?有何特点?答:所谓嵌入式,实际上是“嵌入式计算机系统”,的简称,它是相对于通用计算机系统而言,注重于发展独立的单芯片技术。嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”。特点:(1)嵌入式系统是将先进的计算机技术,半导体技术以及电子技术与各行业的具体应用相结合的产物,这一点就决定了他必然是一个技术密集,资金密集,高 度分散,不断创新的 知识集成系统。(2)系统内核小(3)专用性强(4)系统精 简(5)系统软件要求(6)嵌入式软件开发要走向标准

2、化,需要使用多任务的操作系统。(7)嵌入式系统本身并不具备在其上进行进一步开发的能力。2、举例在你的身边常见到的嵌入式系统产品,谈一谈你对“嵌入式系统”的初步理 解。答:产品有:洗衣机,空调,手机。嵌入式系统就是内置小计算机系,可以对机器进行智能控制的系统。3、嵌入式系统的3个基本特点?答:(1)专用性(2)嵌入型(3)计算机系统4、什么是嵌入式处理器,嵌入式处理器可以分为几大类?答:嵌入式处理机是嵌入式的核心,是控制,辅助系统运行的硬件单元。分类:四大类(1)嵌入式微处理器(2)嵌入式微控制器(3)嵌入式DSP处 理器(4) SoC片上系统5、广泛使用的三种类型的操作系统?答:多道批处理操作

3、系统、分时操作系统以及实时操作系统。6、列举常见的4种嵌入式操作系统?说明你对嵌入式操作系统的基本认识,嵌入式 操作系统在嵌入式系统开发中的必要性。答:嵌入式 Linux、WinCE VxWorks 仙 C/OSII没有操作系统的计算机效率十分底下,把操作系统嵌入到计算机中,可以提高系统 的可靠性,开发效率,缩短了开发周期。二、ARM神系结构1、ARhM什么样的公司?答:它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的 RISC 处理器。特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和 OEM厂商,并提供服务。2、 什么是RISC?什么是CISC?

4、答:RISC是精简指令集计算机的缩写。CISC是复杂指令集计算机的缩写。3、举出2个AR泌司当前应用比较多的ARMtt理器核?答:ARM源歹h ARM系歹h ARM10C歹h ARM1K歹h intel 的 Xscale 系列和 MPCore系4、 ARM7TDMI的T、D S、I分别表示什么含义?答:T:支持高密度16位的ThumbJt令集D:支持片上调试5、 ARM7TDM®可综合(synthesizable )版本(软核)I :支持EmbededIC或察硬件M支持64位乘法5、ARM7TDM!理器采用什么样的体系结构,其可寻址地址空间多大?答:ARMa理器使用冯.诺依曼结构使用

5、单个平面的232个8位字节地址空间。地址空间可以看作是包含230个32位字,或231个16位半字。6、ARM7TDM!理器采用几级流水线处理,使用何种存储器编址方式?答:ARM7TDMte理器采用三级流水线。ARM处理器将存储器看做是一个从 0开始的线性递增的字节集合。7、ARMt理器哪几种状态和模式?答:共7种。(1)用户模式(2)快速中断模式(3)外部中断模式(4)管理模式(5)数据访问中断模式(6)系统模式(7)未定义指令模式8、简述ARMt理器两种状态的应用特点。答:ARM犬态:处理器执行32位字对齐方式的ARM旨令,每条ARM旨令长度为32位,指令的功能强大,处理器默认为此状态。Th

6、umb犬态:处理机执行16位半字对齐方式的Thumb每条Thumb旨令长 度为16 位,是ARM旨令功能的子集。9、简述ARMt理器7种模式的应用特点。答:(1)用户模式:ARMt理器正常的程序执行模式。(2)快速中断模式:用于高速数据传输或通道处理。(3)外部中断模式:用于通用的中断处理。(4)管理模式:操作系统使用的保护模式。(5)数据访问中断模式:当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。(6)系统模式:运行具有特权的操作系统任务。(7)未定义指令模式:当未定义的指令执行时进入该模式,可用于支持硬件处理器的软件仿真。10、 结合CPSR勺结构,说明其中的 M4:0的作用

7、和T位的作用。答:M4:0是模式控制位,这些位决定处理器的工作模式。T位:T位标志控制处理器按照 ARM旨令集运行,还是按照Thumb旨令集运行。11、 结合CPSR勺结构,说明其中的I位和F位的作用。答:I位和F位都是中断禁止标志位,用来时能或禁止 ARM勺两种外部中断。12、 简述ARM7TDMB部有哪些寄存器及特点。答:分别为31个通用32位寄存器和6个状态寄存器。它们不能在同一使劲同时被访问,对其的访问取决于处理器状态和处理器模式。13、 结合下表简述FIQ模式下有哪几个私有寄存器,这些私有寄存器有何使用特点?答:FIQ 模式下私有寄存器有 R8-fiq , R9-fiq , R10-

8、fiq , R11-fiq , R12-fiq , R13-fiq , R14-fiq ,和 SPSR-fiq。这些寄存器使得在发生 FIQ中断,处理器不必为保护寄存器而浪费时间,从而加速了FIQ的处理速度。14、 ARM7TDMH勺PC指向的是下一条将要执行的指令,这句话对吗?为什么?答:不对,PC中的内容总是指向正在“取指”指令的地址。15、 简述ARMt理器的CPS序口 SPSR勺功能、作用和工作方式。答:CPSR!当前状态寄存器,他可以在任何运行模式下被访问,它包括条件标志位,中断标志位,当前处理器模式标志位,以及其他的一些相关的控制盒状态位。ARM内核就是通过使用CPS陈监视和控制内

9、部操作的。SPSR用于保存CPSR勺当前值,从异常退出时贝U可由 SPS睐恢复CPSR16、 简述ARM7勺内部寄存器R13 R14 R15的主要功能、作用和工作方式。答:R13作为堆栈指针SP,用于指定堆栈操作出入口的地址。其他 6个R13寄 存器为 堆栈寄存器。为用户模式和系统模式共用一个。R14可以用作通用寄存器,也可以用作链接寄存器。链接寄存器用于保存子程序地址或者返回地址。R15:程序寄存器,总是指向正在“取指”的指令17、 什么是计算机的寻址方式? ARM7TDMfr几种寻址方式?答:寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、相对寻址。

10、18、 什么是堆栈? ARMfr的堆栈是如何定义和使用的?答:堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top)对数据项进行插入和删除。ARMa理器将RB作为堆栈指针SP,用于保存堆栈的出入口处地址。19、 何谓存储的“大端模式”、“小端模式” ?写出数据0x12345678在0x20000000字单元中“小端模式”下的存储细节。答:大端模式:按照数据的低字节存放在高地址中的顺序进行存储。小端模式:按照数据的高字节存放在高地址中的顺序进行存储。0x20000000 存放 0x78, 0x20000001 存放 0x56, 0x20000002存放 0x340x20000003

11、 存放 0x12。20、 什么是“字对齐”和“半字对齐”? ARM旨令必须字又t齐存放,Thumbt令必须半字对齐存放,这句话正确吗?答:如果一个字数据的访问存储地址 A能被4整除,即地址的低两位为零,则为 字对齐的存储器访问。如果一个半数据的访问的存储地址 A能被2整除,即地址的最低位为零,则 为半字 对齐的存储器访问,如果Thumb犬态下将一个非字对齐的地址写入 PG则数据在写入PC时第0位被忽略,最终PC的bit0为0,将会产生不可预料的结果。21、 ARM旨令长度和Thumb®令长度固定位长吗?位长分别是多少?答:固定,ARMfc一个字(32bit ) , Thumb为一个半

12、字(16bit )22、 ARM7TDMN勺中断分为那两类?在 CPU®别如何分别屏蔽?答:分别为IRQ, FIQ ,在cpu级别通过状态寄存器CPSFfr的I和F位置位来屏蔽。23、 什么是 ARM7TDW的异常?简述 ARM7TDM的复位、IRQ、FIQ和软中断等几种主要异常的控制原理。答:异常是指正常的程序被暂时中止的状态模式。复位异常时处理器进行管理模式执行相应操作,I和F均为禁止;软中断异常也进入管理模式,I位禁止;IRQ异常时进入中断模式,I位禁止;FIQ异常进 入快速 中断模式,I和F位均为禁止,都是通过异常向量表。24、 简述ARM7TD师产生复位、IRQ、FIQ和软

13、中断等几种主要异常的条件,这几 种异常会使ARg别进入到哪种模式? ARMS响应异常的过程,以及这几种异常地返回指令是 什么?答:复位异常:当nRESETW号被拉低时,ARMfe理器放弃正在执行时的指令,等到nRESET 下信号再次变高时,ARM执行下列操作:(1)强制M4:0复为10011,进入管理模式;(2)将 CPSFR的I和F置位;(3)将CPSW的T位清零(4)强制pc从地址0x00开始对下一条指令进 行取值;(5)返回ARM犬态并回复执行,无返回指令。IRQ:只有CPSRH目应的I位被清除时,才可能发生IRQ异常,进入中断模式,内核自动 作如下处理:(1)将异常处理的返回地址保存到

14、 R14-irq中(2)用户模式的CPS被保存到SPSR-irq 中;(3)修改CPSR禁止新的IRQ中断产生,进入ARM犬态,IRQ模式(4)置IRQ模式下的IRQ 异常处理程序的中断入口地址向量。地址 0x00000018。返回指令:subs pc, R14-irq , #4FIQ:只有CPSW的想用下位被清零时,才发生下IQ异常进入FIQ模式,FIQ中的8个专 用寄存器用来保护中断地址。其返回指令:subspc, R14-fiq,#4软中断swi :用于进入“管理模式”,通常用于请求一个特定的管理函数。 返回指令:movspcR14-svc三、ARM7TDMW令系统1、ARM7TDMt持

15、哪几种指令集,各有什么特点?答:支持ARM旨令集和Thumb旨令集两种。ARM旨令集:指令32位,效率高,代码密度低,所有 ARM旨令都是可以有条件执行的。Thumb旨令集:指令16位,代码密度较高,Thumb1令仅有一条指令具备条件 执行功2、ARM匚编指令的基本格式?答:基本指令:在ARM旨令集中,每条指令占有4个字节,即指令长度为32位。3、何谓ARM旨令的条件码?默认的条彳码是什么?举例说明 ARM旨令的条件码对指 令执行的影响。答:条件码是按照指定条件执行的操作条件:默认条件码是AL (无条件执行)例子:比较两值大小,并进行相应加 1处理:cmpR0 R1; ADDHIR0 R0,

16、#1; ADDLSR1 R1, #14、解释何为“满堆栈”、“空堆栈”、“递增堆栈”和“递减堆栈"?ARM旨令系统中是如何支持的?答:满堆栈:堆栈指针指向最后压入栈的有效数据项。空堆栈:堆栈指针指向下一个待压入数据的空位置。递增堆栈:在向堆栈写入数据后,堆栈指针的值变大,即向高地址方向生长。递减堆栈:在想堆栈写入数据后,堆栈指针的值变小,即向低地址方向生长。ARM旨令支持四种对战类型:满递增,空递增,满递减,空递减。5、请说明MOV旨令与LDR加载指令的区别和用途。答:LDR的操作数既可以来源于寄存器也可以来源于存储器,MOV勺操作数能来源于寄存器。LDR旨令从内存中读取数据放入寄存

17、器,用于对内存变量和数据的访问、查表、程序的跳转、外围部件的控制操作等; MOV旨令将8位立即数或寄存器传送到目标寄存器(Rd),可用于移位运算等操作。6、解释B指令、BL指令与BX指令的功能差别?简述他们的应用场合。答:B指令:是分支指令,跳转到标号指定的地址程序。Bl指令:带连接的分支指令,跳转到指定的地址程序,同时还将程序计数器PC的值保存到LR寄存器中。BX指令:带状态切换的分支指令,跳转到 Rm指定的地址处执行程序,根据跳转地址 的最低位来切换处理器状态。B/BL指令跳转范围限制在当前指令的+-32MB地址内。7、解释SWI (软中断)指令的执行过程和典型应用。答:SWI指令用于产生

18、软中断,从而实现先从用户模式到管理模式的变换。在切换时,CPSR 寄存器内容将保存到管理模式的 SPSR中,同时程序跳转到SWI异常向量入口处。SWI用于系统功 能调用。8、ARM匚编指令条件码如下表,分析下两段程序片断的功能,写出其等价的类C语言 功能描述:条件 助记符标志含义EQZ=1相等NEZ=0不相等CS/HSC=1无符号数大于或等于CC/LOC=0无符号数小于MIN=1负数PLN=0正数或零VSV=1溢出VCV=0没有溢出HIC=1, Z=0无符号数大于LSC=0,Z=1无符号数小于或等于GEN=V有符号数大于或等于LTN!=V有符号数小于GTZ=0, N=V有符号数大于LEZ=1,

19、 N!=V有符号数小于或等于AL任何无条件执行(指令默 认条件)NV任何从不执行(/、要使用)程序片断1:CMP R0,R1ADDHIR0,R0,#1ADDL国1,R1,#1程序片断2:CMP R0,#10CMPNER1,#20ADDNR0,R0,R1答:if (R0>R1if(R0!=10)R0+;if(R1!=20)elseR1+;R0+=R1;9、结合ARM7TDMg构中的流水线结构,解释IRQ中断返回指令:SUBSPC,R14_irq,#4 的原理答:ARMTTDMI用三级流水线结构,PC指向正在取值的指令,产生IRQ时,保存在R14-IRQ 中的是PC的值,在返回时为保证正确性

20、应返回到 PC-4即中断前“正在译码”的指令地址。所以返 回指令为:subspc, R14-irq , #4;四、LPC2000系列ARM8件资源原理与使用1、 LPC2000系列器件有几种常见的封装形式和其封装特点?答:常见的封装有64脚封装,144脚封装特点:功耗低,有多个 32位定时器,多达 9个外部中断,16K字节静态 RAM 1/128/256k字节片Flash存储器,128为宽度接口加速器,4路10位ADCE 8路10 位 ADC (64脚和144脚封装),46或76112个GPIO(64脚和144脚封装)。2、 简要说明一下LPC2000系列器件片内存储器的特点?答:片内存储器分

21、为片内Flash和片内静态RAM片内Flash通过128位宽度的总线与ARMft核相连,具有很高的速度,特有的存储器加速功能,可以将程序直接放在Flash上运行。SRAM18位、16位和32位的读写访问。3、 在LPC2000系歹ARMS片中,内Flash有哪几种写入方式?答:(1)使用JTAG仿真/调试器,通过芯片的JTAG借口下载程序。(2)使用在系统编程技术,通过 UART骏口下载程序。(3)使用在应用编程技术,在用户程序运行时对 Flash进行擦出和/或编程操作, 实现数据的存储和固件的现场升级。4、 ARMS存器PC CPSR SPS的另I有什么用?答:PC是CUM的程序计数器,内容

22、总是指向正在“取指”指令的地址。CPSR!当前程序状态寄存器,用来监视和控制内部操作的。SPS时物理状态寄存,用于保存 CPSR勺当前值,从异常退出时则由它来恢复 CPSR5、 什么是ARMftt理器的异常? ARMftt理器是如何处理异常的?答:异常:在执行正常程序过程中,当发生某种异常事件或某种外部请求时,处理 器就 暂停执行当前的程序,进入异常模式。如何处理异常:1)保存执行状态:将CPSFfi制到发生的异常模式下的SPSFo2)模式切换:将CPSR奠式位强制设置为与异常类型相对应的值,同时处理器进 入到 AR帅行模式,禁止所有IRQ中断,当进入FIQ快速中断模式时禁止FIQ中 断。3)

23、保存返回地址:将下一条指令的地址(被打断程序)保存在LR (异常模式下LR_exceQ 中。4)跳入异常向量表:强制设置 PC的值为相应异常向量地址,跳转到异常处理程序16、 什么是ARM#系结构中的异常向量表?在应用中有何作用?答:处理器规定了异常处理程序入口的地址区间,并规定了地址的存放顺序,一 般称 为异常向量表。在异常处理过程中,可以加快异常服务的响应速度。7、 在AR"系结构中,异常向量表中存放的是什么内容?答:异常处理程序的程序入口地址。8、 在ARM体系结构中,异常向量表中0x0014 (保留字)单元存放的是什么内容?有何用途?答:保留的异常入口,早期的 ARM吉构中会

24、被用到,而在 ARM升是保留的,以 确保软 件能与不同的ARM吉构兼容。而在有些处理器芯片中,这 4个字节已经有 了非常特殊的用特。9、 什么是ISP技术? IAP技术?在实际应用中有何实际意义?答:ISP:在系统可编程指电路板上的空白器件可以编程写入最终用户代码而不需要从电路板上取下器件已经编程的器件也可以用 ISP方式擦除或再编程。IAP:是指在应用编程,即在程序运行中编程,就是片子提供一系列的机制(硬件/软件上的)当片子在运行程序的时候可以提供一种改变 flash数据的方法。10、 LPC2000系列器件中,许多芯片的引脚具有多种功能,应用中如何使用其特定的功能?答:设置寄存器 PINS

25、EL0 PINSEL1 PINSEL2为特定功能的值。11、 简述LPC2000系列芯片的引脚设置寄存器 PINSEL0 PINSEL1 PINSEL2的具体功答:PINSEL0空制弓|脚P0.0P0.15的连接状态,每两位控制一个引脚。PINSEL1控制引脚P0.16-P0.31的连接状态,每两位控制一个引脚。PINSEL2空制P1端口和P2端口。12、简述LPC2000系列芯片内部GPIO的功能特点?答:(1)可以独立控制每个 GPIO口的方向;(2)可以独立设置每个 GPIO的输出状态;(3)所有GPIO口在复位后默认位输入状态。13、 结合GPIO结构原理图,简述GPIO的工作方式设置

26、内容答:芯片某个管脚首先经过unix功能选择,对应PINSELx寄存器选择其功能,如 果选 择GPIO功能,在经过MUX笄IOxDIR寄存器对应位选择,控制管脚输入输出方向,GPIO管脚输入时通过IOxPIN寄存器读入,输出时通过IOxSET或IOxCLR寄存器控制输出实现对应 GPIO管脚 的控制。14、 设计编程:LPC2131的P0.7引脚连接了一个蜂鸣器,编程发出等周期的滴滴声答:#defineVoidDelayNS (intm) inti ;for(;m>0;m-)for(i=0;i<50000;i+)main()PINSEL0=0x00000000;IO0DIR=1&l

27、t;<7;while(1)IO0SET=1<<7;DelayNS(50);IO0CLR=1<<7;DelayNS(50);15、 设计编程:LPC2131的P01:0两引脚分别连接了 2个按键K1和K4; P07:6两引脚分别连接了 2个指示灯LED1和LED2请编制驱动程序,使 Kx按键时,LEDx灯亮。答:#definek11<<0#definek21<<1#defineLED11<<7#defineLED21<<8main()PINSEL0=0x00000000;IO0DIR=IO0DIR&(k1);I

28、O0DIR=IO0DIR&(k2);IO0DIR=IO0DIR|LED1;IO0DIR=IO0DIR|LED2;IO0CLR=IO0CLR|LED1|LED2;While(1)If(IO0PIN&k1)=0)IO0SET=LED1;elseIO0SET=LED1;If(IO0PIN&k2)=0)IO0SET=LED2;elseIO0SET=LED2;16、 名词解释:中断、中断源、中断优先级、中断屏蔽、中断向量、中断响应、中断控制。答:中断:CPUS执行一个程序时,对系统发生的某个事件(程序自身或外界的原因)作出的一种反应:CPUT停正在执行的程序,保留现场后自动转去处

29、理相应的 事件,处理完该事件 后,到适当的时候返回断点,继续完成被打断的程序。中断源:把引起中断的原因,或者能够发出中断请求信号的来源统称为中断源。中断优先级:为使系统能及时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干个级别,称作中断优先级。中断屏蔽:中断向量:中断服务程序的入口地址。中断响应:中断响应是当中央处理机发现已有中断请求时,中止,保存现行程序执行,并自动引出中断处理程序的过程。中断控制:CPUtt否暂停正在执行的中断服务程序,而转去执行为另一个中断源而编写的中断服务程序,如果另一个中断源的优先级高,CPLB暂停正在执行中断服 务程序而转去执

30、行为另一个中断源而编写的中断服务程序,否则,另一个中断源就不能打断正在执行的中断服务程序。17、 结合ARMVIC吉构原理图,简述ARM#系结构中的中断控制原理。1)向量中断控制器(VIC)的功能特点?2)中断信号的来源?中断信号的标示?3)中断信号如何屏蔽?如何清除?4) ARMR从何处获得中断向量?5)如何将中断源指派为IRQ、FIQ?6)向量IRQ的设置方法?答:(1)最多32个中断请求输入;16个向量IRQ中断;16个优先级,可动态分配优先 级;可产生软件中断;当I=1时,禁止IRQ中断,反之使能之;当F=1时,禁止FIQ中断,反之使能之。(2)答:18、 ARMS片中定时器结构原理如

31、下图,试设计一个周期为2秒的方波发生器。(假设该系统的外围设备时钟频率 Fpclk=10MHZ)答:intmianPINSEL0=PINSEL0&(1(3<<10)|(2<<10);T0CTCR=0x00;T0TC=0;T0PR=99;T0MCR=0x02<<3;T0MR1=Fpclk/100;T0EMR|=0xc2;T0TCR=0x01;While(1);19、 使用学过的知识设计设计一个汽车用“车速表”,写出你的设计方案并编程实现。提示:可用霍尔元件将车轮的转动转换为脉冲。车轮每转动一圈会产生一个方波脉冲。答:转动脉冲:void_irqIRQ_Timer0(void)if(IO0SET&BEEP)=0)IO0SET=BEEP;/关15 BEEP*/elseIO0CLR=BEEP;T0IR=0x01;/*清除中断标志*/VICVectAddr=0x00;/*通知VIC中断处理结束*/)intmain(void)(intspped=1;PINSEL1=0x00000000;/*设置管脚连接 GPIO*/IO0DIR=BEEP;/*设置 BEEP空制口输出 */IRQEnable();/*IRQ 中断使能 */*定时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论