ARM课后习题及答案_百度文库.
ARM题库含答案

ARM题库含答案一、判断题(共100题,每题1分,共100分)1.Linux的特点有内核小,功能强大,运行稳定,效率高等。
A、正确B、错误正确答案:A2.数码管共阴接法是指将负极接在一起。
A、正确B、错误正确答案:A3.复位时RSET引脚直接接电源A、正确B、错误正确答案:B4.使能时钟工作步骤是:1、配置CPU主时钟的来源,以及主时钟的具体频率。
2、配置各部件时钟的具体频率,并打开各部件时钟。
A、正确B、错误正确答案:A5.在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,BOOT1=0BOOT0=1从用户闪存启动,这是正常的工作模式。
A、正确B、错误正确答案:BS电路比TTL电路功耗大。
B、错误正确答案:B7.串口的发送与接受寄存器都是USART_DRA、正确B、错误正确答案:A8.储存器控制器全部寻址空间为1GBA、正确B、错误正确答案:A9.若定义任务task1的优先级为12,则不能再定义其他任务的优先级为12A、正确B、错误正确答案:A10.S3C2410X有24个外部中断源A、正确B、错误正确答案:A11.RCC_APB2PeriphClockCmd()函数是设置外设时钟。
A、正确B、错误正确答案:A12.我们通常将按键对应的引脚设置为上拉输入模式A、正确正确答案:A13.STM32F103ZET6芯片具有全球唯一A、正确B、错误正确答案:A14.MicroSD卡是一种常用的闪存卡,掉电保存,用于存储大量数据。
A、正确B、错误正确答案:A15.DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低、抗干扰能力强,精度高的特点。
A、正确B、错误正确答案:A16.寄存器r15作为程序计数器。
A、正确B、错误正确答案:A17.STM32开发板LED指示灯的阳极接CPU的PC0-PC7。
A、正确B、错误正确答案:B18.HSI是高速内部时钟,频率为8MHzA、正确B、错误正确答案:A19.VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。
ARM嵌入式系统结构与编程习题答案邱铁著

ARM嵌入式系统结构与编程习题答案邱铁著第8章ARM汇编语言与嵌入式C混合编程1.严格按照嵌入式C语言的编程规范,写一个C语言程序,实现将一个二维数组内的数据行和列进行排序。
答:略2.嵌入式C程序设计中常用的移位操作有哪几种,请说明每种运算所对应的ARM指令实现。
答:移位操作分为左移操作与右移操作左移运算符―<右移运算符―>>‖实现将―>>‖左边的操作数的各个二进制位向右移动―<对于空位的补齐方式,无符号数与有符号数是有区别的。
对无符号数进行右移时,低位丢弃,高位用0补齐,其值相当于除以:2―右移位数‖次方对有符号数进行右移时,根据处理器的不同选择逻辑右移或算术右移3.volatile限制符在程序中起到什么作用。
请举例说明。
答:volatile的本意为―暂态的‖或.―易变的‖,该说明符起到抑制编译器优化的作用。
如果在声明时用―volatile‖关键进行修饰,遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供特殊地址的稳定访问。
例:硬件端口寄存器读取Char某=0,y=0,z=0;某=ReadChar(0某54000000);//读端口y=某;某=ReadChar(0某54000000);//再读端口z=某;以上代码可能被编译器优化为Char某=0,y=0,z=0;某=ReadChar(0某54000000);//读端口y=某;z=某;为了确保某的值从真实端口获取,声明时应该为Volatilechar某;Chary,z;4.请分析下列程序代码的执行结果。
#includemain(){intvalue=0某FF1;int某p1,某某p2,某某某p3,某某某某p4;p1=&value;p2=&p1;p3=&p2;p4=&p3;printf(\}答:程序输出结果为:某某某某p4=40815.分析宏定义#definePOWER(某)某某某是否合理,举例说明。
ARM原理及应用复习题(附答案)

