arm嵌入式技术原理与应用答案_第1页
arm嵌入式技术原理与应用答案_第2页
arm嵌入式技术原理与应用答案_第3页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、arm嵌入式技术原理与应用答案【篇一:嵌入式系统原理与开发课后答案】章嵌入式系统概述:1、什么是嵌入式系统?是简单列举一些生活中常见的嵌入式系统的实例。p3嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。3、是比较嵌入式系统与通用pc的区别。p3(1) 嵌入式系统是专用的计算机系统,而pc是通用的计算机系统。(2) 技术要求不同,通用pc追求高速、海量的数据运算;嵌入式要求对象体系的智能化控制。(3) 发展方向不同,pc追求总线速度的不断提升,存储容量不断扩大;嵌入式追

2、求特定对象系统的智能性,嵌入式,专用性。4、嵌入式体统有哪些部分组成?简单说明各部分的功能与作用。p6硬件层是整个核心控制模块(由嵌入式微处理器、存储系统、通信模块、人机接口、其他i/o接口以及电源组成),嵌入式系统的硬件层以嵌入式微处理器为核心,在嵌入式微处理器基础上增加电源电路、时钟电路、和存储器电路(ram和rom等),这就构成了一个嵌入式核心控制模块,操作系统和应用程序都可以固化在rom中。(1) 中间层把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。一般包括硬件抽象层(hardwareabstractlayer,hal)*口板级支持包(boardsupportpa

3、ckage,bsp)。软件层由实时操作系统(realtimeoperatingsystem,rtos)、文件系统、图形用户接口(graphicaluserinterfaces,gui)、网络组件组成。(2) 功能层是面向被控对象和用户的,当需要用户操作是往往需要提供一个友好的人际界面。5、嵌入式系统是怎么分类的?p7按照嵌入式微处理器的位数分类(4位、8位、16位、32位、64位);按照是实时性分类(硬实时系统式之系统对响应时间有严格的要求;软实时系统是对响应时间有一定要求);按照嵌入式软件结构分类(循环轮询系统、前后台系统、多任务系统);按照应用领域分类。6什么是多任务系统?多任务系统的特点

4、些?p9应用的场台:对于较复杂的嵌入式系统而言,存在许多互不相关的过程需要计算机同时处理,在这种情况下就需要采用多任务系统。多任务系统的软件是由多个任务、多个中断服务程序以及嵌入式操作系统组成。任务是顺序执行的,并行性通过操作系统完成。特点:(1)每个任务都是一个无限循环的程序,等待特定的输入,从而机型相应的处理。(2)这种程序模型将系统成分相对简单、相互合作的模块。(3)不同的任务共享同一个cpu和其他硬件,嵌入式操作系统对这些共享资源进行管理。(4)多个顺序机型的任务在宏观上是并行执行的,每个任务都运行在自己独立的cpu上。第二章嵌入式处理器1'嵌入式处理器有哪几类?简述各类嵌入式

5、处理器的主要特点和应用领域。p16嵌入式微控制器、嵌入式微处理器、嵌入式dsp、嵌入式片上系统。(1)嵌入式微处理器集成处理器内核,存储管理器高速缓存芯片,存在体积小、重量轻、成本低和可靠性高等特点,其又称为单板机。(2)嵌入式微控制器是集成了微处理器、存储器和片内外设芯片称为微控制器,片上外设资源丰富适合于控制单片化、体积小、功耗低、成本低等特点。(3)嵌入式dsp专门用于信号处理的嵌入式芯片,适合执行dsp算法,能够对离散信号进行集化处理,提高速度。(4)嵌入式片上系统soc软硬件的无缝结合,直接在处理器片内嵌入操作系统的代码模块,在单个芯片上实整个系统的功能。4、arm体系结构版本的命名

6、规则有哪些?简单说明arm7tdmi的含义。p28/armv/n/varants/x/varcant/内核、体系结构、变量、/排除/例如:armv4xm是指arm内核v4版本排除m变种armv5txm是指arm内核v5体系支持t变种排除m变种6、arm处理器的工作模式有几种?各种工作模式下分别有什么特点?p37用户:程序正常执行模式fiq:支持高速数据传输或通道处理irq:通用中断处理管理:操作系统保护模式,用于处理软中断中止:用于处理存储器故障,虚拟存储器或存储器保护,处理存储器的故障未定义:支持硬件协处理器的仿真处理未定义的指令陷阱系统:运行特权操作系统任务未免出现用户模式不可靠。7、ar

