2022年嵌入式系统复习题 .pdf

上传人:Che****ry 文档编号:34293018 上传时间:2022-08-15 格式:PDF 页数:5 大小:59.77KB
返回 下载 相关 举报
2022年嵌入式系统复习题 .pdf_第1页
第1页 / 共5页
2022年嵌入式系统复习题 .pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《2022年嵌入式系统复习题 .pdf》由会员分享,可在线阅读,更多相关《2022年嵌入式系统复习题 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、一、1ARM7TDMI处理器可以工作在ARM 和 THUMB 两种工作状态,在开始执行程序时,处理器只能处于ARM 状态。2ARM 处理器的5 种异常模式分别是FIQ 模式, IRQ 模式, SVC 模式,中止模式,未定义模式。3. ARM 指令全是32 位的,并且指令编码的最高4 位表示条件代码,所以 ARM 指令全部可以条件执行。4. 在 ARM处理器中, R13 通常用作堆栈指针寄存器,R14 通常用作链接寄存器,R15用作程序计数器。5. 由于在 ARM 状态下指令总是字对齐的,所以PC 的 bit1:0 总是 00。6. 若子程序的返回地址保存在LR 中,执行指令MOV PC, LR

2、可以实现子程序的返回。7. 使用 FIQ 模式下的分组寄存器R8R12 可以使 FIQ 中断处理过程更加快速。8. ARM 的存储器系统存储数据时支持两种格式,若较高的字节数据存放在较高的地址,则称为小端格式。9. ARM 指令的条件码符号EQ 表示相等,此时CPSR 中的标志位Z=1。10ARM7TDMI中的 T 表示 Thumb,M 表示长乘。11. 对于 3 级流水线的ARM 处理器, PC 总是指向下2 条指令的地址,因此PC 保存的地址值是当前指令地址加8。12. ARM 处理器的5 种异常模式分别是管理,中止,未定义,IRQ, FIQ。13. 每一种异常模式下都有自己的R13 和

3、R14 寄存器, R13 通常用作堆栈指针,R14 用作链接寄存器。14. ARM 指令全是32 位的,并且指令编码的最高4 位表示条件代码。15. ARM 的存储器系统存储数据时支持大端模式和小端模式格式。16. ARM 数据处理指令使用2 个源操作数,其中第2 源操作数的形式可以是寄存器,寄存器移位和立即数。17. LDR/STR 指令是用于寄存器和存储器之间进行数据传送的指令。18.变址寻址方式按照地址偏移量变化方式不同,可以分为前变址模式,模式,自动变址模式。19.ARM 中实现程序的跳转可以使用B 指令,也可以对PC 直接赋值实现程序转移。二、1. 数据在存储器中存放如图,程序如下:

4、AREA PROC, CODE, READONL Y MOV R5 , #3 MOV R4, #0 LDR R2, =0 x0C000000 LDR R3, =0 x0C00000C 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 2010 年 11 月 30 日第2 页共 2 页LOOP LDR R0, R2, #4 LDR R1, R3, #4 MLA R4, R0, R1, R4 SUBS R5, R5, #1 BNE L

5、OOP B .END (1)伪操作 AREA 的作用是什么?伪指令LDR 的作用是什么?AREA 定义一个程序段,LDR 将地址装载到寄存器R2,R3. (2)该程序执行后,(R4)=20 , (R2) =0 x0C00000C 2. AREA PROC, CODE, READONL Y MOV R5 , #3 MOV R4, #0 LDR R2, =tablex LDR R3, =tabley LOOP LDR R0, R2, #4 LDR R1, R3, #4 MLA R4, R0, R1, R4 SUBS R5, R5, #1 BNE LOOP SWI 0 x11 AREA data1,

6、DATA tablex DCD 0 x2 ,0 x3,0 x4 tabley DCD 0 x1 ,0 x2,0 x3 END 说明该程序的功能,该程序执行后,(R4)=20, (R5)= 0。3. #include extern void str1(char *d,const char *s); int main( ) const char *src=“source ” ; char dst =“ destination” ; str1(dst, src); printf( “%sn” ,dst ) ;0 x0C000000 2 0 x0C000004 3 0 x0C000008 4 0 x0

7、C00000C 1 0 x0C000010 2 0 x0C000014 3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - AREA STRING, CODE, READONLY EXPORT str1 str1 LDRB R2, R1,#1 STRB R2, R0,#1 CMP R2, #0 BNE str1 MOV PC, LR END 说明该程序的功能,该程序执行后,数组dst 的内容是: source三、1、用 ARM汇

8、编语言编写程序,把从0 x0C000000 开始到 0 x0C000500 结束的存储区里的数据复制到0 x0C000900 开始的地方。以字为单位复制。答:AREA BCOPY, CODE, READONLY LDR R8,=0 x0C000000 LDR R9,=0 x0C000500 LDR R10,= 0 x0C000900 COPY LDR R0,R8 STR R0,R10 CMP R8,R9 ADDNE R8,R8,#4 ADDNE R10,R10,#4 BNE COPY B . END 2. S3C44B0X 端口 D 的控制寄存器PCOND 、 PDATD 、 PUPD 地址分

