ARM习题及答案
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原理及应用复习题(附答案)

《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、举出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、何谓系统规范?制定系统规范的目的是什么?规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。
ARM练习题

简答题什么是嵌入式操作系统?答:嵌入式系统是以应用为中心,以计算机技术为基础,软/硬件可裁减,功能。
可靠性,成本,体积,功耗要求严格的专用计算机系统。
与通用计算机相比,嵌入式系统有哪些特点?答:(1).嵌入式系统通常是面向特定应用的;(2).嵌入式系统是将计算机技术,半导体技术和电子技术与各行各业的具体应用相结合的后的产物,是一门综合技术学科;(3).嵌入式系统和具体应用有机的结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式产品一旦进入市场,就有较长的生命周期;(4).为了提高执行速度和可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中;(5).嵌入式系统本身不具有自主开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。
ARM处理器有几种寻址方式,说明各种寻址的方式。
答:立即寻址:操作数直接放在指令中。
例如:ADD R0,R0,#0x3f ;R0←R0+0x3f寄存器寻址:操作数放在寄存器中。
例如:ADD R0,R1,R2 ;R0←R1+R2寄存器间接寻址:操作数在内存,以寄存器中的值作为操作数的地址。
例如:LDR R0,[R1] ;R0←[R1]基址加偏移量寻址(基址变址寻址):基址寄存器的内容与指令中的偏移量相加形成操作数的有效地址例如:LDR R0,[R1,#4] ;R0←[R1+4]LDR R0,[R1,R2] ;R0←[R1+R2]多寄存器寻址:一条指令可以完成多个寄存器值的传送。
例如:LDMIA R0,{R1,R2,R3,R4} ;R1←[R0];R2←[R0+4];R3←[R0+8];R4←[R0+12]堆栈寻址:堆栈是一种数据结构,按先进后出(First In Last Out,FILO)的方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。
例如:STMFD R13!,{R0,R4-R12,LR}LDMFD R13!,{R0,R4-R12,PC}举例介绍嵌入式处理器有哪几类?答:1.嵌入式微处理器(Embedded Microprocessor Unit,EMPU);2.嵌入式微控制器;(Embedded Microcontroller Unit,EMCU)3.嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP);4.嵌入式片上系统(Embedded System on Chip,EsoC);什么是立即数?请简要描述立即数在使用时有什么注意要点。
arm指令练习题