7、m处理器总共有多少个通用寄存器?这些寄存器按其在用户编程中的功能是如何划分的?p38arm处理器共有37个寄存器,31个通用寄存器,含程序计数器pc,6个状态寄存器。r0r7为普通寄存器r8r12普通寄存器允许快速中断r13通常用作堆栈指针sp,指向栈顶r14通常用作子程序链接寄存器lr也用于中断临时存放pc值,pctlrcpsrtspsrr15程斥计数器通常被用作程序计数器pc。(pc中存放下一条将要执行的指令地址)8cpsr各状态位的作用是什么?如何进行操作,以改变各状态位?p39n、z、c、v、q是条件码标志,i、f、t、m【4:0】是控制位。i:置1则禁止irq中断;f:置1则禁止fi

8、q中断;t:对于arm体系结构v4以上版本,t=0指示arm执行,t=1指示thumb执行:对已arm体系结构v5以上版本,t=0指示arm执行,t=1指示下一条指令引起未定义的指令异常。n=1结果为负数,结果为0则z=1,c进位位,v溢出位,q指示增强型dsp指令中是否出现溢出或饱和,i=1禁止irq中断,f=1禁止fiq中断,t=0指示arm执行t=1指示thumb执行,m【4:0】模式位决定处理器的工作模式。9,试述arm处理器对异常中断的影响。p41r14-exception-mode=returnlinkspsr-exception-mode=cpsrcpsr【4:0=excepti

9、onmodenumber4位至U0位进入异常模式cpsr【5=0使处理器在arm状态下执行cpsr【7=1禁止新的irq中断ifexception-mode=resetorfiqthencpsr6=1禁止新的fiq中断pc=exceptioncectoraddress完成后进入异常向量地址10.如何从异常中断处理程序中返回?需要注意哪些问题?(可不看)进入中断的逆过程。11arm指令的寻址方式有几种?试分别叙述其各自的特点并举例说明。p44(1) 寄存器寻址:指令地址码给出寄存器的编号,寄存器中的内容作为操作数。(2) 立即寻址、指令操作码后的地址码是立即数,即操作数本身。(3) 寄存器移位寻

10、址、是arm指令集特有的寻址方式。(4) 寄存器间接寻址、指令地址码给出寄存器的编号,寄存器为地址指针,存放操作数的有效地址。(5) 基址寻址、基址寻址是讲基址寄存器的内容与指令中给出的维系量相加,形成操作数有效地址。(6) 多寄存器寻址一次可以传送多个寄存器的值(7) 堆栈寻址按照特定顺序进行存取的存取区。块拷贝寻址(9)相对寻址【篇二:arm嵌入式系统结构与编程习题答1】1.国内嵌入式系统行业对一嵌入式系统II的定义是什么?如何理解?答:国内嵌入式行业一个普遍认同的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专业计算机系统。

11、从这个定义可以看出嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结台实际系统需求进行合理的剪裁利用。因此有人把嵌入式系统比作是一个针对特定的应用而一量身定做I的专业计算机系统。2.嵌入式系统是从何时产生的,简述其发展历程。答:从20世纪70年代单片机的出现到目前各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了30多年的发展历史。嵌入式系统的出现最初是基于单片机的。intel公司1971年开发出第一片具有4位总线结构的微处理器4004,可以说是嵌入式系统的萌芽阶段。80年代初的8051是单片机历史上值得纪念的一页。20世纪80年代早期,出现了商业级的一实时操作系统内核R