9、别为0 x1d20020、 0 x1d20024、0 x1d20028,用 C 语言编写程序实现对端口D 的初始化,要求将端口D 配置为输出口,上拉电阻使能。然后使PD7输出为 1,端口 D其他位状态不变。答: #define rPCOND (*(volatile unsigned *)0 x1d20020) #define rPDATD (*(volatile unsigned *)0 x1d20024) #define rPUPD (*(volatile unsigned *)0 x1d20028) void Port_Init(void) rPCOND 0 x5555; rPUPD 0

10、x00000000; rPDATD = rPDATD|0 x80; 四、1、 ARM 处理器的异常中断有哪些类型?对应的异常向量是什么?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 2010 年 11 月 30 日第4 页共 2 页答:复位 -0 x00000000 未定义指令 -0 x00000004 SWI-0 x00000008 预取中止 -0 x0000000c 数据中止 -0 x00000010 IRQ中断 -0 x

11、00000018 FIQ中断 -0 x0000001c 2.ARM 处理器的异常中断响应过程如何?答: (1)将 CPSR保存到 SPSR ; (2)设置CPSR4 :0 位和 F、I 位, ,使处理器进入相应的模式,禁止中断; (3)返回地址保存到R14_mode 。 (4)给 PC赋值,程序转到异常中断向量地址。3. ARM 数据处理指令中的第2 操作数有几种形式?举例说明。答:第 2 操作数可以是寄存器、移位后寄存器或立即数。如:ADD R0, R1,R2 ;ADD R0, R1,R2,LSR #2 ; ADD R0, R1,#200 ;4、 ARM7TDMI指令系统有几种寻址方式?LD

12、R R1,R0,#0X08 属于哪种寻址方式?答: 7 种方式:立即寻址,寄存器寻址,寄存器间接寻址,基址加偏址寻址,堆栈寻址,块拷贝寻址,相对寻址。给出的指令为基址加偏址寻址方式。5. S3C44B0X 的存储器空间是如何划分的?SDRAM 存储器应当安排在哪个空间?答:划分为8 个 bank:特殊功能寄存器位于0 x01C000000 x02000000 的 4MB空间;bank0bank5 的起始地址和空间大小都是固定的;bank6 的起始地址是固定的,空间可配置为 2、4、 8、16、 32MB ;bank7 的空间大小与bank6 一样。 bank0bank5 可配置成 SROM存储

13、器, bank6、7 可配置成SROM/DRAM/SDRAM。 6.说明 S3C44B0X I/O 端口控制寄存器的种类及功能。答: S3C44B0X I/O 端口大多数引脚是多功能的,端口配置寄存器用于配置端口引脚的功能;端口数据寄存器用于向端口输出数据和读入数据。端口上拉电阻配置寄存器用于配置端口上拉电阻使能。7.ARM有几种工作状态?如何用指令进行状态切换?两种工作状态ARM 和 THUMB ,用 BX Rm 指令切换。8.ARM的异常中断优先级如何规定?(1)复位(2)数据中止(3)FIQ (4)IRQ (5)预取指异常中止(6)SWI 、未定义指令9. 伪操作 DCB 、DCD 、D

14、CW 的作用是什么?DCB是字节数据定义伪操作,DCD是字数据定义伪操作,DCW 是半字数据定义伪操作。10说明 BEQ 、BIC、RSB 、CMP 、LDR指令的功能。 BEQ :相等时跳转;BIC:位取反与;RSB :反向减法; CMP:比较; LDR:寄存器装载11简述块拷贝寻址的功能。块拷贝是多寄存器传送指令LDM/STM 的寻址方式。 LDM/STM 指令可以把存储器中的一个数据块加载到多个寄存器中,也可以把多个寄存器中的内容保存到存储器中。12. 写出 ARM 的异常中断向量表(异常类型名称和向量地址)。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -

15、- - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - 0 x0 复位; 0 x04 未定义指令异常; 0 x08 SWI中断; 0 x0C 指令预取中止; 0 x10 数据访问中止;0 x18 IRQ中断; 0 x1C FIQ中断13. 简述 S3C44B0X矢量中断模式的原理。通常情况下,ARM7 内核受到来自IRQ的中断请求时,会在0 x18 地址处执行一条指令。但在矢量模式下,当ARM7从地址0 x18 处取指令时,中断控制器会在数据总线上加载分支指令,这些分支指令使PC跳转到每个中断向量地址处,从而转向

16、中断服务程序。14.S3C44B0X的存储器空间是如何划分的?划分为 8 个 bank:特殊功能寄存器位于0 x01C000000 x02000000 的 4MB空间;bank0bank5 的起始地址和空间大小都是固定的;bank6 的起始地址是固定的,空间可配置为 2、4、 8、16、 32MB ;bank7 的空间大小与bank6 一样。 bank0bank5 可配置成 SROM存储器, bank6、7 可配置成SROM/DRAM/SDRAM。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