arm指令练习题ARM指令练习题在计算机科学领域,指令是计算机硬件执行的基本单位。
而ARM指令则是一种常用的指令集架构,广泛应用于移动设备、嵌入式系统和高性能计算等领域。
为了更好地理解和掌握ARM指令的使用,我们可以通过练习题来加深对其的理解。
练习一:寄存器操作1. 将寄存器R0的值设置为0x12345678。
2. 将寄存器R1的值设置为寄存器R0的值加上0x80000000。
3. 将寄存器R2的值设置为寄存器R0和寄存器R1的异或结果。
4. 将寄存器R3的值设置为寄存器R1的值减去寄存器R0的值。
5. 将寄存器R4的值设置为寄存器R2的值右移8位。
练习二:条件分支1. 如果寄存器R0的值等于0x1234,则跳转到标签L1。
2. 如果寄存器R0的值小于0x1000,则跳转到标签L2。
3. 如果寄存器R0的值大于等于0x8000,则跳转到标签L3。
4. 如果寄存器R0的值不等于0x5678,则跳转到标签L4。
L1:; 执行一些操作L2:; 执行一些操作L3:; 执行一些操作L4:; 执行一些操作练习三:数据传输1. 将寄存器R0的值存储到内存地址0x2000处。
2. 将内存地址0x3000处的值加载到寄存器R1中。
3. 将寄存器R2的值存储到内存地址0x4000处,并将内存地址0x4004处的值加载到寄存器R3中。
练习四:逻辑运算1. 将寄存器R0的值与0xFF进行按位与操作,并将结果存储到寄存器R0中。
2. 将寄存器R1的值与0xFF进行按位或操作,并将结果存储到寄存器R1中。
3. 将寄存器R2的值与0xFF进行按位异或操作,并将结果存储到寄存器R2中。
练习五:算术运算1. 将寄存器R0的值与0x0F进行按位与操作,并将结果存储到寄存器R0中。
2. 将寄存器R1的值与0x0F进行按位或操作,并将结果存储到寄存器R1中。
3. 将寄存器R2的值与0x0F进行按位异或操作,并将结果存储到寄存器R2中。
习题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习题
一、1、某文件属性显示为 drwxr-xr-x,则该文件是( A )。
A、目录文件B、普通文件C、链接文件D、管道文件2、在linux中,通常作为用户工作目录的是( C )。
A、 /bootB、/etcC、 /homeD、/bin3、下列命令中,用于显示系统进程列表的命令是( D )。
A、 locateB、mvC、 catD、ps4、表示目标文件的扩展名一般是( B )。
A、.cB、 .oC、 .hD、 .i5、在Makefile的工程管理中,( C )表示第一个依赖文件的名称。
A、 $*B、$+C、$<D、 $?6、以下不属于嵌入式系统特点的是 B 。
A 、不具备二次开发能力B 、面向通用应用 C、软硬件裁剪 D、软件固化于芯片7、对嵌入式板进行在线交叉调试(ICD方式),所使用的连接接口方式为( D )。
A、USBB、网络接口C、串口D、 JTAG8、linux与开发板串行调试方式中,所使用到的工具软件是( A )A、 minicomB、超级终端C、arm-linux-gccD、 gdb9、在Linux内核源代码中,与处理器体系结构有关的子目录是( C )。
A、/includeB、/initC、/archD、drivers10、下列文件系统,不是嵌入式系统的文件系统格式的是( B )A、cramfsB、ntfsC、romfsD、jffs11、以下属于Linux文件系统格式的是( A )A、EXT3B、FATC、FAT32D、NTFS12、某文件属性显示为–rwxr-xr-x,则该文件是( B )。
A、目录文件B、普通文件C、链接文件D、管道文件13、在linux中,通常作为存放系统配置文件的目录是( B )。
A、 /bootB、/etcC、 /homeD、/bin14、下列命令中,用于给特定进程发送信号的命令是( C )。
A、 locateB、mvC、 killD、 cat15、在Makefile的工程管理中,( D )表示目标文件的完整名称。
ARM习题
1、嵌入式处理器体系结指令集有RISC和CISC 两种。
2、整个嵌入式系统的体系结构包括软硬件两个方面,可以分成四个部分:嵌入式处理器、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件。
3、ARM处理器中,常作为SP寄存器的物理寄存器是R13, 常作为LR寄存器的物理寄存器是R14,常作为PC寄存器的物理寄存器是R15.4、AMR处理器中CPU运行模式有用户模式、快速中断模式、外部中断、管理、中止、未定义指令和系统模式。
5、模数转换的方法可以分为3种:计数式A/D转换法、双积分式A/D 转换以及逐次逼近式A/D转换。
6、在宿主机/目标板的调试模式下,可在宿主机上打开Linux终端,输入minicom命令即可通过串行线建立目标板嵌入式Linux系统的虚拟终端。
7、CPU与外设之间传输数据的控制方式通常有3种:查询方式、中断方式以及DMA方式。
8、ARM处理器的数据存储格式有两种:大端模式和小端模式,默认情况下使用小端模式,Internet上是?9、目前操作系统有3种,即多道批处理、分时操作系统、实时操作系统。
10、一般而言,嵌入式系统的构架可以分为4个部分:分别是嵌入式处理器、存储器、输入/输出和软件,软件亦分为系统软件和应用软件两个主要部分。
处理器,外围设备,嵌入式系统软件,嵌入式应用软件。
11、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,嵌入式DSP处理器,嵌入式微处理器以及嵌入式片上系统。
12、操作系统是联接硬件与应用程序的系统程序,其基本功能有进程管理、内存管理、进程间通信、I/O资源管理、文件系统。
13、从嵌入式操作系统特点可以将嵌入式操作系统分为实时操作系统和分时操作系统,其中实时系统亦可分为硬实时系统和软实时系统。
14、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的通信,内核的基本服务是任务切换。
15、嵌入式开发采用宿主机/目标机方式,宿主机一般是指PC机或台式机。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM习题1.1 什么是嵌入式系统?答:嵌入式系统是以应用为中心,以计算机技术为基础,软/硬件可裁减,功能。
可靠性,成本,体积,功耗要求严格的专用计算机系统。
1.2 与通用计算机相比,嵌入式系统有哪些特点?答:(1).嵌入式系统通常是面向特定应用的;(2).嵌入式系统是将计算机技术,半导体技术和电子技术与各行各业的具体应用相结合的后的产物,是一门综合技术学科;(3).嵌入式系统和具体应用有机的结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式产品一旦进入市场,就有较长的生命周期;(4).为了提高执行速度和可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中;(5).嵌入式系统本身不具有自主开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。
1.3 ARM处理器有几种寻址方式,说明各种寻址的方式。
答:立即寻址:操作数直接放在指令中。
例如:ADD R0,R0,#0x3f ;R0←R0+0x3f寄存器寻址:操作数放在寄存器中。
例如:ADD R0,R1,R2 ;R0←R1+R2寄存器间接寻址:操作数在内存,以寄存器中的值作为操作数的地址。
例如:LDR R0,[R1] ;R0←[R1]基址加偏移量寻址(基址变址寻址):基址寄存器的内容与指令中的偏移量相加形成操作数的有效地址例如:LDR R0,[R1,#4] ;R0←[R1+4]LDR R0,[R1,R2] ;R0←[R1+R2]多寄存器寻址:一条指令可以完成多个寄存器值的传送。
例如:LDMIA R0,{R1,R2,R3,R4} ;R1←[R0];R2←[R0+4];R3←[R0+8];R4←[R0+12] 堆栈寻址:堆栈是一种数据结构,按先进后出(First In Last Out,FILO)的方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。
例如:STMFD R13!,{R0,R4-R12,LR}LDMFD R13!,{R0,R4-R12,PC}1.4举例介绍嵌入式处理器有哪几类?答:1.嵌入式微处理器(Embedded Microprocessor Unit,EMPU);2.嵌入式微控制器;(Embedded Microcontroller Unit,EMCU)3.嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP);4.嵌入式片上系统(Embedded System on Chip,EsoC);1.5从硬件系统来看,嵌入式系统由哪几个部分组成?画出简图。
3.1编写1+2+3+***+100的汇编程序。
AREA EXAMPLE1, CODE,READONLY ;定义一个代码段,名称为EXAMPLE1ENTRY ;入口MOV R0,#0 ;给R0赋值为0MOV R1,#0 ;用R1来存放1~100的总和,初始化为0START ADD R0,R0,#1 ;用来判断终止的,每次加1ADD R1,R1,R0 ;从1加到100CMP R0,#100 ;执行R0-100的操作,但不保存,只影响CPSR的值BLT START ;带符号数小于时跳转到START处执行STOP B STOP ;死循环END3.2如何实现128位数的减法,请举例说明。
AREA EXAMPLE2,CODE,READONLYENTRYSTARTSUBS R5,R5,R9SBCS R4,R4,R8SBCS R3,R3,R7SBCS R2,R2,R6STOPB STOPEND3.3将存储器中起始地址地址0X10处的4个字数据移动到地址0X20处。
AREA EXAMPLE2,CODE,READONLYENTRYLDR R0,=0X10 ;把地址0X10赋给R0LDR R5,=0X20 ;把地址0X20赋给R5STARTLDMIA R0,{R1-R4} ;把R0为首地址的内存单元中的值依次赋给,; R1到R4,每次赋完一次值,R0自动加1 STMIA R5,{R1-R4} ;把R1到R4的值依次赋给以R5为首地址的内存单元中,R5每次自动加1STOPB STOP ;死循环END3.4参考CPSR寄存器中各标志位的含义,使处理器处于系统模式。
AREA EXAMPLE2,CODE,READONLYENTRYSTARTMOV R0,#0X1F ;给R0赋值,2进制为11111MSR CPSR_c,R0 ;把CPSR的条件位置1STOPB STOP ;死循环END3.5用跳转指令实现两段程序间的来回切换。
AREA EXAMPLE5 ,CODE, READONLYENTRYBL X ;跳到a对R0,R1,赋值STARTCMP R0,R1 ;比较R0,R1的值BNE Y ;不等跳转到bBEQ STOP ;相等时跳转到STOPXMOV R0,#3 ;对R0,R1赋值MOV R1,#2MOV R15,R14 ;返回YADD R1,R1,#1 ;R1自加1B START ;跳转到STARTSTOPB STOP ;死循环END3.5 ARM调用 Thumb子程序例子AREA ThumbSub, CODE, READONLY ; Name this block of codeENTRY ; Mark first instruction to execute CODE32 ; Subsequent instructions are ARM headerADR r0, start + 1 ; Processor starts in ARM state, BX r0 ; so small ARM code header used; to call Thumb main program.CODE16 ; Subsequent instructions are Thumb. startMOV r0, #10 ; Set up parametersMOV r1, #3BL doadd ; Call subroutinestopMOV r0, #0x18 ; angel_SWIreason_ReportExceptionLDR r1, =0x20026 ; ADP_Stopped_ApplicationExitSWI 0xAB ; Thumb semihosting SWIdoaddADD r0, r0, r1 ; Subroutine codeMOV pc, lr ; Return from subroutine.END ; Mark end of file3.6字符串拷贝子程序,将r1指向的字符串拷贝到r0指向的地方,字符串以0作结束标志 AREA SCopy, CODE, READONLYEXPORT strcopystrcopy; r0 points to destination string; r1 points to source stringLDRB r2, [r1],#1 ; load byte and update addressSTRB r2, [r0],#1 ; store byte and update address;CMP r2, #0 ; check for zero terminatorBNE strcopy ; keep going if notMOV pc,lr ; ReturnEND3.7、求两个数的最大值,并将最大值放R0寄存器AREA MAX,CODE,READONLYENTRYSTARTMOV R1,#0x16M0V R2,#0x17CMP R1,R2MOVMI R0,R2MOVPL R0,R1STOPB STOPEND3.8、循环实现数的递减,即每次减1。
最终结果为0时退出循环。
AREA MAX,CODE,READONLYENTRYSTARTMOV R0,#10LOOPSUBS R0,R0,#1BNE LOOPSTOPB STOPEND3.9 、改下列C程序段代码为ARM汇编程序段代码。
void gcd( int a, int b){while(a!=b)if (a>b)a=a-b;elseb=b-a;}AREA MAX,CODE,READONLYENTRYgcdCMP R0,R1BEQ STOPBLT LessSUB R0,R0,R1B STOPLessSUB R1,R1,R0STOPB STOPEnd4.1什么是伪指令和伪操作?在ARM汇编中有哪几种伪指令?答:在ARM汇编语言程序中有些特殊助记符,这些助记符与一般指令的助记符的不同之处在于没有相对应的操作码或者机器码,通常称这些特殊指令助记符卫伪指令,他们多完成的操作成为伪操作;在ARM汇编中,有如下几种伪指令:(1)符号定义伪指令;(2)数据定义伪指令;(3)汇编控制伪指令;(4)信息报告伪指令;(5)宏指令及其他伪指令。
4.2如何定义寄存器列表,试举一个使用寄存器列表的例子,要求实现4个字的内存复制。
答:AREA EXAMPLE1,CODE,READONLYENTRYLDR R0,=0XFF ;把地址0XFF赋给R0LDR R5,=0X0F ;把地址0X0F赋给R5STARTPBLOCK RLIST {R1-R4} ;把R1-R4定义为PBLOCKLDMIA R0,PBLOCK ;把R0为首地址的内存4个字单元装载至R1到R4中STMIA R5,PBLOCK ;把R1到R4的值依次存至R5为首地址的内存字单元STOP B STOP ;死循环END4.3如何定义一个宏,宏与子程序的区别是什么?答:宏的格式为:MARCO和MEND[$标号] 宏名[$参数1,$参数2…..]指令序列MENDMARCO表示一个宏定义的开始,MEND表示一个宏的结束,MARCO和MEND前呼后应可以将一段代码定义为一个整体,又称宏,然后在程序中就可以在程序中通过宏的名称及参数调用该段代码。
宏指令可以重复使用,这一点的使用方式与子程序有些相似,子程序可以节省存储空间,提供模块化的程序设计。
但使用子程序机构时需要保存/恢复现场,从而增加了系统的开销,因此,在代码传递的参数较多并且比较短时,可以使用宏代替子程序,宏在被调用的地方展开。
4.4 ARM汇编中如何定义一个段,段有几种属性?答:AREA用于定义一个代码段,数据段,或者特定属性的段。
段的几种属性如下:READONLY表示只读属性;READWRITE表示本段可读写;CODE定义代码段;DATA定义数据段;ALIGN=表达式的对齐方式为2的表达式次方;;COMMON:定义一个通用段,这个段不包含用户代码和数据。