12、在实时内核下编写应用软件可以使新产品的沿着更快,更节省资金。20世纪90年代实时内核发展为实时多任务操作系统。步入21世纪以来,嵌入式系统得到了极大的发展。在硬件上,mcu的性能得到了极大的提升,特别是arm技术的出现与完善,为嵌入式操作系统提供了功能强大的硬件载体,将嵌入式系统推向了一个崭新的阶段。3.当前最常用的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点。答:主要有嵌入式linux和嵌入式实时操作内核uc/os-ii嵌入式linux操作系统是针对嵌入式微控制器的特点而量身定做的一种linux操作系统,包括常用的嵌入式通信协议和常用驱动,支持多种文件系统。主要有以下特点:源码开

13、放,易于移植,内核小,功能强大,运行稳定,效率高等。uc/os是源码工卡的实时嵌入式系统内核,主要有以下特点:源码公开,可移植性强,可固化,可剪裁,占先式,多任务,可确定性,提供系统服务等。4.举例说明嵌入式设备在工控设备中的应用。答:由于工业控制系统特别强调可靠性和实时性,一量身定做I的嵌入式控制系统恰能满足工业控制的需求。例如:工业过程控制,数字控制机床,电网设备监测,电力自动控制系统,石油化工监控等。5.嵌入式技术的发展趋势有哪些?答:未来嵌入式系统的发展趋势有:1.随着信息化与数字化的发展,嵌入式设备进行网络互联是未来发展的趋势。2.优化嵌入式系统软硬件内核,提高系统运行速度,降低功耗

14、和硬件成本。3.指令集的并行计算技术将引入嵌入式微处理器。4.嵌入式微处理器将会向多核技术发展。5.嵌入式技术将引领信息时代。第2章arm技术与arm体系结构1.简述arm处理器内核调试结构原理答:arm处理器一般都带有嵌入式追踪宏单元etm(embeddedtracemacro),它是arm公司自己推出的调试工具。arm处理器都支持基于jtag(jointtestactiongroup联合测12试行动小组)的调试方法。它利用芯片内部的embeddedice来控制arm内核操作,可完成单步调试和断点调试等操作。当cpu处理单步执行完毕或到达断点处时,就可以在宿主机端查看处理器现场数据,但是它不

15、能在cpu运行过程中对实时数据进行仿真。etm解决了上述问题,能够在cpu运行过程中实时扫描处理器的现场信息,并数据送往tap(testaccessport)控制器。上图中分为三条扫描链(图中的粗实线),分别用来监视arm核,etm,嵌入式ice的状态。2.分析arm7tdmi-s各字母所代表的含义。答:arm7tdmi-s中arm是advancedriscmachines的缩写7是系列号;t:支持高密度16位的thumb指令集;d:支持jtag片上调试;m:支持用于长乘法操作(64位结果)arm指令,包含快速乘法器;i:带有嵌入式追踪宏单元etm,用来设置断点和观察点的调试硬件;s:可综合版

16、本,意味着处理器内核是以源代码形式提供的。这种源代码形式又可以编译成一种易于eda工具使用的形式。3.arm处理器的工作模式有哪几种,其中哪些为特权模式,哪些为异常模式,并指出处理器在什么情况下进入相应的模式。答:arm技术的设计者将arm处理器在应用中可能产生的状态进行了分类,并针对同一类型的异常状态设定了一个固定的入口点,当异常产生时,程序会自动跳转到对应异常入口处进行异常服务。?1.用户模式:非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下执行。在用户模式下,如果没异常发算和移位操作,如果是对存储器操作的指令,则在alu中计算出要访问的存储器地址。存储器访问:如果是对存储器访

17、问的指令,用来实现数据缓冲功能(通过数据cache)。寄存器回写:将指令运算或操作结果写回到目标寄存器中。9.什么叫流水线互锁?应如何来解决,举例说明。答:互锁:当前指令的执行需要前面指令的执行结果,但前面的指令没有执行完毕,引起流水线的等待。互锁发生时,硬件会停止指令的执行,直到数据准备好。56上边程序中orr指令执行时需要使用ldr指令加载后的r4寄存器,因此造成了orr指令的等待。编译器以及汇编程序员可以通过重新设计代码的顺序或者其他办法来减少互锁的数量。第3章arm指令集寻址方式在指令编码中,条件码占几位,最多有多少个条件,各个条件是如何形成的?答:条件码占4位,最多有15个条件操作码