《ARM原理及应用》复习题填空题1.STM32F103是_32_位单片机,内核是ARM公司的___Cortex-M3___。
2.STM32F103最高工作频率___72MHz___。
片内具有多种外设,它们分别是:_GPIO_、_USART_、_I2C_、_SPI_、_ADC_、_DAC_、_TIM_、_RTC_、_IWDG_、_WWDG_。
IWDG:独立看门狗WWDG:窗口看门狗3.STM32103的GPIO端口具有多种配置状态,输入有3种状态,它们分别是_模拟输入_、_浮空输入__和上拉/下拉输入;输出有4种状态,它们分别是_通用推挽输出_、_通用开漏输出_、_复用推挽输出_和_复用开漏输出_。
5.当STM32I/O端口配置为输入时,输出功能被_禁止_,施密特触发器被激活__。
6.STM32的所有端口都有外部中断能力。
当使用外部中断线时,相应的引脚必须配置成输入模式。
7.STM32具有单独的位设置或位清除能力。
这是通过GPIOx->BSRR_和GPIOx->BRR寄存器来实现的。
8.STM32芯片内部集成的12位位ADC是一种逐次逼近(比较)型模拟数字转换器,具有18个通道,可测量16个外部和2个内部信号源。
9.STM32的NVIC管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现时延的中断处理,并有效地处理后到中断。
10.系统计时器(SysTick)提供了1个24位二进制递减计数器,具有灵活的控制机制11.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、向下计数模式和向上下计数模式。
12.STM32系列ARM Cortex-M3芯片支持三种复位形式,分别为上电复位、按键复位和备份复位。
简答题1.什么是嵌入式系统?嵌入式系统一般由哪几部分构成?它与通用计算机有何区别?答:是一种嵌入受控器件内部,为特定应用而设计的专用计算机系统,具有“嵌入性”、“专用性”和“计算机系统”3个基本要素。
ARM嵌入式系统习题课1

(6) CMP指令是如何执行的?写一程序,判断R1的值是否大于0x30,是则 将R1减去0x30。 答:CMP指令是将寄存器Rn的值减去operand2的值,根据操作的结果更新 CPSR中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是 否执行。 比如: CMP {cond} Rn,operand2 CMP R1,#0x30 ;将R1与常数0x30比较 LDRLE PC,LR;如果小于或等于0x30,则程序返回 SUB R1,R1,#0x30;大于0x30,则将R1减去0x30,结果存回 R1 (7)调用子程序是用B指令还是用BL指令?请写出返回子程序的指令。 答:调用子程序是用BL指令; MOV PC,LR 或 BX LR
• 2、定义R0 =0x12345678,假设使用存储指令将R0的值放在0x4000单元中。 如果存储器格式为大端格式,请写出在执行加载指令将存储器0x4000单元 内容取出存放到R2寄存器操作后所得R2的值。如果存储器改为小端格式, 所得的R2值又为多少?低地址0x4000单元的字节内容分别是多少?
PC,
第三章
ARM7TDMI(-S)指令系统
(1)ARM7TDMI(-S)有几种寻址方式?“LDR R1,[R0,#0x08]”属于哪种寻址 方式? 答:有8种寻址方式:1.寄存器寻址 2.立即寻址 3.寄存器移位寻址 4.寄存器 间接寻址 5.基址寻址 6.多寄存器寻址 7.堆栈寻址 8.相对寻址;“LDR R1,[R0,#0x08]”属于基址寻址。 (3) ARM指令中的第2个操作数有哪几种形式?列举5个8位图立即数。 答:a.常数表达式(8位图) b.寄存器方式 c.寄存器移位方式; 八位位图即常熟是由一个八位的常数循环移位偶数位得到的 0x3FC、0、0xF0000000、200、0xF0000001。 (5)请指出MOV指令与LDR加载指令的区别及用途? 答:MOV指令的源操作数是常数或(带偏移量的)寄存器,用于寄存器之 间的数据传送;LDR指令的源操作数是地址,用于存储器到寄存器的数据传 送。
习题ARM指令

• 哪些ARM指令可以有条件的执行? • 下面的指令完成什么工作?
MOVNES r2,r3,ASR #2
3) Thumb代码与ARM代码比较的两大优势? 4) AMBA代表是什么?
大家好
1
5. 写一条 ARM 指令,分别完成下列操作:
a) r0 = 16 b) r0 = r1 / 16 (带符号的数字)
地址递减
13. 当 执行SWI 指令时,会发生什15.写一段汇编代码 来测试Q flag(cpsr的第 27位),结果放在R0中, 并清零.Q
大家好
4
结束
大家好
5
大家好
2
• 9.编写一个ARM汇编程序,累加一个队列中的所 有元素,碰上0时停止。结果放入 r4。
10. 写几条ARM 指令,使能IRQ中断
11. 下列 ARM 指令将做什么?
0
a) LDRH r0,[r1,#6]
0x22
b) LDR r0, =0x999
0x11
r0
12.在装载或存储指令中, “!”表示什么?
c) r1 = r2 * 3
d) r0 = -r0
6. 下面哪些立即数是数据处理指令中有效的数 据?
a) 0x00AB0000
b) 0x0000FFFF
c)
0xF000000F
d) 0x08000012
e) 0x00001f80
f)
0xFFFFFFFF
7. BIC指令做什么用? 8. 为什么ARM 处理器增加了一条RSB 指令?
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)、网络组件组成。
ARM知识复习题(带参考答案)

