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指令可以有条件的执行? • 下面的指令完成什么工作?
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.数字信号处理器( B )。
A. ADSB. DSPC.CPUD.GPP2.嵌入式微处理器(C)。
A. MCUB. DSPC. MPUD.SOC3.精简指令系统(C)。
A.CISCB.MIPSC.RISCD.CPLA4.可编程片上系统(A)。
A.SOPCB.SOCC. PDAD. OMAP5.复杂指令系统(A)。
A.CISCB.MIPSC.RISCD.CPLA 6.片上系统(B)。
A.SOPCB.SOCC. PDAD. OMAP 7.静态存储器(A)。
A. SRAMB. DRAMC. SDRAMD. RAM 8.动态随机存储器(B)。
A.SRAMB.DRAMC.RAMD.ROM 9.板级支持包(A)。
A. BSPB. DSPC. EDSPD.MCU10.采用冯﹒诺伊曼存储结构的ARM处理器( A)A.ARM7B.ARM9C.ARM10D.ARM1111.同CISC相比,下面哪一项不属于RISC处理器的特征_DA、采用固定长度的指令格式,指令规整、简单、基本寻址方式有2~3种。
B、减少指令数和寻址方式,使控制部件简化,加快执行速度。
C、数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率,同时简化处理器的设计。
D、RISC处理器都采用哈佛结构12.实时系统是指( B)A 响应快的系统B 时间约束的系统C 单任务系统D 内核小的系统13、关于RISC指令系统描述不正确的是(A)。
A、指令条数多B、指令长度固定C、指令格式种类少D、寻址方式种类少14、通常所说的32位微处理器是指。
(C)A) 地址总线的宽度为32位B) 处理的数据长度只能为32位C) CPU 字长为32位 D) 通用寄存器数目为32个电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。
15、嵌入式微控制器相比嵌入式微处理器的的最大特点(B)。
A、体积大大减小B、单片化C、功耗低D、成本高16、(B)不是嵌入式系统的三要素。
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、 ARM 微处理器有 7种工作模式,它们分为两类 非特权模式 、 特权模式 。
其中用户模式属于 非特权模式ARM 处理器有两种总线架构,数据和指令使用同一接口的是 冯诺依曼 ,数据和指令分开使用不同接口的是 哈佛结4、 ARM 微处理器复位后,PC 的地址通常是 0x0 ,初始的工作模式是Supervisor 。
5、 编译链接代码时,有两种存储代码和数据的字节顺序,一种是 小端对齐 ,另一种是大端对齐计算机有CISC 和RISC 两种类型,以ARM 微处理器为核心的计算机属于 RISC 类型,其指令长度是 定长的1、 目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。
Windows CE/Windows Mobile 、VxWork 、Linux 、uCos 、Symbian 、QNX 任选六2、ARM 系统中的堆栈有四种,如下图。
请按图标出四种堆栈的类型。
A TPCS 编程规范约定使用的堆栈是哪一种?答:FD 、FA 、ED 、EA 。
A TPCS 编程规范约定使用的堆栈是FD3、Boot Loader 在嵌入式系统中主要起什么作用?完成哪些主要的工作?答:Boot Loader 是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。
通过Boot Loader ,初始化硬件设备,建立内存和I/O 空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。
4、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows 主机上使用什么软件建立连接?在Linux 主机上使用什么软件建立连接?1、 答:RS-232,以太网口、并口在Windows 主机上使用超级终端软件在Linux 主机上使用Minicom 软件5嵌入式开发环境主要包括哪些组件?嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括● 宿主机● 目标机(评估电路板)● 基于JTAG 的ICD 仿真器、或调试监控软件、或在线仿真器ICE● 运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境● 嵌入式操作系统7 目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。
arm课后习题及答案
第 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 ProcessorQSP );(4、高度集成的片上系统( System on Chip,SoC、。
3. ARM英文原意是什么?它是一个怎样的公司?其处理器有何特点?答:(1、英文原意:Advaneed RISC Machines。
高级精简指令集机器。
(2)公司简介:该公司是全球领先的16/32位RISC微处理器知识产权设计供应商,通过将其高性能、低成本、低功耗的RISC微处理器、外围和系统芯片设计技术转让给合作伙伴来生产各具特色的芯片。
ARh公司已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。
(3)其处理器特点: a. 小体积、低功耗、低成本而高性能; b.16/32 位双指令集; c. 全球的合作伙伴众多。
4. 什么是实时系统?它有哪些特征?如何分类?答:(1)实时系统的定义:实时系统(Real Time System)是指产生系统输出的时间对系统至关重要的系统。
《ARM嵌入式系统结构与编程》习题答案
1章绪论1.国内嵌入式系统行业对“嵌入式系统”的定义是什么?如何理解?答:见教材1.1节。
2.嵌入式系统是从何时产生的,简述其发展历程。
答:见教材1.1节。
3.当前最常见的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点。
答:见教材1.2.1节的嵌入式Linux和嵌入式实时操作内核UC /OS-I 。
4.举例说明嵌入式设备在工控设备中的应用。
答:见教材1.3节的“工业控制领域”。
5.未来嵌入式技术的发展趋势有哪些?答:见教材1.4节的嵌入式技术的发展趋势。
2章ARM技术与ARM体系结构1.简述ARM处理器内核调试结构原理。
答:对教材1.2节的图2-1进行描述。
2.分析ARM7TDMI-S各字母所代表的含义。
答:参考教材2.1.2 ARM核版本命名规则说明。
3.ARM处理器的工作模式有哪几种,其中哪些为特权模式,哪些为异常模式,并指出处理器在什么情况下进入相应的模式。
ARM处理器共有7种工作模式:用户模式:非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下执行。
在用户模式下,如果没异常发生,不允许应用程序自行改变处理器的工作模式,如果有异常发生,处理器会自动切换工作模式FIQ模式:也称为快速中断模式,支持高速数据传输和通道处理,当一个高优(fast)中断产生时将会进入这种模式。
IRQ模式:也称为普通中断模式,:当一个低优先级中断产生时将会进入这种模式。
在这模式下按中断的处理器方式又分为向量中断和非向量中断两种。
通常的中断处理都在IRQ 模式下进行。
SVC模式:称之为管理模式,它是一种操作系统保护模式。
当复位或软中断指令执行时处理器将进入这种模式。
中止模式:当存取异常时将会进入这种模式,用来处理存储器故障、实现虚拟存储或存储保护。
未定义指令异常模式:当执行未定义指令时会进入这种模式,主要是用来处理未定义的指令陷阱,支持硬件协处理器的软件仿真,因为未定义指令多发生在对协处理器的操作上。
ARM嵌入式系统结构与编程习题答案 清华大学出版社 最详细版
ARM嵌入式系统结构与编程习题答案清华大学出版社最详细版arm嵌入式系统结构与编程习题答案清华大学出版社最详细版一《arm嵌入式系统结构与编程》习题答案第一章为绪论1.国内嵌入式系统行业对“嵌入式系统”的定义是什么?如何理解?答:国内嵌入式行业普遍接受的定义是:以应用为中心,以计算机技术为基础,软硬件可定制,满足应用系统在功能、可靠性、成本、体积和功耗等方面的严格要求的专业计算机系统。
从这个定义可以看出,嵌入式系统与应用紧密结合,具有很强的特殊性。
它必须根据实际系统需求进行合理定制和使用。
因此,嵌入式系统是“为特定的人定制的”。
2.嵌入式系统是从何时产生的,简述其发展历程。
答:从20世纪70年代单片机的出现到目前各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了30多年的发展历史。
嵌入式系统的出现最初是基于单片机的。
英特尔于1971年开发了第一款4位总线结构的微处理器4004,可以说是嵌入式系统的雏形。
80年代初的8051是单片机历史上值得纪念的一页。
20世纪80年代初,出现了一种商业化的“实时操作系统内核”。
在实时内核下编写应用软件,可以加快新产品的开发速度,节约资金。
在20世纪90年代,实时内核发展为实时多任务操作系统。
进入21世纪以来,嵌入式系统得到了极大的发展。
在硬件方面,单片机的性能有了很大的提高,尤其是ARM技术的出现和改进,为嵌入式操作系统提供了强大的硬件载体,将嵌入式系统推向了一个新的阶段。
3.当前最常用的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点。
答:主要有嵌入式linux和嵌入式实时操作内核uc/os-ii嵌入式Linux操作系统是一种针对嵌入式微控制器的特点而定制的Linux操作系统,包括通用的嵌入式通信协议和通用驱动程序,并支持多种文件系统。
它主要具有以下特点:开源、易移植、内核小、功能强大、运行稳定、效率高。
uc/os是源码工卡的实时嵌入式系统内核,主要有以下特点:源码公开,可移植性强,可固化,可剪裁,占先式,多任务,可确定性,提供系统服务等。
第二部分习题答案
第六章1、ARM处理器的特点是什么?答:ARM处理器立足于嵌入式市场,其设计思想并不单纯地追求处理器速度,而是着眼于系统的整体性能。
具体来讲,主要包括以下几个方面。
首先,低功耗是一个主要的考虑方面。
其次,高代码密度是嵌入式系统的又一个重要需求。
另外,嵌入式系统通常都是价格敏感的。
还有一个影响嵌入式系统性能的因素就是处理器内核管芯(die)的面积,对于一个单片方案,处理器内核所占的面积越小,留给外设电路的空间就越大,这可以减少最终产品的外围芯片数目,从而降低设计和制造成本。
在体系结构方面,ARM处理器采用精简指令系统计算机(RISC)结构,但ARM处理器又不是纯粹的RISC。
为了能够更好地满足嵌入式应用的需求,ARM处理器还增加了以下特点:●一些特定指令的周期数可变,即并不是所有的ARM指令都是单周期的。
●内嵌桶形移位器产生了更为复杂的指令。
●Thumb 16位指令集。
●条件执行。
这个特性可以减少分支指令的数目,从而改善性能,提高代码密度。
2、ARM处理器系列主要包括几大类?各自的特性是什么?3、ARM处理器有哪些处理器模式?各自如何切换?答:ARM处理器有7种处理器模式,它们分别是:用户模式,快速中断模式,外部中断模式,管理模式,中止模式,未定义模式和系统模式。
各模式之间的切换,可以通过软件控制来实现,也可以由外部中断或异常而引起。
处理器复位之后,首先进入管理模式,操作系统内核通常处于这种模式。
当运行用户程序时,进入用户模式。
在用户模式下,应用程序不能访问一些受操作系统保护的系统资源,应用程序也不能直接进行处理器模式的切换,只允许对CPSR(当前程序状态寄存器)的控制域进行读操作,但允许对CPSR条件标志的读/写访问,用户模式下执行软中断指令(SWI)时也进入管理模式。
系统模式是一种特殊的用户模式,它使用和用户模式完全相同的寄存器,但允许对CPSR的完全访问,当操作系统任务需要访问系统资源但又想避免访问与异常模式相关的寄存器时进入该模式。
ARM嵌入式常用模块与综合系统设计实例精讲练习题与.
《ARM嵌入式常用模块与综合系统设计实例精讲》练习题与答案一、全书练习题第1章:填空题1.ARM内核有四个功能模块,即______、______、______、______,可供生产厂商根据不同用户的要求来配置生产ARM芯片。
2.ARM7TDMI与ARM720T的一个重要区别在于后者有______、______。
3.ARM芯片主要封装有______、______、______、______、______、______等形式。
4.ARM微处理器共有______个______位寄存器,其中______个为通用寄存器,______个为状态寄存器。
5.ARM体系结构可用两种方法存储字数据,具体为_____、______。
6.协处理器主要控制:______、______、______。
问答题:1.简单描述ARM内核的四个功能模块,各自具备什么功能特点?2.一个ARM720T内核,基本由哪四部分组成?3.通用寄存器包括R0~R15,可以分为具体哪三类?4.请描述Thumb状态下的寄存器与ARM状态下的寄存器有什么关系?5.当一个异常出现以后,ARM微处理器会执行哪几步操作?第2章:填空题1.ARM微处理器在较新的体系结构中支持两种指令集:______、______。
2.ARM处理器有9种基本寻址方式,分别是:______、______、______、______、______、______、______、______、______。
3.ARM指令集可以分为6类,分别是:______、______、______、______、______、______。
4.在ARM的汇编程序中,有如下几种伪指令:_____、______、______、______、______。
5.汇编语言与C/C++的混合编程通常有以下几种方式:_____、______、______。
6.ARM C/C++编译器支持和产生以下几种格式的文件:_____、____、____、______、______。
ARM完整复习题及答案
嵌入式系统设计复习资料注意:因为参考答案填空老师没有给电子版,只是上课听的,难免会有听错,请大家指出错误。
一填空题1.ARM内核有四个功能模块,即___T___、___D___、___M___、____I__,可供生产厂商根据不同用户的要求来配置生产ARM芯片。
3.ARM芯片主要封装有___QFP___、___TQFP___、___PQFP___、___LQFP___、___BGA___、____LBGA__等形式。
4.ARM微处理器共有___37___个___32___位寄存器,其中____31__个为通用寄存器,____6__个为状态寄存器。
5.ARM体系结构可用两种方法存储字数据,具体为___大端存储格式__、___小端存储格式___。
6.协处理器主要控制:___片内MMU___、___指令和数据缓存(IDC)___、___写缓冲(Write Buffer)___。
在逻辑上,ARM可以扩展16 个协处理器。
7.ARM微处理器在较新的体系结构中支持两种指令集:___ARM指令___、___Thumb指令___,状态寄存器CPSR的 T 位反映了处理器运行不同指令的当前状态。
8.在CPSR中M[4:0]表示模式位,其中10111表示中止模式,在异常类型中,中止又分为预取址中止和数据中止。
9.ARM处理器有9种基本寻址方式,分别是:___寄存器寻址___、___立即寻址___、___寄存器移位寻址___、____寄存器间接寻址__、__变址寻址____、___多寄存器寻址___、___堆栈寻址___、___块复制寻址___、___相对寻址___。
10.ARM指令集可以分为6类,分别是:__跳转指令____、___数据处理指令___、___程序状态寄存器(PSR)传输指令___、___Load/Store 指令___、___协处理器指令___、___异常中断产生指令___。
ARM指令的条件码位于指令的最高4([31:28]),每种条件码可用 2 个字符来表示,可添加在指令助记符的后面和指令同时使用。
ARM习题
一、选择题(每小题2分,共20分)1.下列操作系统不属于嵌入式操作系统的是:(A)。
(A)WinXP (B)uCOS (C)Linux (D)WinCE2.ARM体系结构中3级流水结构的第2阶段是(B )。
(A)取指(B)译码(C)执行(D)编译3.ARM一个字占(B)个字节。
(A)1 (B)4 (C)2 (D)84.作为堆栈指针寄存器的是(A)。
(A)R12 (B)R13 (C)R14 (D)R155.具有独立R8-15寄存器的工作模式是(D)。
(A)用户(B)系统(C)中断(D)快中断6.可以切换到Thumb状态的指令是:(A)。
(A)LDR R0,=LABLE+1 BX R0(B)LDR R0,=LABLE BL R0(C)LDR R0,=LABLE+1 BX R1(D)LDR R0,LABLE+1 BL R07.FIQ和IRQ分别为禁止和允许时,CPSR中F和I的设置是:( A)。
(A)10 (B)01 (C)00 (D)118.IRQ中断返回指令是:(A)。
(A)MOVS PC,R14 (B)MOVS PC ,R14_SVC(C)SUBS PC,R14_IRQ,#4 (D)SUBS PC,R14_FIQ,#49.下列中断优先级最低的是:( D)。
(A)FIQ (B)IRQ (C)中止(D)SWI10.R1内容是4000H,4000H (4字节对齐)开始向上依次存放数据1,2,3,4,5,执行指令LDMIA R1!,{R0,R1,R2,R3}后,R1中数据是:( A)。
(A)2 (B)3 (C)4 (D)11.下列不属于ARM体系结构特点的是:(D)。
(A)大而统一的寄存器文件。
(B)数据的加载和存储结构。
(C)地址的自动增加和减少。
(D)不固定的指令长度。
12.ARM7TDMI中,T的含义是(A)。
(A)Thumb指令扩展(B)支持片上调试(C)硬件乘法指令(D)观察点硬件13.R0内容是1000H,执行STR R1,[R0,#4]!后,R0内容是(B)。
ARM期末考点
《ARM体系结构与编程》复习题1、ARM920T支持7种运行模式,分别为_用户模式_ ,快速中断模式(FIQ),_普通中断模式(IRQ),数据访问中止模式,_管理模式_,_系统模式_,未定义指令模式2、ARM处理器支持2种指令集,32位的ARM指令集和16 位的Thumb集。
3、ARM920T内核支持___ARM__ ,__Thumb__ 指令集,分别为_32___ ,_16___ 位的指令系统。
4、ARM处理器共有37 个寄存器,31 个通用寄存器, 6 个状态寄存器,其中的(R0-R7) 8个可以在任何模式下看到。
5、ARM920T体系结构所支持的最大寻址空间4G B。
6、当ARM处理器发生异常时,其优先级最高的异常是_复位异常_。
7、当处理器发生快速中断FIQ异常时,异常向量地址为0x0000001C,当处理器在复位后,异常向量地址为0x00000000 ,且处理器进入管理模式。
8、ARM920T中支持字节(8位),_半字(16位)_ ,_字(32位) 3种数据类型。
9、ARM内核有__37__ 个寄存器,__用户和系统___模式使用寄存器最少。
10、ATPCS规定数据栈为_满递减(FD)_类型,并且对数据栈的操作是__8__字节对齐的。
11、局部变量的存储方式一般是_动态__存储,全局变量一般是__静态__存储。
12、ARM920T体系结构支持两种方法存储字数据,即_大端存储模式_ ,_小端存储模式_。
13、在复位后,ARM处理器处于___管理__ 模式__ARM__ 状态。
14、ARM920T体系结构支持两种方法存储字数据,即大端存储格式和小端存储格式,其中在小端存储格式中,字数据的高字节存放在高地址单元中,而字数据的低字节存放在低地址单元中。
15、CPSR中的低8位控制位中,当T= 1 时,处理器工作在Thumb状态,当T=_0_时,处理器工作在ARM状态。
16、ARM微处理器采用的是RISC(精简指令集)体系结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题(每小题2分,共20分)1.下列操作系统不属于嵌入式操作系统的是:(A)。
(A)WinXP (B)uCOS (C)Linux (D)WinCE2.ARM体系结构中3级流水结构的第2阶段是(B )。
(A)取指(B)译码(C)执行(D)编译3.ARM一个字占(B)个字节。
(A)1 (B)4 (C)2 (D)84.作为堆栈指针寄存器的是(A)。
(A)R12 (B)R13 (C)R14 (D)R155.具有独立R8-15寄存器的工作模式是(D)。
(A)用户(B)系统(C)中断(D)快中断6.可以切换到Thumb状态的指令是:(A)。
(A)LDR R0,=LABLE+1 BX R0(B)LDR R0,=LABLE BL R0(C)LDR R0,=LABLE+1 BX R1(D)LDR R0,LABLE+1 BL R07.FIQ和IRQ分别为禁止和允许时,CPSR中F和I的设置是:( A)。
(A)10 (B)01 (C)00 (D)118.IRQ中断返回指令是:(A)。
(A)MOVS PC,R14 (B)MOVS PC ,R14_SVC(C)SUBS PC,R14_IRQ,#4 (D)SUBS PC,R14_FIQ,#49.下列中断优先级最低的是:( D)。
(A)FIQ (B)IRQ (C)中止(D)SWI10.R1内容是4000H,4000H (4字节对齐)开始向上依次存放数据1,2,3,4,5,执行指令LDMIA R1!,{R0,R1,R2,R3}后,R1中数据是:( A)。
(A)2 (B)3 (C)4 (D)11.下列不属于ARM体系结构特点的是:(D)。
(A)大而统一的寄存器文件。
(B)数据的加载和存储结构。
(C)地址的自动增加和减少。
(D)不固定的指令长度。
12.ARM7TDMI中,T的含义是(A)。
(A)Thumb指令扩展(B)支持片上调试(C)硬件乘法指令(D)观察点硬件13.R0内容是1000H,执行STR R1,[R0,#4]!后,R0内容是(B)。
(A)1000H (B)1004H (C)1008H (D)100CH 14.作为链接寄存器的是(C)。
(A)R12 (B)R13 (C)R14 (D)R1515.不属于异常模式的是(B)。
(A)管理(B)系统(C)中断(D)快中断16.可以切换到ARM状态的指令是:(B)。
(A)LDR R0,=LABLE+1 BX R0(B)LDR R0,=LABLE BX R0(C)LDR R0,=LABLE+1 BL R1(D)LDR R0,LABLE+1 BL R017.FIQ和IRQ分别为允许和禁止时,CPSR中F和I的设置是:( B)。
(A)10 (B)01 (C)00 (D)1118.FIQ中断返回指令是:(D)。
(A)MOVS PC,R14 (B)MOVS PC ,R14_SVC(C)SUBS PC,R14_IRQ,#4 (D)SUBS PC,R14_FIQ,#419.下列中断优先级最高的是:(B)。
(A)FIQ (B)未定义指令(C)中止(D)复位20.R1内容是4000H,4000H (4字节对齐)开始向上依次存放数据1,2,3,4,5,执行指令LDMIB R1!,{R0,R1,R2,R3}后,R1中数据是:( B)。
(A)2 (B)3 (C)4 (D)5二、基础知识填空题(每空2分,共20分)1.ARM7两种处理器工作状态是(ARM )和(Thumb )。
2.程序状态寄存器是(CPSR),异常情况下程序状态寄存器是(S PSR )。
3.一个合理的8位位图是一个(8 )位常数循环移位(偶)数位得到的。
4.基本指令后加(GT )表示本条语句有符号数大于时执行,加(NE )表示本条语句条件不相等时执行。
5.汇编程序入口伪指令是(ENTRY ),标明本段程序是代码段伪指令是(CODE )。
三、简答题(共14分)1.ARM7TDMI体系寻址方式有哪几种?LDR R1,[R0,#0X08]属于哪种寻址方式?(5分)答:有寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、块拷贝寻址和相对寻址。
LDR R1,[R0,#0X08]属于基址寻址2.堆栈寻址方式有哪几种?(4分)答:满递增;满递减;空递增;空递减。
3.解释占先式内核含义?(5分)答:在占先式内核中,最高优先级的任务一旦就绪,便能得到CPU的使用权。
当一个运行着的任务使一个比它优先级高的任务进入就绪态时,当前任务被挂起,那个高优先级的任务立刻得到CPU的使用权开始运行。
如果是中断服务子程序使一个高优先级的任务进入就绪态,则当中断完成时,被中断的任务被挂起,优先级高的任务开始运行。
第三章习题解答1、ARM指令中的第二操作数“operand2”有哪些具体形式?解:有三种:寄存器、寄存器移位、8位位图立即数。
2、对于ARM的变址寻址方式,有基地址和偏移地址两部分组成。
(1)基地址可以是哪些寄存器?(2)偏移地址可以有哪些形式?(3)总地址的计算方法有哪些?(4)变址寻址应用于哪些指令?解:(1)基地址可以是通用寄存器R0---R15中的任意一个。
(2)偏移地址可以有三种形式:12位立即数、寄存器、寄存器移位。
(3)总地址的计算方法。
有三种:前变址(前索引)、后变址(后索引)、自动变址。
(程序相对偏移)–前索引偏移:即先使用偏移传送数据;不定修改基地址。
如:LDR Rd,[Rn,#m]–后索引偏移:即先传送数据;后先使用偏移修改基地址。
如:LDR Rd,[Rn],#m–自动变址:即先使用偏移传送数据;再用偏移修改基地址。
如:LDR Rd,[Rn,#m ]!(4)有4条指令:LDR、STR、LDM、STM3、编写程序,将存储器从0x400000开始的200个字节的数据,传送到0x400800开始的区域。
解:MOV R0,#0x400000LDR R1,=0x400800MOV R7,#200LP LDRB R2,[R0],#1STRB R2,[R1],#1SUBS R7,R7,#1BNE LPHEREB HERE4、编写程序,比较存储器中0x400000和0x400004两无符号字数据的大小,并且将比较结果存于0x400008的字中,若两数相等其结果记为0,若前者大于后者其结果记为1,若前者小于后者其结果记为-1。
解:MOV R0,#0x400000LDR R1,[R0] ;取第1个数LDR R2,[R0,#4] ;取第2个数CMP R1,R2 ;两个数相比较MOVHI R1,#1 ;R1大MOVLO R1,# -1 ;R1小MOVEQ R1,#0 ;两个数相等STR R1,[R0,#8]5、存储器从0x400000开始的100个单元中存放着ASCII码,编写程序,将其所有的小写字母转换成大写字母,对其它的ASCII码不做变换。
解:MOV R0,#0x400000MOV R1,#0LP LDRB R2,[R0,R1]CMP R2,#0x61BLO NEXTCMP R2,#0x7B ;0x7A为zSUBLO R2,R2,#0x20STRBLO R2,[R0,R1]NEXTADD R1,R1,#1CMP R1,#100BNE LP6、编写一程序,查找存储器从0x400000开始的100个字中为0的数目,将其结果存到0x400190中。
解:MOV R0,#0x400000MOV R1,#0MOV R7,#100LPLDR R2,[R0],#4CMP R2,#0BNE NEXTADD R1,R1,#1NEXTSUBS R7,R7,#1BNE LPSTR R1,[R0]B $7、编写一程序,存储器中从0x400200开始有一个64位数。
(1)将取反,再存回原处;(2)求其补码,存放到0x400208处。
解:LDR R0,=0x400200LDR R2,=0xFFFFFFFFLDR R1,[R0] ;取低32位数EOR R1,R1,R2 ;取反STR R1,[R0] ;存低32位反码ADDS R1,R1,#1 ;又加1为求补STR R1,[R0,#8] ;存低32位补码LDR R1,[R0,#4] ;取高32位数EOR R1,R1,R2 ;取反STR R1,[R0,#4] ;存高32位反码ADC R1,R1,#0 ;高32位求补STR R1,[R0,#12] ;存高32位补码8、编写一简单ARM汇编程序段,实现1+2+…+100的运算。
解:MOV R2,#100MOV R1,#0LOOPADD R1,R1,R2 ;R1中为累加和SUBS R2,R2,#1 ;R2控制循环BNE LOOPB $第四章程序题解答11、编写一程序,用查询的方式,对S3C2410X的A/D转换器的第0通道连续进行100次A/D转换,然后将其结果求平均值。
注意:A/D转换器有独立的模拟信号输入引脚AIN0---AIN9。
ADCCON=(1<<14)|(pref<<6)|(ch<<3)|1; //允许预分频,启动转换#define rADCCON (*(volatile unsigned *)0x58000000)#define rADCDA T0 (*(volatile unsigned *)0x5800000c)#define pref 49#define ch 0int adc(void){rADCCON=(1<<14)|(pref<<6)|(ch<<3)|1; //允许预分频,启动转换while(rADCCON&0x01==1); //查询是否已经启动转换while(rADCCON&0x8000==0); //查询转换是否结束return rADCDA T0&0x3ff; //读取转换结果}void main(){int adc_data=0, i;for(i=0;i<100;i++)adc_data+=adc();adc_data=adc_data/100;printf("adc average is: %d\n",adc_data);}14、编写一程序,使用外部中断EINT0,用中断方式对端口C做数据输入。
(注意对中断系统和相关引脚进行初始化)#define BIT_ALLMSK (0xffffffff)#define BIT_EINT0 (0x01)#define rGPCCON (*(volatile unsigned *)0x56000020)#define rGPCDAT (*(volatile unsigned *)0x56000024)#define rGPFCON (*(volatile unsigned *)0x56000050)#define rEXTINT0 (*(volatile unsigned *)0x56000088)#define rSRCPND (*(volatile unsigned *)0x4A000000)#define rINTMSK (*(volatile unsigned *)0x4A000008)#define rINTPND (*(volatile unsigned *)0x4A000010)pISR_EXINT0 EQU (ISR_STARTADDRESS+0x20)int gpc_data;static void __irq Eint0Int(void){rSRCPNG = (BIT_EINT0); //清除中断请求标志rINTPNG = (BIT_EINT0); //清除中断服务标志gpc_data= rGPCDAT; //读取端口C的输入值}void main(void){int tmp=-1;rGPFCON=rGPFCON&~(0x03)|0x02; //GPF0设置为外中断0请求输入rGPCCON=rGPCCON&(0x00); //全部输入rGPEXINT0=rGPEXINT0&~(0x07)|0x03; //下降沿触发rINTMKS =~(BIT_EINT0); //开中断屏蔽pISR_EXINT0=(U32)Eint0Int; //设置中断向量while(1){if(tmp!=gpc_data){ tmp=gpc_data;printf("gpc_data=%d\n");}}}16、编写一程序,使用timer0产生并输出频率为10KHz、占空比为1/2的方波。