18、0000000100100011010001010110011110001001101010111100110111101111条件助记符标志eqnecs/hscc/lomiplvsvchilsgeltgtlealnvz=1z=0c=1c=0n=1n=0v=1v=0c=1,z=0c=0,z=1n=vn!=vz=0,n=vz=1,n!=v任何任何含义相等不相等无符号数大于或等于无符号数小于负数正数或零溢出没有溢出无符号数大于无符号数小于或等于有符号数大于或等于有符号数小于有符号数大于有符号数小于或等于无条件执行(指令默认条件)从不执行(不要使用)2.指令条件码中,v标志位在什么情况下才能等于1?

19、答:v一溢出标志位对于加减法运算指令,当操作数和运算结果为二进制补码表示的带符号数时,v=1表示符号67位溢出,其他指令通常不影响v位。3.在arm指令中,什么是合法的立即数?判断下面各立即数是否合法,如果合法则写出在指令中的编码格式(也就是8位常数和4位移位数)0x54300x1080x3040x5010xfb100000x3340000x3fc0000x1fe00000x55800000x7f8000x39c0000x1fe80000答:立即数必须由1个8位的常数通过进行32位循环右移偶数位得到,其中循环右移的位数由一个4位二进制的两倍表示。即一个8位的常数通过循环右移2*rotate_4

20、位(即0,2,4,。30)得到0x54300000,0000,0000,0000,0101,0100,0011,0000非法立即数0x1080000,0000,0000,0000,0000,0001,0000,10000x42循环右移30位(rotate_4=0xf)0x3040000,0000,0000,0000,0000,0011,0000,01000xc1循环右移30位(rotate_4=0xf)0x5010000,0000,0000,0000,0000,0101,0000,0001非法立即数0xfb100000000,1111,1011,0001,0000,0000,0000,0000

21、非法立即数0x3340000000,0000,0011,0011,0100,0000,0000,00000xcd循环右移18位(rotate_4=0x9)0x3fc0000000,0000,0011,1111,1100,0000,0000,00000xff循环右移18位(rotate_4=0x9)0x1fe00000000,0001,1111,1110,0000,0000,0000,0000非法立即数0x55800000000,0101,0101,1000,0000,0000,0000,0000非法立即数0x7f8000000,0000,0000,0111,1111,1000,0000,000

22、0非法立即数0x39c0000000,0000,0011,1001,1100,0000,0000,00000xe7循环右移18位(rotate_4=0x9)0x1fe800000001,1111,1110,1000,0000,0000,0000,0000非法立即数4.分析逻辑右移,算术右移,循环右移,带扩展的循环右移它们间的差别。答:lsl逻辑左移:3100lsr逻辑右移:3100asr算术右移:78310ror循环右移:310rrx带扩展的循环右移:31c05.arm数据处理指令具体的寻址方式有哪些,如果程序计数器pc作为目标寄存器,会产生什么结果?答:数据处理指令寻址方式具体可分为5种类型

23、:1)第二操作数为立即数2)第二操作数为寄存器3)第二操作数为寄存器移位方式且移位的位数为一个5位立即数4)第二操作数为寄存器移位方式且移位数值放在寄存器中5)第二操作数位寄存器进行rrx移位得到。如果pc(r15)用作目标寄存器,指令会产生不可预知的结果。6.在load/store指令寻址中,字,无符号字节的load/store指令寻址和半字,有符号字节寻址,试分析它们之间的差别。答:在load/store指令寻址中,字,无符号字节的load/store指令寻址中共有以下3种内存地址构成格式:1)addressing_mode中的偏移量为立即数2)addressing_mode中的偏移量为寄

