ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:57.97KB ,
资源ID:21377659      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21377659.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(老师修改过得嵌入式系统复习提纲 1Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

老师修改过得嵌入式系统复习提纲 1Word文件下载.docx

1、堆栈指针指向最后压入的数据,且由高地址向低地址生成;空递增堆栈:堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址 生成;空递减堆栈:堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址 生成。12所谓ARM寻址方式就是ARM处理器根据指令中给出的地址信息来寻找物理地址的方式。 二、简答题1 与通用型计算机相比,嵌入式系统有那些特点。嵌入式系统以应用为中心,以计算机技术为基础,软硬件可裁剪,是对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。嵌入式系统的硬件一般包括处理器、存储器、外设器件和电源等。软件一般由移植代码、操作系统、应用软件等构成。1什么是地址重映射。为什

2、么要进行地址重映射答:地址映射就是为每一个存储单元分配特定的逻辑地址空间,从而使嵌入式系统中的存储空间与逻辑地址空间一一对应,地址重映射就是重新改变存储空间的逻辑地址。为了减少异常处理过程中的CPU等待时间,ARM单片机引入了地址重映射的概念,地址重映射就是在ARM单片机启动后,将低速非易失性存储器中的异常向量复制到高速存储器中,然后执行地址重映射指令,当系统发生异常时,CPU将从高速存储器中读取异常向量。2 根据嵌入式系统的复杂程度,嵌入式系统可以分为哪四类。(1) 嵌入式微处理器, Embedded Microprocessor Unit,简称EMPU。在应用中,将微处理器装配在专门设计的

3、电路板上,只保留与嵌入式应用有关的功能。(2) 嵌入式微控制器, Microcontroller Unit,简称MCU,又称单片机,顾名思义,就是将整个计算机系统集成到一块芯片中。(3) 嵌入式DSP处理器,Embedded Digital Signal Processor,简称EDSP,DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行数字滤波、FFT和谱分析等DSP算法,编译效率较高,指令执行速度也较高。(4) 嵌入式片上系统, System On Chip,简称SOC。除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小

4、体积和功耗、提高可靠性非常有利。3ARM存储系统可以使用小端存储或者大端存储两种方法,写出下两个图的存储格式,分别指出它们是大端存储还是小端存储格式。大端存储格式 小端存储格式1) 模式中有多少通用寄存器2) CPSR的作用是什么3) Z的作用是什么4) 程序计数器保存在何处8.请简述FLASH存储器的特点。1、区块结构:在物理上分成若干个区块,区块之间相互独立。2、先擦后写:Flash的写操作只能将数据位从1写成0,不能从0写成1,所以在对存储器进行写入之前必须先执行擦除操作,将预写入的数据位初始化为1。擦除操作的最小单位是一个区块,而不是单个字节。3、操作指令:执行写操作,它必须输入一串特

