资源描述
嵌入式系统期末考试卷答案
注:仅供参考,
试卷总分:100
答题时间:120分钟
考生姓名:___________ 所在班级_________ 学号:___________
一、填空题
1、ARM的英文全称为 Advanced RISC Machines 。
2、ARM是一种通用的 32 位处理器。有两种工作状态分别是: 32位 ARM
和 16位 Thumb 状态 。
3、ARM微处理器支持字节、 半字 、 字 3种数据类型,可以表示有符号数和无符号数。其中,字需要 4 字节对齐、半字需要 2 字节对齐。
4、ARM处理器的两种工作状态:32位 状态与16位 状态。
5、 数据在存储器上的储存格式有两种,分别为 大端 格式和 小端 格式。
6、 ARM处理器的 37 个寄存器, 31 个通用寄存器, 6 个状态寄存器。
7、 ARM的种跳转指令是:b 、 bl 、 bx 和 blx 。
8、 数据在存储器上的储存格式有两种,分别为___小端格式_ ___和 大端 格式 。
9、 ARM有通用寄存器 31 个,其中 R15 作为PC使用, R13 作为SP使用。
10、 C语言与汇编混合编程时,子程序之间通过寄存器__ R0--R4 来传递参数,更多时用 数据堆栈 来传递。
11、ARM工程项目经ADS编译链接后,生成的映像(Image)文件主要有两种格式,分别为: axf 、 bin ;映像的格式转换工具是 fromelf 。
12、C程序内嵌汇编的语法格式,以“ asm ”关键字开头。
13、 ARM 微处理器支持四种类型的堆栈工作方式,分别为: ___满递增_ 、 空递增 、 满递减 、和 空递减 。
14、 常见ARM9 系列微处理器类型有 ARM9E,__ARM9ETDMI_______,_________。
15、 ARM7微处理器采用 3 级流水线结构,ARM9采用 5 级流水线结构。
16、 ARM7TDMI使用3级流水线,分3个阶段,分别为__取指 、 __译码_ 和 执行______。
17、某幅图像具有320×240个像素点,若每个像素具有8位的颜色深度。经过3:1压缩后,其图像数据需占用 320x240/3 字节的存储空间。
18、ARM的5级流水线分为取指___ 、 译码___ 、 __执行__ 、 _缓冲/数据__ 、 回写___ 。
19、BootLoader主要功能是__系统初始化, _________ ,_________加载和运行内核程序______。
20、实验中嵌入式linux系统移植的过程分为三个阶段___下载Bootloader_________,___下载Kernel_________,______下载文件系统__________。
二、 选择题
1. ARM 属于(A )
[A] RISC 架构
[B] CISC架构
2. ARM 指令集是( C )位宽,Thumb 指令集是( B )位宽的。
[A] 8位
[B] 16 位
[C] 32位
[D] 64位
3. ARM 指令集是( H )字节对齐,Thumb 指令集是(F )字节对齐的
[E] 1
[F] 2
[G] 3
[H] 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. I2C协议中设备地址模式有(AC )
[A] 7位地址模式
[B] 8位地址模式
[C ] 10位地址模式
[D ] 4地址模式
12. S3C2410采用的是( D )核心
[A] ARM7TDMI
[B] ARM9TDMI
[C ] ARM926EJ-S
[D ] ARM920T
13. 在串行异步通讯中,发送端串口的TxD要和接收端串口的( B )相连接
[A] TxD
[B] RxD
[C ] nCTS
[D ] nRTS
14. 在嵌入式系统设计中可以通过( B )来测量电池电压,可以用( D)来驱动蜂鸣器发声
[A] DAC
[B] ADC
[C ] PWM
[D ] Timer
[E] RTC
15. ARM是32 位微处理器是指 A 。
[A]地址总线的宽度为 32 位
[B] 处理的数据长度只能为 32 位
[C]CPU 字长为 32 位
[D]通用寄存器数目为 32 个
16. ARM微处理器支持字(32位)数据类型来表示有符号数和无符号数,字需要 _____B__ 字节对齐。
[A] 3
[B] 4
[C] 1
[D] 2
17.关于ARM汇编语言,以下叙述中正确的是 B 。
[A] ARM汇编语言程序可以直接在ARM微处理器上运行
[B] ARM汇编语言通常会提供控制伪指令,用于控制汇编程序的执行流程
[C] 在ARM汇编语言中,不能定义符号常量
[D] ARM伪指令语句所指示的操作是在程序运行时完成的
18.在嵌入式操作系统中,关于硬件抽象层(HAL),以下描述中错误的是 B 。
[A] 硬件抽象层包括操作系统内核和驱动程序
[B] 硬件抽象层将操作系统与硬件平台隔开
[C] 硬件抽象层是一种软件
[D] 硬件抽象层有利于系统的模块化设计
19. CPSR寄存器中反映处理器状态的位是( D )
[A] J位
[B] I位
[C ] F位
[D ] T位
20. 下面属于ARM 子程序调用指令的是( C )
[A] B
[B] BX
[C ] BL
[D ] MOV
21. ARM7属于( A)结构,ARM9属于( B)结构。
[A] 冯.诺依曼
[B] 哈佛
22. ARM7是( B )级流水线,ARM9是(C )级流水线。
[A] 1
[B] 3
[C ] 5
[D ] 7
23. ARM中可以访问状态寄存器的指令是( D ),能够访问内存的指令是( B )
[A] MOV
[B] LDR
[C ] MCR
[D ] MRS
24. 异步串口中数据位可以是(ABCD )
[A] 5
[B] 6
[C ] 7
[D ] 8
25. I2C协议中有几根线( B )
[A] 1
[B] 2
[C ] 3
[D ] 4
26. I2C协议中设备地址模式有( AC )
[A] 7位地址模式
[B] 8位地址模式
[C ] 10位地址模式
[D ] 4地址模式
27.下面ARM汇编指令 B 完成R1=R0×8操作。
[A]ADD R1,R0,#8
[B]MULL R1,R0,#8
[C]MOV R1,R0,#8
[D]MOV R1,R0,LSL #3
28.下面是ARM汇编伪操作,其中 B 可以定义一个数字常量。
[A]GBLA
[B]EQU
[C]SETA
[D]LCLA
29. MMU的作用有(AB )
[A] 内存保护
[B] 地址转换
[C ] 加快存取速度
[D ] 安全保密
[E] 内存分配
23. 以下属于DMA特点的有( C )
[A] 占用CPU
[B] 占用总线
[C ] 不占用CPU
[D ] 不占用总线
24. 下面的设备中属于闪存的设备有( AD )
[A] K9F1208U0M
[B] MAX3232
[C ] HY57V561620
[D ] Am29LV160D
25. I2C传输是( B )方式传输
[A] 单工
[B] 半双工
[C ] 全双工
26.之间进行地址转换时,___B___将地址从逻辑地址空间映射到物理地址空间
[A]TCB
[B]MMU
[C]CACHE
[D]DMA
27.s3c2410是一款 C 。
[A]RISC MCU
[B]CISC MCU
[C]RISC MPU
[D]CISC MPU
28.清除s3c2410的中断,是在给SRCPND寄存器的相应位置 B 。
[A]0
[B]1
[C]取反
[D]自动清零
三、 简答题
1、简述ARM微处理器支持7种工作模式。
答:
1 用户模式 2 快速中断模式 3外部中断模式 4 管理模式
5 数据访问终止模式 6 系统模式 7 未定义指令中止模式
2、试解释下面的每条ARM汇编语句:
ADD R0, R0 ,#0x3f
ADD R3,R2,R1,LSL R4
LDMIA R0 , {R1 ,R2 ,R3 ,R4}
MULS R0 , R1 , R2
MSR CPSR , R0
STR R0 , [R1 ,#8]
ADD R0, R0 ,#0x3f ;R0= RO+0X3F
ADD R3,R2,R1,LSL R4 ;R3=R2+R1<<R4
LDMIA R0 , {R1 ,R2 ,R3 ,R4} ;R1=[R0];R2=[R0+4];R3=[R3+8];R4=[R0+12]
MULS R0 , R1 , R2 ;R0=R1*R2, 计算结果状态位将影响CPSR寄存器
MSR CPSR , R0 ;CPSR=R0
STR R0 , [R1 ,#8] ;[R1+8]=R0
3、用C语言写出开外部中断EINT19和清除外部中断EINT19的程序段(针对S3C2410A)。
4、简述改变ARM处理器工作模式的方法。
被动切换:在arm运行的时候产生一些异常或者中断来进行模式切换
主动切换: 通过软件改变,即软件来设置寄存器cpsr来进行模式的切换,应为ARM的工作模式
Tips: 当处理器运行在用户模式下,某些被保护的系统资源是不能被访问的
5、ARM处理器的特点?
1 体积小,低功耗 低成本 高性能
2 支持thumb 和arm双指令集,能很好的兼容8/16未器件
3 大量使用寄存器,指令执行速度更快
4 大多数数据操作都在寄存器中完成
5 寻址方式灵活简单,执行效率高
6 指令长度固定
6、 ARM处理器对异常中断的处理过程?
异常中断响应过程:将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的
位置重新开始执行。将CPSR复制到相应的SPSR中。根据异常类型,强制设置CPSR的运行模式位。
强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。如果异常发生时,
处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。
异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:
将连接寄存器LR的值减去相应的偏移量后送到PC中。将SPSR复制回CPSR中。若在进入异常处理时
设置了中断禁止位,要在此清除。
7、用C语言写出开外部中断EINT19和清除外部中断EINT19的程序段(针对S3C2440A)?
8、 FIQ中断与IRQ中断的区别?
答:1.FIQ有自己专属的寄存器(R8-R12)
2.FIQ 和 IRQ 提供了非常基本的优先级级别,当多个中断产生时,FIQ高于IRQ;处理 FIQ时禁止
IRQs:IRQs 将不会被响应直到 FIQ处理完成.
3.他的位置在中断向量表的最后面,不需要跳转
9、 中断向量表的作用?
中断向量表的功作用是当中断源发出中断请求时,即可查找该表,找出其中断向量,就可转入相应的中断
服务子程序。
10、ARM的存储常用指令?
单寄存器存储指令、多寄存器存储指令和交换指令。
11、 ARM的寻址方式以及各种方式的使用规则?
1 、立即数寻址 例如:MOV R0,#15
规则:立即数要求以“#”为前缀,对于以十六进制表示的立即数,还要求在“#”后加上“0x”或“&”;
对于以二进制表示的立即数,要求在“#”后加上“0b”; 对于以十进制表示的立即数,要求在“#”后加
上“0d”或缺省。
2 、 寄存器寻址 例如:ADD R0,R1,R2 ;R0←R1+R2
规则:存器寻址就是利用寄存器中的数值作为操作数,这种寻址方式是各类微处理器经常采用的一种方式,
也是一种执行效率较高的寻址方式。
3、 寄存器间接寻址 例如:LDR R0,[R4] ;R0←[R4]
规则:寄存器间接寻址就是以寄存器中的值作为操作数的地址,而操作数本身存放在存储器中。
4、 寄存器移位寻址 例如:ADD R0 ,R1 ,R2 ,LSL #1
规则:寄存器移位寻址的操作数由寄存器中的数值做相应移位而得到。
5、 基址变址寻址 例如:LDR R0,[R1,#4] ;R0←[R1+4]
规则:基址变址寻址就是将寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的地址偏移
量相加,从而得到一个操作数的有效地址。
6、 多寄存器寻址
规则:采用多寄存器寻址方式,一条指令可以完成多个寄存器值的传送。这种寻址方式中用一条指令最
多可传送16个通用寄存器的值。连续的寄存器间用“-”连接,否则用“,”分隔
7、 相对寻址
规则:与基址变址寻址方式相类似,相对寻址以程序计数器PC的当前值为基地址,指令中的地址标号作
为偏移量,将两者相加之后得到操作数的有效地址。
8、 堆栈寻址
规则:堆栈是一种数据结构,按后进先出(Last In First Out, LIFO)的方式工作,使用一个称作堆
栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。
13、存储管理单元MMU作用?
将线性地址映射为物理地址
提供硬件机制的内存访问授权
四、 设计题
1、用微处理器S3C2440A控制LED灯电路,设计要求:使用S3C2440A 中G组GPIO口中的GPG8和GPG9引脚分别控制两只LED灯,画出硬件电路简图,并分别用ARM汇编语言和C语言编写两只LED灯亮和灭的控制程序。
展开阅读全文