《最新嵌入式程序设计复习及题型介绍PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新嵌入式程序设计复习及题型介绍PPT课件.ppt(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式程序设计复习及题嵌入式程序设计复习及题型介绍型介绍参考习题参考习题n n1、嵌入式系统本质上是什么系统?、嵌入式系统本质上是什么系统?n n2、嵌入式系统开发与、嵌入式系统开发与PC机软件开发的区别机软件开发的区别是什么是什么n n3、嵌入式系统基本概念、嵌入式系统基本概念n n4、嵌入式系统分类、嵌入式系统分类2第五章第五章ARM体系结构及指令系统体系结构及指令系统n n主要内容主要内容主要内容主要内容n nARMARM处理器主要特点处理器主要特点处理器主要特点处理器主要特点n nRISCRISC处理器主要特征处理器主要特征处理器主要特征处理器主要特征n nARMARM处理器中寄存器的
2、数量处理器中寄存器的数量处理器中寄存器的数量处理器中寄存器的数量,名称等名称等名称等名称等n nARMARM处理器的七种工作模式特点和区别处理器的七种工作模式特点和区别处理器的七种工作模式特点和区别处理器的七种工作模式特点和区别n nARMARM处理器存储器的组织处理器存储器的组织处理器存储器的组织处理器存储器的组织,内存管理单元功能内存管理单元功能内存管理单元功能内存管理单元功能n nARMARM指令系统与指令系统与指令系统与指令系统与THUMBTHUMB指令的区别指令的区别指令的区别指令的区别n n常用的常用的常用的常用的ARMARM指令功能指令功能指令功能指令功能n n指令的使用规则和参
3、数规则指令的使用规则和参数规则指令的使用规则和参数规则指令的使用规则和参数规则9n n参考习题参考习题参考习题参考习题1 1、ARMARM处理器中的指令指针处理器中的指令指针处理器中的指令指针处理器中的指令指针PCPC、堆栈指针、堆栈指针、堆栈指针、堆栈指针SPSP、返、返、返、返回地址指针回地址指针回地址指针回地址指针LRLR,分别是哪一个寄存器?,分别是哪一个寄存器?,分别是哪一个寄存器?,分别是哪一个寄存器?2 2、ARMARM的中断向量表与的中断向量表与的中断向量表与的中断向量表与X86X86中断向量表有何区别?中断向量表有何区别?中断向量表有何区别?中断向量表有何区别?3 3、在、在
4、、在、在ARMARM处理器中的影子寄存器是干什么的?处理器中的影子寄存器是干什么的?处理器中的影子寄存器是干什么的?处理器中的影子寄存器是干什么的?4 4、ARMARM指令中第二操作数的格式要求有哪些?哪指令中第二操作数的格式要求有哪些?哪指令中第二操作数的格式要求有哪些?哪指令中第二操作数的格式要求有哪些?哪些立即数是合法的第二操作数?些立即数是合法的第二操作数?些立即数是合法的第二操作数?些立即数是合法的第二操作数?10第六章第六章 ARM汇编语言程序设计汇编语言程序设计n n主要内容主要内容n nARM汇编语言程序编写格式要求汇编语言程序编写格式要求n nARM汇编语言指示符的功能汇编语
5、言指示符的功能n n汇编语言程序设计基本程序汇编语言程序设计基本程序n n汇编汇编,C,C+混合编程问题混合编程问题11n n参考练习:参考练习:1、在、在ARM程序设计中,程序调用时默认的参程序设计中,程序调用时默认的参数通过什么方式传递?如果超过数通过什么方式传递?如果超过4个时又如个时又如何传递?返回参数呢?何传递?返回参数呢?2、汇编程序的格式要求,错误格式分析。、汇编程序的格式要求,错误格式分析。3、汇编程序与、汇编程序与C语言程序的相互调用的分析。语言程序的相互调用的分析。12n nEXPORT SS_programEXPORT SS_programn nSS_program ad
6、d r2,r0,r1SS_program add r2,r0,r1n n mov r0,r2 mov r0,r2n n mov pc,lr mov pc,lrn n end endn n某某某某C C语言有如下代码语言有如下代码语言有如下代码语言有如下代码n nExtern int SS_program(int agr1,int arg2);Extern int SS_program(int agr1,int arg2);n nS=SS_program(x,y);S=SS_program(x,y);n n则其执行结果为什么?则其执行结果为什么?则其执行结果为什么?则其执行结果为什么?13高效率
7、程序分支高效率程序分支n n设有设有设有设有C C语言程序语言程序语言程序语言程序Int c_switch(int i)Int c_switch(int i)switch(i)switch(i)case0:return method0();case0:return method0();case1:return method1():case1:return method1():case2:return method2():case2:return method2():case3:return method3():case3:return method3():case4:return method
8、4():case4:return method4():default:return method();default:return method();n n可有汇编与之功能等价可有汇编与之功能等价可有汇编与之功能等价可有汇编与之功能等价Arm_swithArm_swithcmp r0,#5cmp r0,#5addlt pc,pc,r0,lsl#2addlt pc,pc,r0,lsl#2B BmethodmethodB Bmethod0method0B B method1method1B Bmethod2method2B Bmethod3method3B Bmethod4method414n n
9、选择题选择题选择题选择题1.1.1.1.某些嵌入式处理器使用与某些嵌入式处理器使用与某些嵌入式处理器使用与某些嵌入式处理器使用与PCPCPCPC机不同的体系结构是机不同的体系结构是机不同的体系结构是机不同的体系结构是()A.A.A.A.哈佛结构哈佛结构哈佛结构哈佛结构B.B.B.B.冯冯冯冯诺伊曼结构诺伊曼结构诺伊曼结构诺伊曼结构C.C.C.C.多级流水线结构多级流水线结构多级流水线结构多级流水线结构 D.D.D.D.指令指令指令指令CACHECACHECACHECACHE2.2.以下指令中正确的是以下指令中正确的是以下指令中正确的是以下指令中正确的是()A.MOV R0,0X1234hA.M
10、OV R0,0X1234hA.MOV R0,0X1234hA.MOV R0,0X1234hB.MOV R0,#0XF1239B.MOV R0,#0XF1239B.MOV R0,#0XF1239B.MOV R0,#0XF1239C.LDR R1,R0,#4C.LDR R1,R0,#4C.LDR R1,R0,#4C.LDR R1,R0,#4D.LDR R1D.LDR R1D.LDR R1D.LDR R1,0X12340X12340X12340X1234 3.3.3.3.在嵌入式系统开发过程中进行软件调试最快方法是在嵌入式系统开发过程中进行软件调试最快方法是在嵌入式系统开发过程中进行软件调试最快方法
11、是在嵌入式系统开发过程中进行软件调试最快方法是()A.A.A.A.指令集模拟指令集模拟指令集模拟指令集模拟B.B.B.B.在线仿真在线仿真在线仿真在线仿真C.ROMC.ROMC.ROMC.ROM仿真仿真仿真仿真D.D.D.D.片上调试片上调试片上调试片上调试 考试题型及例题考试题型及例题15n n填空题填空题1.1.在在在在ELFELF文件中用于存放代码的段是文件中用于存放代码的段是文件中用于存放代码的段是文件中用于存放代码的段是TEXTTEXT段,初始化后的数据和段,初始化后的数据和段,初始化后的数据和段,初始化后的数据和未初始化数据分别放在未初始化数据分别放在未初始化数据分别放在未初始化数
12、据分别放在 段和段和段和段和 段。段。段。段。2.2.在嵌入式系统中使用的实时操作系统可以分为两类:一类对系统在嵌入式系统中使用的实时操作系统可以分为两类:一类对系统在嵌入式系统中使用的实时操作系统可以分为两类:一类对系统在嵌入式系统中使用的实时操作系统可以分为两类:一类对系统响应时间要求严格,称为响应时间要求严格,称为响应时间要求严格,称为响应时间要求严格,称为 操作系统,另一类对系统响应操作系统,另一类对系统响应操作系统,另一类对系统响应操作系统,另一类对系统响应时间要求并不严格,称为时间要求并不严格,称为时间要求并不严格,称为时间要求并不严格,称为 操作系统。操作系统。操作系统。操作系统
13、。3 3常用的常用的常用的常用的ARMARM集成开发工具有两类,一类是由集成开发工具有两类,一类是由集成开发工具有两类,一类是由集成开发工具有两类,一类是由ARMARM公司提供的公司提供的公司提供的公司提供的 集成开发环境,另一类是集成开发环境,另一类是集成开发环境,另一类是集成开发环境,另一类是 的开发环境的开发环境的开发环境的开发环境 n n判断题判断题1.1.嵌入式系统与通用嵌入式系统与通用嵌入式系统与通用嵌入式系统与通用PCPCPCPC有着本质上的不同。(有着本质上的不同。(有着本质上的不同。(有着本质上的不同。()2.2.2.2.嵌入式系统软件开发需要使用不同于嵌入式系统软件开发需要
14、使用不同于嵌入式系统软件开发需要使用不同于嵌入式系统软件开发需要使用不同于PCPCPCPC软件开发的,特殊开发环软件开发的,特殊开发环软件开发的,特殊开发环软件开发的,特殊开发环境(境(境(境()3.3.常用的常用的常用的常用的UU盘使用的是盘使用的是盘使用的是盘使用的是NOR FLASHNOR FLASH存储器,所以体积小,重量轻存储器,所以体积小,重量轻存储器,所以体积小,重量轻存储器,所以体积小,重量轻()16n n简答题简答题简答题简答题1.1.请说明以下请说明以下请说明以下请说明以下ARMARM程序的功能程序的功能程序的功能程序的功能gcdgcdcmp cmp r1,r2r1,r2s
15、ubgtsubgtr1,r1,r2r1,r1,r2subltsublt r2,r2,r1r2,r2,r1bnebne gcd gcd2.2.用汇编编写一段进行数据拷贝的程序用汇编编写一段进行数据拷贝的程序用汇编编写一段进行数据拷贝的程序用汇编编写一段进行数据拷贝的程序3.3.指出以下代码的错误指出以下代码的错误指出以下代码的错误指出以下代码的错误AREAR MYPRO,Code,READONLYAREAR MYPRO,Code,READONLYADD R10ADD R10,R10,#0XFF00 R10,#0XFF00SUB1 MOV R6,#100SUB1 MOV R6,#100SEC:MO
16、V R8,#0X200FSEC:MOV R8,#0X200FSTART Mov R2,#3START Mov R2,#3B StartB Start17n n综合应用题综合应用题综合应用题综合应用题请完善汇编程序,实现汇编程序对请完善汇编程序,实现汇编程序对请完善汇编程序,实现汇编程序对请完善汇编程序,实现汇编程序对C C C C语言程序的调用,并说明语言程序的调用,并说明语言程序的调用,并说明语言程序的调用,并说明C C C C语言程序最终的运语言程序最终的运语言程序最终的运语言程序最终的运行结果。行结果。行结果。行结果。汇编程序汇编程序汇编程序汇编程序 mypro,CODE,READONL
17、Y mypro,CODE,READONLY mypro,CODE,READONLY mypro,CODE,READONLY cppfunc cppfunc cppfunc cppfunc addfunc addfunc addfunc addfuncasmfuncasmfuncasmfuncasmfuncSTMFD sp!,lrSTMFD sp!,lrSTMFD sp!,lrSTMFD sp!,lrB cppfuncB cppfuncB cppfuncB cppfuncLDMFD LDMFD LDMFD LDMFD addfuncaddfuncaddfuncaddfuncadd r0,r0,r
18、1add r0,r0,r1add r0,r0,r1add r0,r0,r1mov pc,mov pc,mov pc,mov pc,C C C C语言程序语言程序语言程序语言程序extern int asse_add(int x,int y);extern int asse_add(int x,int y);extern int asse_add(int x,int y);extern int asse_add(int x,int y);int embed_add(int x,int y);int embed_add(int x,int y);int embed_add(int x,int y)
19、;int embed_add(int x,int y);void cppfunc()void cppfunc()void cppfunc()void cppfunc()int x,y;int x,y;int x,y;int x,y;x=asse_add(10,20);x=asse_add(10,20);x=asse_add(10,20);x=asse_add(10,20);y=embed_sub(10,20);y=embed_sub(10,20);y=embed_sub(10,20);y=embed_sub(10,20);int embed_add(int x,int y)int embed_add(int x,int y)int embed_add(int x,int y)int embed_add(int x,int y)_asmsub r0,r0,r1_asmsub r0,r0,r1_asmsub r0,r0,r1_asmsub r0,r0,r1 18