5、殊指令(NOR Flash)或者完成一段时序(NAND Flash)才能将数据写入。4、位反转:由于Flash的固有特性,在读写过程中偶尔会产生一位或几位的数据错误。位反转无法避免,只能通过其他手段对结果进行事后处理。5、坏块:区块一旦损坏,将无法进行修复。对已损坏的区块操作其结果不可预测。8简单说明ARM7 TDMI的含义。T:支持16为压缩指令集Thumb。D:支持片上Debug。M:内嵌硬件乘法器(Multiplier)。I:嵌入式ICE,支持片上断点和调试点9简单叙述CPSR寄存器和(SPSR寄存器的作用,以及CPSR各状态位的作用是什么。ARM体系结构包含一个当前程序状态寄存器(CP

6、SR)和5个备份的程序状态寄存器(SPSRs)。备份的程序状态寄存器用来进行异常处理,其功能如下:保存ALU中的当前操作信息。控制允许和禁止中断。设置处理器的运行模式。程序状态寄存器的每一位的安排如下图所示。 程序状态寄存器格式10简述CPSR寄存器的各条件码标志位作用是什么。CPSR中的N、Z、C、V均为条件码标志位。它们的内容可被算术或逻辑运算的结果所改变,并且可以决定某条指令是否被执行。条件码标志位各位的具体含义如下表所示。 条件码标志位的具体含义标 志 位含 义N当用两个补码表示的带符号数进行运算时,N=1表示运算的结果为负数;N=0表示运算的结果为正数或零ZZ=1表示运算的结果为零;

7、Z=0表示运算的结果为非零C可以有4 种方法设置C的值: 加法运算(包括比较指令CMN):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0 减法运算(包括比较指令CMP):当运算时产生了借位(无符号数溢出),C=1,否则C=0 对于包含移位操作的非加/减运算指令,C为移出值的最后一位 对于其他的非加/减运算指令,C的值通常不改变V可以有两种方法设置V的值: 对于加/减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出对于其他的非加/减运算指令,V的值通常不改变Q在ARMv5及以上版本的E系列处理器中,用Q标志位指示增强的DSP运算指令是否发生了溢出在其

8、他版本的处理器中,Q标志位无定义11简述CPSR寄存器控制位的作用CPSR寄存器的低8位(包括I、F、T和M4:0)称为控制位,当发生异常时这些位可以被改变。如果处理器运行特权模式,这些位也可以由程序修改。(1)中断禁止位I、F:I=1 禁止IRQ中断;F=1 禁止FIQ中断。(2)T标志位:该位反映处理器的运行状态。当该位为1时,程序运行于Thumb状态,当该位为0时,表示运行于ARM状态。(3) 运行模式位M4:0:M0、M1、M2、M3、M4是模式位。这些位决定了处理器的运行模式。具体含义如下表所示。 运行模式位M4:0的具体含义M4:0处理器模式0b10000用户模式0b10001FI

9、Q模式0b10010IRQ模式0b10011管理模式0b10111中止模式0b11011未定义模式0b11111系统模式由上表可知,并不是所有的运行模式位的组合都是有效的,其他的组合结果会导致处理器进入一个不可恢复的状态。12简述,什么是ARM异常在ARM应用系统中,当正常的程序执行流程发生暂时的停止时,称之为异常(Exceptions),例如,一个ARM的外部的中断请求就是一个典型的异常。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。ARM体系结构中的异常,与51单片机体系结构的中断有很大的

10、相似之处,但异常与中断的概念并不完全等同。13ARM体系结构所支持的异常类型有几种?,各种异常的含义是什么?。ARM体系结构所支持的异常及具体含义如下表所示。 ARM体系结构所支持的异常类型异常类型具体含义复位当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行未定义指令当ARM 处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异常机制进行软件仿真软件中断该异常由执行SWI 指令产生,可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现系统功能调用指令预取中止若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,但

11、当预取的指令被执行时,才会产生指令预取中止异常数据中止若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常IRQ(外部中断请求)当处理器的外部中断请求引脚有效,且CPSR 中的I 位为0 时,产生IRQ异常。系统的外设可通过该异常请求中断服务FIQ(快速中断请求)当处理器的快速中断请求引脚有效,且CPSR 中的F 位为0 时,产生FIQ异常14试述ARM处理器对异常的响应过程。当一个异常出现以后,ARM微处理器会执行以下几步操作。(1) 将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。 (2) 将CPSR复制到相应的SP

12、SR中。(3) 根据异常类型,强制设置CPSR的运行模式位。(4) 强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程 序处。还可以设置中断禁止位,以禁止中断发生。如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。ARM微处理器对异常的响应过程可用如下的伪码进行描述:R14_ = Return LinkSPSR_ = CPSRCPSR4:0 = Exception Mode NumberCPSR5 = 0; 当运行于ARM 工作状态时If = Reset or FIQ then; 当响应FIQ 异常时, 禁止新的FIQ 异

13、常CPSR6 = 1CPSR7 = 1PC = Exception Vector Address15简述ARM处理器异常返回的步骤?异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回。(1) 将连接寄存器LR的值减去相应的偏移量后送到PC中。(2) 将SPSR复制回CPSR中。(3) 若在进入异常处理时设置了中断禁止位,要在此清除。可以认为应用程序总是从复位异常处理程序开始执行的,因此复位异常处理程序不需要返回。16请写出异常向量表下表所示为异常向量(Exception Vectors)地址表。 异常向量表地 址异 常进入模式0x0000,00000x0000,00040x0000,

14、00080x0000,000C中止(预取指令)0x0000,0010中止(数据)0x0000,0014保留0x0000,0018IRQ0x0000,001CFIQ17请写出ARM的异常优先级。当多个异常同时发生时,系统根据固定的优先级决定异常的处理次序。异常优先级(Exception Priorities)由高到低的排列次序如下表所示。异常优先级表优先级1(最高)2345预取指令中止6(最低)未定义指令、SWI18在ARM应用程序中,是如何进行异常处理的。当系统运行时,异常可能会随时发生,为保证在ARM处理器发生异常时不至于处于未知状态,在应用程序的设计中,首先要进行异常处理,异常处理的方式是

15、在异常向量表中的特定位置放置一条跳转指令,跳转到异常处理程序,当ARM处理器发生异常时,程序计数器PC会被强制设置为对应的异常向量,从而跳转到异常处理程序,当异常处理完成以后,返回到主程序继续执行。三、ARM语法题1简单叙述B、BL、BLX、BX各调转指令的使用方法。 B 跳转指令。 BL 带返回的跳转指令。 BLX 带返回和状态切换的跳转指令。 BX 带状态切换的跳转指令。2批量数据加载指令格式如下:LDM!,;指令中type字段有以下几种,分别表述其含义。IA 每次传送后地址加1。IB 每次传送前地址加1。DA 每次传送后地址减1。DB 每次传送前地址减1。FD 满递减堆栈。ED 空递减堆

16、栈。FA 满递增堆栈。EA 空递增堆栈。3 下列ARM的条件码含义是什么。1) EQ Z1 相等2) NE Z0 不相等3) MI N=1 负数4) VS V=1 溢出5) GE N=V 带符号数大于或等于6) LT N!=V 带符号数小于4采用多寄存器寻址方式,可以用一条指令完成传送最多16个通用寄存器的值。请解释以下指令的含义:LDMIA R0, R1, R2, R3, R4;该指令的后缀IA 表示在每次执行完加载/存储操作后,R0按字长度增加,因此,指令可将R0所指的连续存储单元的值传送到R1R4。指令执行过程如下: R1R0 R2R04R3R08 R4R0125寄存器间接寻址就是以寄存