24、存器的值3)addressing_mode中的偏移量通过寄存器移位得到半字,有符号字节的load/store指令寻址中共有以下2种内存地址构成格式:1)addressing_mode中的偏移量为立即数2)addressing_mode中的偏移量为寄存器的值7.块拷贝load/store指令在实现寄存器组合连续的内存单元中数据传递时,地址的变化方式有哪几种类型,并分析它们的地址变化情况。答:批量load/store指令在实现寄存器组合连续的内存单元中数据传递时,地址的变化方式有以下4种类型:?后增ia(incrementafter):每次数据传送后地址加4;?先增ib(incrementbefo

25、re):每次数据传送前地址加4;?后减da(decrementafter):每次数据传送后地址减4;?先减db(decrementbefore):每次数据传送前地址减4;栈操作指令地址的变化方式有哪几种类型,并分析它们的地址变化情况,从而得出栈操作指令寻址和块拷贝load/store指令之间的对应关系。答:根据堆栈指针的指向位置不同和堆栈的生长方向不同,共有4种类型的堆栈工作方式:满递增堆栈fa:堆栈指针指向最后压入的数据,且由低地址向高地址生成。满递减堆栈fd:堆栈指针指向最后压入的数据,且由高地址向低地址生成。空递增堆栈ea:堆栈指针指向下一个要放入数据的空位置,且由低地址向高地址生成。8

26、9空递减堆栈ed:堆栈指针指向下一个要放入数据的空位置,且由高地址向低地址生成。分析协处理器加载/存储指令的寻址方式种的内存地址索引格式中不同的汇编语法格式下内存地址的计算方法。答:协处理器加载/存储指令的寻址方式种的内存地址索引格式中,索引格式类似于ldr/str指令寻址中的立即数作为地址偏移量的形式。addressing_mode中的偏移量为8位立即数的汇编语法格式有以下3种:?前变址不回写形式:rn,#+/-imm_offset8*4第一个内存地址编号为基地址寄存器rn值加上/减去imm_offset8的4倍,后续的每一个地址是前一个内存地址加4,直到协处理器发出信号,结束本次数据传输为

27、止。?前变址回写形式:rn,#+/-imm_offset8*4!第一个内存地址编号为基地址寄存器rn值加上/减去imm_offset8的4倍,后续的每一个地址是前一个内存地址加4,直到协处理器发出信号,结束本次数据传输为止。当指令执行时,生成的地址值将写入基址寄存器。?后变址回写形式:rn,#+/-imm_offset8*4内存地址为基址寄存器rn的值,当存储器操作完成后,将基地址寄存器rn值加上/减去imm_offset8的4倍,后续的每一个地址是前一个内存地址加4,直到协处理器发出信号,结束本次数据传输为止。最后将rn值加上/减去imm_offset8的4倍写回到基址寄存器rn(更新基地址

28、寄存器)。写出下列指令的机器码,并分析指令操作功能。movr0,r1movr1,0x198addeqsr1,r2,0xabcmpr2,#0xabIdrr0,r1,#4strr0,r1,r1,lsl#2!ldrhr0,r1,#4ldrsbr0,r2,#-2!strbr1,r2,#0xa0910ldmiar0,r1,r2,r8stmdbr0!,r1-r5,r10,r11stmedsp!r0-r3,lr答:机器码部分略。movr0,r1;r0r1movr1,0x198;r0-0x198addeqsr1,r2,0xab;当z=1时,r1-r2+0xab并影响标志位cmpr2,#0xab;r2-0xab

29、,并影响标志位ldrr0,r1,#4;r0-【r1+4strr0,r1,r1,lsl#2!;【r1+r1*4-r0,r1=r1+r1*4ldrhr0,r1,#4;r0-【r1+4】半字,r0的高16位清零ldrsbr0,r2,#-2!;r0-【r2-2】字节,r0有符号扩展为32位,r2=r2-2strbr1,r2,#0xa0;【r2+0xa0】-r1低8位,ldmiar0,r1,r2,r8;将内存单元【r0r+11以字为单位读取到r1,r2,r8中stmdbr0!,r1-r5,r10,r11将寄存器r1r5,r10,r11的值以字为单位依次写入【r0】中,每写一个字之前r0=r0-4stme

30、dsp!r0-r3,lr将寄存器r0r3,lr的的值以字为单位依次写入【sp】中,每写一个字之后sp=sp-4第4章arm指令集系统1. arm指令可分为哪几类?说出哪几条指令是无条件执行的。答:arm微处理器的指令集可以分为:数据处理指令,分支指令,加载/存储指令,批量加载/存储指令,交换指令,程序状态寄存器(psr)处理指令,协处理器操作指令和异常产生指令八大类。几乎所有的arm指令都是可以有条件执行的。带链接和状态切换的跳转指令blx,当目标地址由程序标号给出时,即:blxtarget_address由于指令码中是没有条件编码位的,所以指令是无条件执行的。如何实现两个64位数的加法操作,