ARM知识复习题(带参考答案)请在正确的选项后点击,错选、多选、少选或不选均不得分。
1.[单选题]ARM的全称是什么? AA:Advanced RISR MachinesB:A Run MachineC:Advanced Research ManD:Addressed Red Middle2.[单选题]ARM芯片采用什么样的体系结构?AA:RISCB:CISCC:x86D:MIPS3.[单选题]ARM的指令执行靠什么驱动? AA:流水线B:微代码C:电容放电D:电磁感应4.[单选题]ARM使用什么样的总线协议? AA:AMBAB:CANC:1553b总线D:TCP/IP5.[单选题]ARM采用多少位的体系结构? BA:64位B:32位C:16位D:8位6.[单选题]根据ARM命名规则,ARM7TDMI的D代表什么意思?AA:debugB:支持Thumb指令C:多媒体处理D:支持Jazelle加速7.[单选题]根据ARM命名规则,ARM7TDMI的T代表什么意思?BA:debugB:支持Thumb指令C:多媒体处D:支持Jazelle加速8.[单选题]Intel生产的ARM芯片叫什么? DA:PowerPCB:MIPSC:FirecoldD:xscale9.[单选题]ARM体系结构中共有多少个物理寄存器? AA:37个B:10个C:12个D:72个10.[单选题]ARM使用那个寄存器存放程序的返回地址? AA:R14B:r12C:cpsrD:spsr11.[单选题]用户模式下的可见通用寄存器个数为多少个? BA:37个B:16个C:38个D:39个12.[单选题]当前程序状态字寄存器的名称是什么? AA:CPSRB:SPSRC:MCRD:MSR13.[单选题]ARM共有几种处理器模式? AA:7B:8C:9D:1014.[单选题]ARM用于响应快速外部中断的处理器模式叫什么? A A:FIQB:IRQC:数据异常D:SWI15.[单选题]ARM上电后进入哪种模式? BA:FIQ模式B:管理模式C:IRQ模式D:数据异常模式16.[单选题]当程序直接改写cpsr来切换模式时,cpsr会被复制到spsr? BA:会B:不会C:根据程序的执行状态决定是否影响D:根据执行的指令决定是否影响17.[单选题]Thumb指令集的长度是多少?AA:16B:32C:64D:7218.[单选题]ARM的启动向量? BA:0xffffffffB:0x00000000C:0x11110000D:0000ffff19.[单选题]提供了安全解决方案的ARM系列产品是以下系列中的哪一种? BA:PowerPCB:SecurCoreC:OMAP20.[单选题]ARM处理模式中,除以下那一种其他模式均为特权模式? AA:用户模式B:管理模式C:IRQ模式D:数据异常模式21.[单选题]当处理器访问存储器失败时,将发生哪种异常? AA:Data AbortB:指令预取异常C:IRQ中断请求D:FIQ中断请求22.[单选题]各种模式下通用的寄存器有那些? AA:r0~r7B:r0~r12C:r0~r37D:r0~r423.[单选题]程序员可见的寄存器有哪些? BA:r0~r15B:r0~r15、cpsrC:r0~r15、cpsr、spsrD:r0~r3724.[单选题]通常用作堆栈指针的寄存器叫什么名字? AB:r14C:r15D:cpsr25.[单选题]通常用来保存子程序返回地址的连接寄存器叫什么?BA:r1B:r14C:spsrD:cpsr26.[单选题]下列那个寄存器被当作程序计数器pc? DA:r12B:r13C:r14D:r1527.[单选题]程序状态寄存器CPSR的C位表示什么? CA:运算结果为负B:运算结果为0C:运算结果产生进位D:结果溢出28.[单选题]如何禁止IRQ中断? AA:将CPSR寄存器的I位置1B:将CPSR寄存器的F位置1C:将CPSR寄存器的T位置1D:将CPSR寄存器的C位置129.[单选题]正常程序执行过程中,每执行一条ARM指令,程序计数器寄存器的值加多少字节?DA:1字节B:2字节C:3字节D:4字节30.[单选题]ARM上电执行下列哪种异常? AA:ResetB:未定义指令C:IRQD:FIQ31.[单选题]ARM中哪个异常优先级最高? AA:ResetB:未定义指令C:IRQD:FIQ32.[单选题]处理器上电默认进入哪种状态? AA:ARMB:ThumbC:JazelleD:由芯片的硬件连线决定33.[单选题]使用单一平板地址的ARM地址空间,最大寻址空间为多少? BA:2GB:4GC:1G34.[单选题]什么样的ARM指令可以条件执行? AA:所有的B:部分C:极少数D:没有35.[单选题]条件指令助记符EQ代表什么? BA:不相等B:相等C:大于D:等于36.[单选题]ARM中位于主存储器和内核之间的快速存储器叫什么?AA:CacheB:MMUC:MPUD:SDRAM37.[单选题]下列处理器的处理速度,哪个更接近ARM9? BA:80MHzB:150MHzC:260MHzD:335MHz38.[单选题]下列所列出的指令条件执行的助记符,哪一个代表不相等? AA:NEC:GED:LT39.[单选题]指令的三级流水线中,预取阶段完成的任务是? AA:从存储器装载一条指令B:识别将被执行的指令C:ALU处理指令D:把结果写会计算器40.[单选题]ARM9使用几级流水线? CA:3级B:4级C:5级D:6级41.[单选题]ARM汇编指令中,用于实现加法运算的是哪条指令?AA:ADDB:SUBC:MULD:MOV42.[单选题]ARM汇编指令中,用于实现减法运算的是哪条指令?BA:ADDB:SUBC:MULD:MOV43.[单选题]ARM汇编指令中,用于实现乘法运算的是哪条指令?CA:ADDB:SUBC:MULD:MOV44.[单选题]ARM汇编指令中,用于实现寄存器数据搬移操作的是哪条指令? DA:ADDB:SUBC:MULD:MOV45.[单选题]下面所列指令,哪一条指令语法格式正确? BA:ADD r1,r2B:ADD r1,r2,r3C:MOV r1,r2,r3D:LDR r1,r246.[单选题]ARM汇编指令中,用于实现64位无符号乘法运算的是哪条指令? AA:UMULLB:UMLALC:MULD:MOV47.[单选题]ARM汇编语言中,用于实现软中断的是哪条指令? CA:ADDB:SUBC:SWID:MOV48.[单选题]中断向量表中(假设中断向量表起始地址在0x0),软中断的中断向量是多少? CA:0x00B:0x04C:0x08D:0x0c49.[单选题]CMP指令用于实现什么功能? AA:32位数比较B:切换跳转C:断点指令D:零计数50.[单选题]ARM指令中对立即数的操作有一定限制,下面所列立即数中,属于合法立即数的是哪一个? DA:0x101B:0x102C:0xff1D:0xff51.[单选题]指令MOV r0,r1,LSL,#3中,LSL的作用是? BA:算术右移B:逻辑左移C:逻辑右移D:循环右移52.[单选题]下列哪条指令可以实现r1=r0×3? AA:ADD r1,r0,r0,LSL #1B:ADD r1,r0,r0,LSL #3C:MOV r1, r0,LSL #1D:MOV r1,r0,LSL #353.[单选题]默认情况下,数据处理指令是否影响程序状态字寄存器? CA:影响B:不影响C:根据指令的不同,影响情况不同D:根据程序执行状态,决定是否影响程序状态字寄存器54.[单选题]下列判断中,对ARM指令集和Thumb指令集的关系描述正确的是? BA:ARM指令集是Thumb指令集的子集B:Thumb指令集是ARM指令集的子集C:Thumb指令集是ARM指令集的补充D:ARM指令集是Thumb指令集的补充55.[单选题]Thumb指令集的长度是多少? BA:32位B:16位C:除MOV指令32位外,其他指令均为16位D:可以通过编译器的选项设定其是16位还是32位56.[单选题]ARM处理器中的哪个部分可以实现物理地址到虚拟地址的映射?DA:ALUB:桶型移位寄存器C:CacheD:MMU57.[单选题]ARM中规定了一些子程序间调用的基本规则,该规则名称是什么? AA:ATPCSB:TPACSC:APCSTD:ACSTP58.[单选题]ATPCS中规定,使用哪个寄存器存放程序的返回地址?AA:r14B:r13C:cpsrD:spsr59.[单选题]ATPCS中规定,使用哪个寄存器存放堆栈基地址? BA:r14B:r13C:cpsrD:spsr60.[单选题]ATPCS中规定,用哪些寄存器传递参数? AA:r0~r3B:r0~r8C:r8~r12D:r0~r1261.[单选题]下列描述中,哪些是正确的?(都不正确)A:ARM不包含除法硬件B:ARM9以后的版本中包含除法硬件C:ARM中的除法交给协处理器完成D:ARM体系结构中专门的除法逻辑62.[单选题]下列哪个指令可以实现处理器的状态转移? CA:BB:BLC:BXD:MOV63.[单选题]外部中断发生时,处理器进入哪种状态? AA:ARMB:ThumbC:JazelleD:由芯片的硬件连线决定64.[单选题]下列哪条指令可以实现把r0中的数据保存到内存单元(r1+100)中? AA:STR r0,[r1,#100]B:STR r0,[r1,#200]C:STR r0,[r1,#300]D:STRr0,[r1,#400]65.[单选题]对MMU和MPU的区别描述正确的是? DA:MPU除有内存单元保护功能外,还具有虚拟地址到物理地址的映射功能B:两种功能相同,可以在不同的芯片上集成不同的模块C:MMU的功耗比MPU低D:MMU除有内存单元保护功能外,还具有虚拟地址到物理地址的映射功能66.[单选题]指令MOV r1,#0x09正确执行后,r1的结果是多少?(A、B)A:9B:0x09C:结构不可知D:不同的ARM版本,执行的结构不一样67.[单选题]下列哪条指令,可以实现将地址单元(r1+r2×4)的数据读到r0? AA:LDR r0,[r1,r2,LSL ×2]B:LDR r0,[r2,r1,LSL ×2]C:STR r0,[r1,r2,LSL ×2]D:STR r0,[r2,r1,LSL ×2]68.[单选题]下面哪条指令使用了ARM中的桶型移位寄存器? CA:LDR r0,[r1, #2]B:LDR r0,[r2]C:STR r0,[r1,r2,LSL #2]D:STR r0,[r2, #2]!69.[单选题]假设r0=0x01,r1=0x03,正确执行ADD r0,r0,r1后,r0的值为? DA:0x01B:0x02C:0x03D:0x0470.[单选题]CPSR寄存器的作用是什么? AA:存储当前的处理器状态B:程序计数寄存器C:中断状态寄存器D:堆栈指针寄存器71.[单选题]中断向量表中(假设中断向量表起始地址在0x00),位于0x08地址的中断是什么?DA:FIQB:IRQC:Data AbortD:SWI72.[单选题]ARM上的外设中断,通常产生哪种异常? BA:FIQB:IRQC:Data AbortD:SWI73.[单选题]假设r0=0x05,r1=0x03,正确执行SUB r0,r0,r1后,r0的值为? BA:0x01B:0x02C:0x03D:0x0474.[单选题]假设r0=0x01,r1=0x03,正确执行ADD r0,r0,r1 LSL #1后,r0的值为?CA:0x05B:0x06C:0x07D:0x0875.[单选题]假设r0=0x01,r1=0x03,正确执行MOV r0,r1后,r0的值为?CA:0x01B:0x02C:0x03D:0x0476.[单选题]假设r0=0x01,r1=0x03,正确执行MOV r0,r1 LSL #1后,r0的值为? BA:0x05B:0x06C:0x07D:0x0877.[单选题]ARM上实现内存管理的单元叫什么? AA:MMUB:CacheC:MPUD:VFP78.[单选题]下列哪些指令可以协处理器的访问? AA:MRCB:ADDC:LDRD:STM79.[单选题]下列哪条指令执行完成后,可以影响程序的标志状态寄存器? BA:MOV r1,r2B:CMP r1,r2C:ADD r0,r1,r2D:SUB r0,r1,r280.[多选题]ARM支持哪几种指令集? ABA:ARMB:thumbC:JavaD:x8681.[多选题]ARM内核有几种状态? ABA:ARM状态B:Thumb状态C:Jazelle状态D:中断状态82.[多选题]ARM的3级流水线包括哪几个阶段? ABCA:取址B:译码C:执行D:运算83.[多选题]下列哪些指令可以放在向量表中? ABCDA:跳转指令B:MOV指令C:LDR指令D:ADD指令84.[多选题]ARM处理器有两个级别的中断请求,他们分别是?ABA:IRQB:FIQC:AbortD:Reset85.[多选题]ARM上实现内存管理的单元叫什么? AA:MMUB:cp15C:MPUD:VFP86.[多选题]下列指令中,哪些指令可以实现程序的跳转? ABCDA:BB:BLC:BXD:BLX87.[多选题]下列指令中可以实现多寄存器传送的指令有哪些? ABA:LDMB:STMC:LDRD:STR88.[多选题]多寄存器传送指令LDM/STM有哪几种寻址方式?ABCDA:IA(Increment After)事后增址B:IB(Increment Before)事先增址C:DA(Decrement After)事后递减D:DB(Decrement Before)事先递减89.[多选题]下列哪些指令可以实现对协处理器的访问? ABA:MRCB:MCRC:LDRD:STM90.[多选题]下列哪个指令可以实现处理器的状态转移? CDA:BB:BLC:BXD:BLX91.[多选题]ARM异常包括? ABCDA:复位B:未定义指令C:数据异常D:软件异常92.[多选题]下列哪些指令可以实现把r0中的子数据保存到内存单元(r1+100)中? ABA:STR r0,[r1,#100]B:STR r0,[r1,#100]!C:STR r0,[r1],#100D:STR r0,[r1,#400]93.[多选题]下列指令执行完成后,使寄存器r1的值发生变化的是哪些? BCA:STR r0,[r1,#100]B:STR r0,[r1,#100]!C:STR r0,[r1],#100D:STR r0,[r1,#400]94.[多选题]下列哪条指令没有使用ARM中的桶型移位寄存器?ADA:LDR r0,[r1, #2]B:LDR r0,[r2,r1,LSL #2]C:STR r0,[r1,r2,LSL #2]D:STR r0,[r2, #2]!95.[多选题]ARM的中断向量号可以位于什么地址上? ADA:0x00000000B:0xffffffffC:0x0000ffffD:ffff000096.[多选题]下列描述中,哪些不正确的是哪些? ABCDA:ARM不包含除法硬件B:ARM9以后的版本中包含除法硬件C:ARM中的除法交给协处理器完成D:ARM体系结构中专门的除法逻辑97.[多选题]下列哪些指令执行完成后,可以影响程序的标志状态寄存器? BCA:MOV r1,r2B:CMP r1,r2C:ADDS r0,r1,r2D:SUB r0,r1,r298.[多选题]对CPSR寄存器的作用描述不正确的是?BCDA:存储当前的处理器状态B:程序计数寄存器C:中断状态寄存器D:堆栈指针寄存器99.[多选题]下列哪些指令可以访问程序状态寄存器? AA:MRSB:MCSC:LDRD:STM100.[多选题]下列指令执行完成后,使寄存器r0的值没有发生变化的是哪些? ADA:STR r1,[r0,#100]B:STR r1,[r0,#100]!C:STR r1,[r0],#100D:STR r1,[r0,#400]。
arm嵌入式系统试题及标准答案