17、器中的值作为操作数的地址,而操作数本身存放在存储器中。解释以下指令:LDR R0, R1; R0R1STR R0, R1; R1R0第一条指令将以R1的值为地址的存储器中的数据传送到R0中。第二条指令将R0的值传送到以R1的值为地址的存储器中。6基址变址寻址就是将寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址。变址寻址方式常用于访问某基地址附近的地址单元。解释以下几条指令的用法:LDR R0, R1, 4; R0R14LDR R0, R1, 4!; R0R14、R1R14 LDR R0, R1 , 4; R0R1、R1R14 LDR R0,

18、 R1, R2; R0R1R2第一条指令中,将寄存器R1的内容加上4形成操作数的有效地址,从而取得操作数存入寄存器R0中。第二条指令中,将寄存器R1的内容加上4形成操作数的有效地址,从而取得操作数存入寄存器R0中,然后,R1的内容自增4个字节。第三条指令中,以寄存器R1的内容作为操作数的有效地址,从而取得操作数存入寄存器R0中,然后,R1的内容自增4个字节。第四条指令中,将寄存器R1的内容加上寄存器R2的内容形成操作数的有效地址,从而取得操作数存入寄存器R0中。7MVN与MOV指令不同之处是在传送之前按位被取反了,即把一个被取反的值传送到目的寄存器中。其中S 定指令的操作是否影响CPSR中条件

19、标志位的值,当没有S时指令不更新CPSR中条件标志位的值。解释如下指令示例的含义:MVN R0, 0;解释:将立即数0 取反传送到寄存器R0 中, 这里执行后 R0 = -1。8CMN指令用于把一个寄存器的内容和另一个寄存器的内容或立即数取反后进行比较,同时更新CPSR中条件标志位的值。该指令实际完成操作数1和操作数2相加,并根据结果更改条件标志位。请解释如下指令:CMN R1, 100;解释:将寄存器R1 的值与立即数100 相加, 并根据结果设置CPSR 的标志位9RSB指令称为逆向减法指令,用于把操作数2减去操作数1,并将结果存放到目的寄存器中。操作数1应是一个寄存器,操作数2可以是一个

20、寄存器,被移位的寄存器,或一个立即数。该指令可用于有符号数或无符号数的减法运算。RSB R0, R1, #256; R0 = 256 R1RSB R0, R2, R3, LSL#1; R0 = (R3 用于设置程序状态寄存器中需要操作的位,32位的程序状态寄存器可分为4个域: 位31:24为条件标志位域,用f 表示。 位23:16为状态位域,用s 表示。 位15:8为扩展位域,用x 表示。 位7:0为控制位域,用c 表示。该指令通常用于恢复或改变程序状态寄存器的内容,在使用时,一般要在MSR指令中指明将要操作的域。MSR CPSR, R0;传送R0 的内容到CPSRMSR CPSR_c, R0

21、;传送R0 的内容到CPSR, 但仅仅修改CPSR 中的控制位域15STR指令用于从源寄存器中将一个32位的字数据传送到存储器中。该指令在程序设计中比较常用,且寻址方式灵活多样。STR R0, R1, 8;将R0 中的字数据写入以R1 为地址的存储器中, 并将新地址R18 写入R1STR R0, R1, 8;将R0 中的字数据写入以R18 为地址的存储器中16LSR可完成对通用寄存器中的内容进行右移的操作,按操作数所指定的数量向右移位,左端用零来填充。其中,操作数可以是通用寄存器,也可以是立即数(031)。解释如下指令示例:MOV R0, R1, LSR#2;将R1 中的内容右移两位后传送到R

22、0 中, 左端用零来填充四:ARM编程题1用STMFD/LDMFD, MUL指令编写一个整数乘方的子程序,然后使用BL指令调用子程序计算Xn的值。原理:Xn X*X* *X,其中相乘的X个数为n个,先将X的值装入R0和R1中,使用R2作计数器,循环次数n-1次 R0 R0*R1,运算结果保存在R0中:编程如下:MAIN ROUTINEX EQU 9n EQU 8 AREA MyPro,CODE,READONLY ENTRY CODE32START LDR SP,= 0x40003F00 LDR R0,= X LDR R1,= n BL POW HALT B HALTPOW SUBROUTINEINPUT R0,R1OUTPUT R0POW STMFD SP!,R1-R12,LR MOVS R2,R1 MOVEQ R0,#1 BEQ POW_END MOV R1,R0 SUB R2,R2,#1POW_CONTI BL DO_MUL SUBS R2,R2,#1 BNE POW_CONTIPOW_END LDMFD SP!,R1-R12,LR DO_MUL SUBROUTINEDO_MUL MUL R0,R1,R0 MOV PC,LR

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1