31、如何实现两个64位数的减法操作,如何求一个64位数的负数?答:1)使用adc实现64位加法,结果存于r1、r0中:addsr0,r0,r2;r0等于低32位相加,并影响标志位adcr1,r1,r3;r1等于高32位相加,并加上低位进位2)使用sbc实现64位减法,结果存于r1、r0中:subsr0,r0,r2;低32位相减,并影响标志位sbcr1,r1,r3;高32位相减,并减去低位借位3)使用rsc指令实现求64位数值的负数:rsbsr2,r0,#0rscr3,r1,#03.写出Idrb指令与Idrsb指令的二进制编码格式,并指出它们之间的区别。答:ldrb指令的二进制编码格式:1011Id

32、rsb指令的二进制编码格式:ldrb指令用于将内存中的一个8位字节数据读取到指令中的目标寄存器的低8位中,寄存器的高24位用零扩展。Idrsb指令用于将内存中的一个8位字节数据读取到指令中的目标寄存器的低8位中,寄存器的高24位用符号位扩展。4.分析下列每条语句的功能,并确定程序段所实现的操作。cmpr0,0moveqr1,0movgtr1,1答:cmpr0,0;比较r0与0的大小moveqr1,0;若r0=0,贝Ur1=0movgtr1,1;若r00,贝Ur1=15.请使用多种方法实现将字数据0xffffffff送入寄存器r0答:1)mvnr0,#02)movr0,#1rsbr0,r0,#0

33、6.写一条arm指令,分别完成下列操作:(1)r0=16(2)r0=r1/16(3)r1=r2*3(4)r0=-r0答:r0=16movr0,#16(2)r0=r1/16movr0,r1,lsr#4(3)r1=r2*3movr3,#3mulr1,r2,r3(4)r0=-r0rsbr0,r0,#07.编写一个arm汇编程序,累加一个队列中的所有元素,碰到0时停止。结果放入r4。答:假设队列为地址从r0开始递增的字队列:loopldrr1,r0,#4!movsr2,r1beqend1112addr4,r4,r2bloopend8.写出实现下列操作的arm指令:当z=1时,将存储器地址为r1的字数据

34、读入寄存器r0.当z=1时,将存储器地址为r1+r2的字数据读入寄存器r0将存储器地址为r1-4的字数据读入寄存器r0。将存储器地址为r1+r6的字数据读入寄存器r0,并将新地址r1+r6写入r1。答:1)ldreqr0,r12)ldreqr0,r1,r23)ldrr0,r1,#-44)ldrr0,r1,r6!9.写出下列arm指令所实现的操作:ldrr2,r3,#-4!ldrr0,r0,r2ldrr1,r3,r2,lsl#2!ldrsbr0,r2,#-2!strbr1,r2,0xa0ldmiar0,r1,r2,r8stmdbr0!,r1-r5,r10,r11答:ldrr2,r3,#-4!;r

35、2-r3-4,r3=r3-4ldrr0,r0,r2;r0-r0,r0=r0+r2ldrr1,r3,r2,lsl#2!;r1-r3+r2*4,r3=r3+r2*4ldrsbr0,r2,#-2!;r0低8位-r2-2字节数据,r0高24位符号扩展,r2=r2-2strbr1,r2,#0xa0r1低8位-【r2+0xa0ldmiar0,r1,r2,r8从地址r0开始的内存中依次读取字数据,送入寄存器r1,r2,r8stmdbr0!,r1-r5,r10,r11将寄存器r11,r10,r5-r1的字数据,依次写入地址r0中,每次写入前r0=r0-410.swp指令的优势是什么?答:swp指令支持原子操作