arm嵌入式系统试题及标准答案一、选择题1. ARM的英文全称为()。
A. Advanced RISC MachinesB. Advanced Reduced Instruction Set ComputingC. Advanced Risk Instruction Set MachinesD. Advanced Reduced Innovative System Machines 正确答案:A2. ARM的发展平台主要有()。
A. CortexB. Keil MDKC. MbedD. All of the above正确答案:D3. ARM架构中,RISC指的是()。
A. Reduced Instructions for Simple ComputingB. Reduced Instruction Set ComputingC. Reduced Instructions for Speedy ComputingD. Reduced Innovative System Computing正确答案:B4. ARM的家族庞大,主要分为()。
A. ARMv1-ARMv5B. ARMv6-ARMv7C. ARMv8-ARMv12D. ARMv12-ARMv16正确答案:B5. 在ARM处理器中,Cortex-A系列主要针对()。
A. 浮点运算B. 实时性C. 安全性D. 性能正确答案:D二、填空题1. ARM架构的特点之一是指令集精简,采用()指令集。
正确答案:RISC(Reduced Instruction Set Computing)2. ARM处理器的体积小、功耗低的特点使得其在()领域得到广泛应用。
正确答案:嵌入式系统3. ARM主要设计并销售()和相关的软件开发工具、IP核等。
正确答案:处理器4. Keil MDK是由ARM公司开发的()。
正确答案:集成开发环境5. ARM Cortex-M系列处理器适用于对能耗和成本有严格要求的()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章思考与练习 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采用几级流水线?使用何种存储器编址方式?三级流水线(取指译码执行);使用了冯·诺依曼(Von Neumann )结构,指令和数据共用一条32 位总线。
3、ARM处理器模式和ARM处理器状态有何区别?处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态,处理器状态指的是处理器当前所执行的指令集。
4、分别列举ARM的处理器模式和状态。
状态: ARM 状态 32 位,这种状态下执行的是字方式的ARM 指令 Thumb 状态 16 位,这种状态下执行半字方式的 Thumb 指令模式:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。
5、PC和LR分别使用哪个寄存器? PC使用R15寄存器,LR使用R14寄存器 6、R13寄存器的通用功能是什么?堆栈第四章1、基础知识(1)ARM7TDMI(-S有几种寻址方式?LOR R1,[R0,#0x08]属于哪种寻址方式? 1. 寄存器寻址;2. 立即寻址;3. 寄存器移位寻址;4. 寄存器间接寻址;5. 基址寻址;6. 多寄存器寻址;7. 堆栈寻址;8. 块拷贝寻址;9. 相对寻址;LOR R1,[R0,#0x08]属于基址寻址。
(2)ARM指令的条件码有多少个?默认条件码是什么? 16条,默认条件码是AL。
(3)ARM指令中第二个操作数有哪几种形式?举例5个8位图立即数。
(1 立即数;(2 寄存器;(3 寄存器及移位常数;0x3FC(0xFF<<2)、0、0xF0000000(0xF0<<24、200(0xC8、0xF0000001(0x1F<<28。
(4)LDR/STR指令的偏移形式有哪4种?LDRB和LDRSB有何区别? (1 零偏移;(2 前索引偏移;(3 程序相对偏移;(4 后索引偏移。
LDRB就是读出指定地址的数据并存入指定寄存器,LDRSB读出指定地址的数据,并高24位用符号位扩展,再存入指定寄存器。
(5)请指出MOV指令与LDR加载指令的区别及用途。
MOV 将 8 位图(pattern立即数或寄存器(operand2传送到目标寄存器(Rd,可用于移位运算等操作。
读取指定地址上的存储器单元内容,执行条件AL. (6)CMP指令的操作是什么?写一个程序,判断R1的值是否大于0x30,是则将R1减去0x30。
CMP 指令将寄存器Rn 的值减去operand2 的值,根据操作的结果更新CPSR 中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。
CMP R1,0x30 SUBHI R1,R1,0x30 (7)调用子程序是用B还是用BL指令?请写出返回子程序的指令? BL指令用于子程序调用。
MOV PC, R14 (8)请指出LDR伪指令的用法。
指令格式与LDR加载指令的区别是什么? LDR 伪指令用于加载 32 位的立即数或一个地址值到指定寄存器。
第二个数为地址表达式。
(9)ARM状态与Thumb状态的切换指令是什么?请举例说明。
BX指令,(10)Thumb状态与ARM状态的寄存器有区别吗?Thumb指令对哪些寄存器的访问受到一定限制? Thumb状态下不能更新CPSR 中的ALU 状态标志。
,Thumb指令对R8~R15寄存器访问受限。
(11)Thumb指令集的堆栈入栈、出栈指令是哪两条? PUSH POP (12)Thumb 指令集的BL指令转换范围为何能达到±4MB?其指令编码是怎样的? Thumb 采用两条16 位指令组合成22 位半字偏移(符号扩展为32 位,使指令转移范围为±4MB。
2 有符号和无符号加法下面给出A 和B 的值,您可先手动计算A+B,并预测N、Z、V 和 C 标志位的值。
然后修改程序清单4.1 中R0、R1 的值,将这两个值装载到这两个寄存器中(使用LDR 伪指令,如LDR R0,=0x FFFF0000,使其执行两个寄存器的加法操作。
调试程序,每执行一次加法操作就将标志位的状态记录下来,并将所得结果与您预先计算得出的结果相比较。
如果两个操作数看作是有符号数,如何解释所得标志位的状态?同样,如果这两个操作数看作是无符数,所得标志位又当如何理解? 0xFFFF000F 0x7FFFFFFF 67654321 (A +0x0000FFF1 + 0x02345678 + 23110000 (B 结果: ( ( ( 3 数据访问把下面的 C 代码转换成汇编代码。
数组 a 和b 分别存放在以 0x4000 和 0x5000 为起始地址的存储区内,类型为long(即32 位。
把编写的汇编语言进行编译连接,并进行调试。
for (i=0; i<8; i++ { a[i] = b[7-i]; } 第五章 1、基础知识:(1)LPC2114可使用的外部晶振频率范围是多少(使用/不使用PLL功能时)?晶振频率范围:1~30 MHz,若使用PLL 或ISP 功能为:10~25MHz。
(2)描述一下LPC2210的PO.14、P1.20、P1.26、BOOT1和BOOT0引脚在芯片复位时分别有什么作用?并简单说明LPC2000系列ARM7微控制器的复位处理流程。
P0.14 的低电平强制片内引导装载程序复位后控制器件的操作,即进入ISP 状态。
P1.20 的低电平使 P1.25~P1.16 复位后用作跟踪端口。
P1.26 的低电平使 P1.31~P1.26 复位后用作一个调试端口。
当RESET 为低时,BOOT0 与BOOT1 一同控制引导和内部操作。
引脚的内部上拉确保了引脚未连接时呈现高电平。
外部复位输入:当该引脚为低电平时,器件复位,I/O口和外围功能进入默认状态,处理器从地址0 开始执行程序。
复位信号是具有迟滞作用的TTL 电平。
(3)LPC2000系列ARM7微控制器对向量表有何要求(向量表中的保留字)?向量表所有数据32 位累加和为零(0x00000000~0x0000001C 的8 个字的机器码累加,才能脱机运行用户程序,这是LPC2114/2124/2212/2214 的特性。
(4)如何启动LPC2000系列ARM7微控制器的ISP功能?相关电路应该如何设计?(5)LPC2000系列ARM7微控制器片内Flash是多位宽度的接口?它是通过哪个功能模块来提高Flash的访问速度? 128位, 通过存储器加速模块(MAM)来提高Flash的访问速度(6)若LPC2210的BANK0存储块使用32位总线,访问BANK0时,地址线A1、A0是否有效?EMC 模块中的BLSO~BLS4具有什么功能?无效,( 如果存储器组配置成 16 位宽,则不需要 A0;8 位宽的存储器组需要使用 A0 。
;字节定位选择信号。
(7)LPC2000系列ARM7微控制器具有引脚功能复用特性,那么如何设置某个引脚为指定功能?通过引脚功能选择寄存器的设定来设置某个引脚为指定功能(8)设置引脚为GPIO功能时,如何控制某个引脚单独输入/输出?当前要知道某个引脚当前的输出状态时,是读取IOPIN寄存器还是读取IOSET寄存器? GPIO方向寄存器,IOPIN。
(9)P0.2和P0.3口是I2C接口,当设置它们为GPIO时,是否需要外接上拉电阻才能输出高电平?(10)使用SPI主模式时,SSEL引脚是否可以作为GPIO?若不能,SSEL引脚应如何处理?不能用作GPIO,SSEL应设这高电平,处于末激活状态。
(11)LPC2114具有几个UART是符合什么标准?哪一个UART可用作ISP通信?哪一个UART具有MODEM接口? UART0,UART1;UART0用于ISP通信,UART1具有MODEM接口。
(12)LPC2114具有几个32位定时器?PWM定时器是否可以作通用定时器使用?两个32位定时器,PWM定时器不能用作通用定时器使用(13)LPC2000系列ARM7微控制器具有哪两种低耗模式?如何降低系统的功耗? 2 个低功耗模式:空闲和掉电; 2、计算PLL设置值:假设有一个基于LPC2114的系统,所使用的晶振为11.0592MHZ石英晶振。