一、选择题
1. ARM属于(A)
[A] RISC架构 [B] CISC架构
2. ARM指令集是(C )位宽,Thumb指令集是(B )位宽的。
[A] 8位 [B] 16位 [C] 32位 [D] 64位
3. ARM指令集是(D)字节对齐,Thumb指令集是(B)字节对齐的
[A] 1 [B] 2 [C] 3 [D] 4
4.复位后,ARM处理器处于(B)模式,(D) 状态
[A] User [B] SVC [C] System [D] ARM [E] Thumb
5. ARM处理器总共(E)个寄存器,System模式下使用(A)个寄存器,SVC模式下使用(B)个寄存器。
[A] 17个 [B] 18个 [C] 32个 [D] 36个 [E] 37个
6. ARM处理器中优先级别最高的异常为(E),( AC)异常可以用来相应中断
[A] FIQ [B] SWI [C] IRQ [D] SVC [E] RESET
7. ARM数据处理指令中有效的立即数是(ACEGH)
[A] 0X00AB0000 [B] 0X0000FFFF [C ] 0XF000000F [D ] 0X08000012
[E] 0X00001F80 [F] 0XFFFFFFFF [G] 0 [H] 0XFF000000
8. ATPCS规定中,推荐子函数参数最大为(D) 个
[A] 1 [B] 2 [C ] 3 [D ] 4
9. ATPCS规定中,栈是(B)
[A] 满加 [B] 满减 [C] 空加 [D] 空减
10.在用ARM汇编编程是,其寄存器有多个别名,通常PC是指(D),LR是指(C ),SP是指(B)
[A] R12 [B] R13 [C] R14 [D] R15
11. CPSR寄存器中反映处理器状态的位是(D)
[A] J位 [B] I位 [C] F位 [D] T位
12.下面属于ARM子程序调用指令的是(C)
[A] B [B] BX [C ] BL [D ] MOV
13. ARM7属于(A)结构,ARM9属于(B)结构。
[A] 冯.诺依曼 [B] 哈佛
14. ARM7是(B)级流水线,ARM9是(C)级流水线。
[A] 1 [B] 3 [C] 5 [D] 7
15. ARM中可以访问状态寄存器的指令是(D),能够访问内存的指令是(B)
[A] MOV [B] LDR [C] MCR [D] MRS
16.异步串口中数据位可以是(ABCD)
[A] 5 [B] 6 [C] 7 [D] 8
17. I2C协议中有几根线(B)
[A] 1 [B] 2 [C] 3 [D] 4
18. I2C协议中设备地址模式有(AC)
[A] 7位地址模式 [B] 8位地址模式 [C] 10位地址模式 [D] 4地址模式
19. S3C2410采用的是(D)核心
[A] ARM7TDMI [B] ARM9TDMI [C] ARM926EJ-S [D] ARM920T
20.在串行异步通讯中,发送端串口的TxD要和接收端串口的(B)相连接
[A] TxD [B] RxD [C] nCTS [D] nRTS
21.在嵌入式系统设计中可以通过(B)来测量电池电压,可以用(C)来驱动喇叭发声
[A] DAC [B] ADC [C] PWM [D] Timer [E] RTC
22. MMU的作用有(AB)
[A] 内存保护 [B] 地址转换 [C] 加快存取速度 [D] 安全保密 [E] 内存分配
23.以下属于DMA特点的有(BC)
[A]占用CPU [B]占用总线 [C]不占用CPU [D]不占用总线
24.下面的设备中属于闪存的设备有(AD)
[A] K9F1208U0M [B] MAX3232 [C] HY57V561620 [D] Am29LV160D
25. I2C传输是(B)方式传输
[A] 单工 [B] 半双工 [C] 全双工
二、简答题
1.简述ARM发生异常时,ARM核心会自动做哪些事情?从异常返回时,我们要做哪些事情?
1)-- 当异常产生时, ARM core:
拷贝CPSR到SPSR_<mode>
设置适当的CPSR位:
改变处理器状态进入ARM状态
改变处理器模式进入相应的异常模式
设置中断禁止位禁止相应中断(如果需要)
保存返回地址到LR_<mode>
设置PC为相应的异常向量
2)-- 返回时,异常处理需要:
从SPSR_<mode>恢复CPSR
从LR_<mode>恢复PC
Note:这些操作只能在ARM态执行.
2.用ARM汇编指令写出实现64位加法和64位减法的代码段,使用的寄存器请自行分配。
假定低32位数存放在r0和r1里面,高32位数存放在r2和r3里面。
加法:
ADDS r0, r0, r1 //加S是因为要让这个操作影响标志位
ADC r2, r2, r3 //ADC是带进位的加法,如果上一条指令产生进位则一起加进来
减法:
SUBS r0, r0, r1 //加S是因为要让这个操作影响标志位
SBC r2, r2, r3 // SBC是带进位的减法指令
3.请列举ARM处理器的模式和异常,并说明各个发生异常时ARM处理器所处的模式
异常:
Reset
Data Abort
FIQ
IRQ
Prefetch Abort
SWI
Undefined instruction
处理器模式
User :非特权模式,大部分任务执行在这种模式}
FIQ : 当一个高优先级(fast)}中断产生时将会进入这种模式
IRQ : 当一个低优先级(normal)中断产生时将会进入这种模式}
Supervisor}:当复位或软中断指令执行时将会进入这种模式
Abort :当存取异常时将会进入这种模式}
Undef :}当执行未定义指令时会进入这种模式
System :使用和User模式相同寄存器集的特权模式}
4. FIQ的什么特点使得它处理的速度比IRQ快?
1)FIQ优先级比IRQ高,不会被中断
2)FIQ有自己的专属寄存器:r8~r12,不用对通用寄存器入栈保护,可以加快速度
3)FIQ位于异常向量表的末尾0x1c,故无需跳转,可以在这里直接放置异常处理函数
5.什么指令可以放在中断向量表?
跳转指令,给PC赋值的指令
B,LDR,MOV
6. ARM处理器 中断向量表位于存储器的什么位置?
默认:0x0
也可以配置成:0Xffff0000
7.下列ARM指令将做什么?
a) LDRH r0,[r1,#6]
b) LDR r0, =0x999
a:将r1寄存器的值加上6,然后把以这个值为地址的内存单元里的值取半字(低16位)赋给r0
b:将立即数0x999赋给r0,注意这是一个伪指令
8. SWP指令的优势是什么?用来实现什么功能?
功能:在寄存器和存储器之间,由一次存储器读和一次存储器写组成的原子操作。完成一个字节或字的交换。
可以用来实现信号量
9. S3C2410支持几种引导方式(或者说是内存映射方式)?简述Nand引导方式S3C2410硬件做的事情。
1)nor flash启动方式。
2)nand flash启动方式。
从Nand flash启动时,S3C2410首先会执行固化在片上ROM中的一段小程序,这段程序负责将nand flash前2K的代码搬移到片上RAM,然后将PC指针指向0x0地址(注意这个时候片上RAM被映射到0x0的起始地址)
10.简述static和volatile关键字的含义和作用。
c语言中static关键字有两个作用,一是文件作用域,二是函数作用域。
文件作用域关键字static的作用是,以static申明的全局变量、函数不得被其他文件所引用
static另外一个用途是函数内部静态变量,只会被初始化一次,而且变量存储在全局数据段中而不是函数栈中,所以其生命期会一直持续到程序退出
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。