36、,它能在一条指令中完成存储器和寄存器之间的数据交换。11.如何用带psr操作的批量字数据加载指令实现irq中断的返回?答:在进入irq中断处理程序时,首先计算返回地址,并保存相关的寄存器?subr14,r14,#4;?stmfdr13!,(r0-r3,r12,lr如果irq中断处理程序返回到被中断的进程则执行下面的指令。该指令从数据&中恢复寄存器r0r3及r12的值,将返回地址传送到pc中,并将spsr_irq值复制到cpsr1213中?Idmfdr13!,(r0-r3,r12,pc八12.用arm汇编语言编写代码,实现将arm处理器切换到用户模式,并关闭中断。答:;禁能irq中断mr

37、sr0cpsrorrr0,r0,#0x80msrcpsr,r0;切换到用户模式mrsr0cpsrbicr0,#0x0fmsrcpsr,r0第5章thumb指令1.与32位的arm指令集相比较,16位的thumb指令集具有哪些优势?答:在arm体系结构中,arm指令集是32位的,具有很高的执行效率。但是对于嵌入式而【篇三:arm嵌入式系统试题及答案】pclass=txt>专业:软件1002班姓名:王世伟学号:04103060(24)一、嵌入式系统基本概念1、什么是嵌入式系统?有何特点?答:所谓嵌入式,实际上是嵌入式计算机系统”,的简称,它是相对于通用计算机系统而言,注重于发展独立的单芯片技

38、术。嵌入式系统是控制、监视或者辅助装置、机器和设备运行的装置”。特点:(1)嵌入式系统是将先进的计算机技术,半导体技术以及电子技术与各行业的具体应用相结合的产物,这一点就决定了他必然是一个技术密集,资金密集,高度分散,不断创新的知识集成系统。(2)系统内核小(3)专用性强(4)系统精简(5)系统软件要求(6)嵌入式软件开发要走向标准化,需要使用多任务的操作系统。(7)嵌入式系统本身并不具备在其上进行进一步开发的能力。2、举例在你的身边常见到的嵌入式系统产品,谈一谈你对嵌入式系统”的初步理解。答:产品有:洗衣机,空调,手机。嵌入式系统就是内置小计算机系,可以对机器进行智能控制的系统。3、嵌入式系

39、统的3个基本特点?答:(1)专用性(2)嵌入型(3)计算机系统4、什么是嵌入式处理器,嵌入式处理器可以分为几大类?答:嵌入式处理机是嵌入式的核心,是控制,辅助系统运行的硬件单元。分类:四大类(1)嵌入式微处理器(2)嵌入式微控制器(3)嵌入式dsp处理器(4)soc片上系统5、广泛使用的三种类型的操作系统?答:多道批处理操作系统、分时操作系统以及实时操作系统。6、列举常见的4种嵌入式操作系统?说明你对嵌入式操作系统的基本认识,嵌入式操作系统在嵌入式系统开发中的必要性。没有操作系统的计算机效率十分底下,把操作系统嵌入到计算机中,可以提高系统的可靠性,开发效率,缩短了开发周期。二、arm7体系结构

40、1、arm是什么样的公司?1答:它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的rise处理器。特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和oem厂商,并提供服务。2、什么是rise?什么是cisc?答:rise是精简指令集计算机的缩写。cisc是复杂指令集计算机的缩写。3、举出2个arm公司当前应用比较多的arm处理器核?答:arm7系列、arm9系列、arm10系列、arm11系列、intel的xscale系列和mpcore系列。4、arm7tdmi中的t、d、s、i分另U表示什么含义?答:t:支持高密度16位的thumb指令集d:支持片上

41、调试s:arm7tdmi的可综合(synthesizable)版本(软核)i:支持embededice观察硬件m:支持64位乘法5、arm7tdmi处理器采用什么样的体系结构,其可寻址地址空间多大?答:arm处理器使用冯诺依曼结构使用单个平面的232个8位字节地址空间。地址空间可以看作是包含230个32位字,或231个16位半字。6、arm7tdmi处理器采用几级流水线处理,使用何种存储器编址方式?答:arm7tdmi处理器采用三级流水线。arm处理器将存储器看做是一个从0开始的线性递增的字节集合。7、arm处理器哪几种状态和模式?答:共7种。(1)用户模式(2)快速中断模式(3)外部中断模式

42、(4)管理模式(5)数据访问中断模式(6)系统模式(7)未定义指令模式8、简述arm处理器两种状态的应用特点。答:arm状态:处理器执行32位字对齐方式的arm指令,每条arm指令长度为32位,指令的功能强大,处理器默认为此状态。thumb状态:处理机执行16位半字对齐方式的thumb。每条thumb指令长度为16位,是arm指令功能的子集。9、简述arm处理器7种模式的应用特点。答:(1)用户模式:arm处理器正常的程序执行模式。2(2)快速中断模式:用于高速数据传输或通道处理。(3)外部中断模式:用于通用的中断处理。(4)管理模式:操作系统使用的保护模式。(5)数据访问中断模式:当数据或指

43、令预取终止时进入该模式,可用于虚拟存储及存储保护。(6)系统模式:运行具有特权的操作系统任务。(7)未定义指令模式:当未定义的指令执行时进入该模式,可用于支持硬件处理器的软件仿真。答:m4:0是模式控制位,这些位决定处理器的工作模式。t位:t位标志控制处理器按照arm指令集运行,还是按照thumb指令集运行。313029282787654321010、结合cpsr的结构,说明其中的m4:0的作用和t位的作用。11、结合cpsr的结构,说明其中的i位和f位的作用。答:i位和f位都是中断禁止标志位,用来时能或禁止arm的两种外部中断。313029282787654321012、简述arm7tdmi

44、内部有哪些寄存器及特点。答:分别为31个通用32位寄存器和6个状态寄存器。它们不能在同一使劲同时被访问,对其的访问取决于处理器状态和处理器模式。13、结合下表简述fiq模式下有哪几个私有寄存器,这些私有寄存器有何使用特点?寄存器类别寄存器在汇编中的名称r0(a1)r1(a2)r2(a3)r3(a4)通用寄存器和程序计数器r4(v1)r5(v2)r6(v3)r7(v4)r8(v5)r9(sb,v6)r10(sl,v7)r11(fp,v8)r12(ip)r13(sp)r14(lr)r15(pc)状态寄存器cpsrspsr-spsr_svcr13r14r13_scvr14_svcr8r9r10r11

45、r12r13_abtr14_abtr15cpsrspsr_abtspsr_undspsr_irqspsr_fiqr13_undr14_undr13_irqr13_irq各质式下顼际访问的寄存器用户系统管理中止r0r1r2r3r4r5r6r7r8_fiqr9_fiqr10_fiqr11_fiqr12_fiqr13_fiqr14_fiq茶b义""""""中断快中断答:fiq模式下私有寄存器有r8-fiq,r9-fiq,r10-fiq,r11-fiq,r12-fiq,r13-fiq,r14-fiq,和spsr-fiq。3这些寄存器使得在发生

46、fiq中断,处理器不必为保护寄存器而浪费时间,从而加速了fiq的处理速度。14、arm7tdmi中的pc指向的是下一条将要执行的指令,这句话对吗?为什么?答:不对,pc中的内容总是指向正在取指”指令的地址。15、简述arm处理器的cpsr和spsr的功能、作用和工作方式。答:cpsr是当前状态寄存器,他可以在任何运行模式下被访问,它包括条件标志位,中断标志位,当前处理器模式标志位,以及其他的一些相关的控制盒状态位。arm内核就是通过使用cpsr来监视和控制内部操作的。spsr用于保存cpsr的当前值,从异常退出时则可由spsr来恢复cpsr。16、简述arm7的内部寄存器r13、r14、r15的主要功能、作用和工作方式。答:r13作为堆栈指针sp,用于指定堆栈操作出入口的地址。其他6个r13寄存器为堆栈寄存器。为用户模式和系统模式共用一个。r14可以用作通用寄存器,也可以用作链接寄存器。链接寄存器用于保存子程序地址或者返回地址。r15:程序寄存器,总是指向正在取指”的指令17、什么是计算机的寻址方式?arm7tdmi有几种寻址方式?答:寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、相对寻址。18、什么是堆栈?arm中的堆栈是如何定义和使用的?答:堆栈都是一种数据项按序排列的数据结构,只能在一端

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论