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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《嵌入式系统原理与接口技术》第2版复习资料整理Word格式文档下载.docx

1、(P25)ARM状态和Thumb状态。当ARM微处理器执行32位的指令集功能时,工作在ARM状态;当ARM微处理器工作在16位的Thumb指令集时,工作在Thumb状态。2.4 对比ARM指令集合Thumb指令集Thumb 指令集与ARM 指令集的区别 Thumb 指令集没有协处理器指令,信号量指令以及访问CPSR 或SPSR 的指令,没有乘加指令及64 位乘法指令等,且指令的第二操作数受到限制;除了跳转指令B 有条件执行功能外,其它指令均为无条件执行;大多数Thumb 数据处理指令采用2 地址格式。Thumb指令集与ARM 指令的区别一般有如下几点: 跳转指令 程序相对转移,特别是条件跳转与

2、ARM 代码下的跳转相比,在范围上有更多的限制,转向子程序是无条件的转移。 数据处理指令 数据处理指令是对通用寄存器进行操作,在大多数情况下,操作的结果须放入其中一个操作数寄存器中,而不是第3 个寄存器中。 数据处理操作比ARM 状态的更少,访问寄存器R8R15 受到一定限制。 除MOV 和ADD 指令访问器R8R15 外,其它数据处理指令总是更新CPSR 中的ALU 状态标志。 访问寄存器R8R15 的Thumb 数据处理指令不能更新CPSR 中的ALU 状态标志。 单寄存器加载和存储指令 在Thumb 状态下,单寄存器加载和存储指令只能访问寄存器R0R7。 批量寄存器加载和存储指令 LDM

3、 和STM 指令可以将任何范围为R0R7 的寄存器子集加载或存储。 PUSH 和POP 指令使用堆栈指令R13 作为基址实现满递减堆栈。除R0R7 外,PUSH 指令还可以存储链接寄存器R14,并且POP 指令可以加载程序指令PC。2.5 如何转换ARM的两种工作状态? 进入Thumb状态:当操作数寄存器的状态位(位0)为1时,可以执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。 进入ARM状态:当操作数寄存器的状态位(位1)为0时,可以执行BX指令的方法,使微处理器从Thumb状态切换到ARM状态。2.6 ARM7采用几级流水线?(P27)ARM7架构采用了3级流水线。1)

4、取指:将指令从内存中取出来。2) 译码:操作码和操作数被译码以决定执行什么功能。3) 执行:执行已译码的指令。ARM9采用五级流水线技术2.7 ARM采用怎样的数据存储格式?(P40)ARM处理器的数据存储格式有两种:大端模式和小端模式。 大端模式:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。 小端模式:较高的有效地址存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址。默认情况下的存储格式是小端模式。ARM采用单周期指令集2.8 若寄存器R1=0x01020304,分别按小端模式和大端模式存储在0x30000字节单元中,是分别列出两种模式下内存存储内容

5、,并标出内存地址。0x3001F0x300180x30017 0x300100x3000F 0x300080x30007 0x30000大端04030201小端2.9 ARM存储器的存储周期有几种类型?对应于Cache访问和存储器访问是何存储周期?(P41)存储周期类型: 空闲周期。 非顺序周期。 顺序周期。 协处理器寄存器传送周期。2.10 ARM支持哪些存储数据类型?ARM处理器支持以下6种数据类型: 8位有符号和无符号字节。 16位有符号和无符号半字,以2字节的边界对齐。 32位有符号和无符号字,以4字节的边界对齐。2.12 ARM支持的有几种页面类型?其容量为何值?(P48)段(Sec

6、tion):大小为1MB的存储块。大页(Large Pages):大小为64KB的存储块。小页(Small Pages):大小为4KB的存储块。极小页(Tiny Pages):大小为1KB的存储块。2.13 一级描述符可能的格式:(P49)位31 2019 121110985 4321无效粗表粗粒度二级页表基地址域用户定义段段基址为0APCB细表细粒度二级页表基址2.14 ARM的MMU主要实现什么功能?(P45)存储管理单元(MMU)用于在CPU和物理内存之间进行地址转换。由于是将地址从逻辑空间映射到物理空间,因此这个转换过程一般称为内存映射。在ARM系统中,存储管理单元(MMU)主要完成以

7、下工作: 虚拟存储空间到物理存储空间的映射。 存储器访问权限的控制。 设置虚拟存储空间的缓冲特性。2.15 ARM系统中如何完成I/O操作?(P54)ARM系统中I/O采用统一编址,I/O操作通常被映射成存储器操作,即输入/输出是通过存储器映射的可寻址外围寄存器和中端输入的组合来实现的。第三章3.1 ARM支持哪几种工作模式?不同工作模式如何进行切换?(P56)ARM微处理器支持7种工作模式: 用户模式。 快速中断模式。 外部中断模式。 管理模式。 中止模式。 未定义指令模式。 系统模式。不同的工作模式间可以相互切换,有两种方式:1) 发生异常时,处理器自动改变CPSR中M4:0的值,进入相应

8、的工作模式。2) 当处理器处于特权模式时,用指令向CPS的M4:0字段写入特定的值,以进入相应的工作模式。3.2 ARM寄存器的组织形式(P57)ARM处理器共有37个寄存器,各寄存器均为32位: 31个通用寄存器,包括程序计数器PC。 6个状态寄存器。根据ARM处理器不同工作模式,可将全部寄存器分成7组。3.3 试述ARM处理器对异常中断的响应过程。(P59)当异常发生时,处理器首先自动保存当前状态,即返回地址存入寄存器R14,当前寄存器CPSR存入SPSR中,接着进入相应的工作模式,并执行特定地址的指令。ARM有7种类型的异常,不同类型的异常将导致处理器进入不同的工作模式,并执行不同特定地

9、址的指令。3.4 ARM指令的编码格式和条件域(P63)指令的编码格式3128272524212019161512110condopcodeSRnRdOp2000000101000001000000000010条件域CondCPSR中标志位含义EQZ置位相等NEZ清零不相等CSC置位无符号数大于或等于CCC清零无符号数小于MIN置位负数PLN清零正数或零VSV置位溢出VCV清零未溢出HIC置位Z清零无符号数大于LSC清零Z置位无符号数小于或等于GEN等于V带符号数大于或等于LTN不等于V带符号数小于GTZ清零且(N等于V)带符号数大于LEZ置位或(N不等于V)带符号数小于或等于AL忽略无条件执

10、行3.5指令集的寻址方式有几种?试分别叙述其各自的特点并举例说明。(P64)1) 立即数寻址:在立即数寻址方式下,操作数本身直接在指令中给出,去除指令也就获得了操作数,这个操作数也称为立即数。2) 寄存器寻址:在寄存器寻址方式下,寄存器的值即为操作数。ARM指令普遍采用这种寻址方式,由于直接和寄存器交换数据,其执行效率较高。3) 寄存器移位寻址:寄存器移位寻址的操作数由寄存器的数值进行相应移位而得到;移位的方式在指令中以助记符的形式给出,而移位的位数可用立即数或寄存器寻址方式表示。4) 寄存器间接寻址:寄存器中的值为操作数的物理地址,这样的寻址方式称为寄存器间接寻址。实际的操作数存放在存储器中

11、,其地址由寄存器给出。5) 基址变址寻址:将寄存器(称为基址寄存器)的值与指令中给出的偏移地址量相加,所得的结果作为操作数的物理地址,这样的寻址方式称为基址变址寻址。6) 相对寻址:相对寻址同基址变址寻址相似,区别只是将程序计数器PC作为基址寄存器,指令中的标记作为地址偏移量。7) 多寄存器寻址:在多寄存器寻址方式中,一条指令可实现一组寄存器值的传送。连续的寄存器间用“-”连接,否则用“,”分隔。8) 块复制寻址:块复制寻址可实现连续地址数据从存储器的某一位置复制到另一位置。9) 堆栈寻址:堆栈寻址用于数据栈与寄存器组之间批量数据传输。堆栈是一种后进先出的数据结构,数据写入和读出内存的顺序不同

12、,适用堆栈寻址可以很好地解决这个问题。3.6 ARM指令集是否有移位指令?若没有如何实现移位操作?无,通过切换至Thumb状态,通过Thumb指令实现。第四章常见的嵌入式操作系统Palm OS,Windows CE,VxWorks,C/OS-II,Linux.嵌入式Linux的优势1) Linux系统是层次结构且内核完全开放、丰富的软件资源2) 强大的网络支持功能,完善的图形、文件管理机制3) 内核功能强大,具有高效的性能4) Linux具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,并且可以跨越嵌入式系统开发中仿真工具的障碍5) Linux有广泛的硬件支持特性6) 良好的可

13、定制性7) 具有广泛的支持者,价格低廉4.1 嵌入式Linux的发展方向(P139)1) 减小内核2) 减小动态链接库3) 减小应用程序4.2 嵌入式Linux的实时性存在哪些问题,如何进行改进(硬实时)?(P138)存在的问题: 运行于Linux内核空间的进程(核心态)不能被抢先。 在Linux中,中断有时会处于保护临界区操作的目的而被屏蔽。 通用Linux的时间应答长度为10ms(硬件时钟频率100Hz),但是这对于时间精度要求很高(微秒级)的实施进程来说是不够的。 缺乏有效的实时任务调度机制和调度算法。目前支持Linux的硬实时性一般有两种方法:一种是直接修改Linux内核,重新编写一个

14、由优先级驱动的实时调度器,替换原有内核中的进程调度器;另一种是在Linux内核之外,以可加载内核模块的形式添加实时内核,确保其高响应特性,实时内核接管来自硬件的所有中断,并判断是否实时任务觉得是否直接相应。4.3 有哪些常见的嵌入式文件系统1) JFFS2) YAFFS第五章(本章会考设计题,所以请参照课本了解键盘、LED等的工作原理和初始化及工作编程示例)5.1 S3C44B0X具有多少通用I/O口?它们具有什么功能?(P143)S3C44B0X具有71组通用多功能I/O引脚,分别包含在如下7组端口中 1个10位输出端口(端口A) 1个11位输出端口(端口B) 1个16位输入/输出端口(端口

15、C) 2个8位输入/输出端口(端口D和G) 2个9位输入/输出端口(端口E和F)端口配置寄存器:PCONA, PCONB, PCONC,PCOND, PCONE, PCONF, PCONG.5.2 简述矩阵行扫描检测法的工作原理。识别键盘上的闭合键,通常采用两种方法,即行扫描法和行反转法。使键盘上某一行线为低电平,而其余行为高电平,然后读取列值,如果列值中有某位为低电平,则表明行列交点处的键被按下;否则扫描下一行,直至扫描完全部的行线为止。5.3 矩阵键盘的设计,键盘扫描程序流程图(P147)(设计题)5.4 多位7段LED的显示程序、接口电路图、流程图(P150)(设计题)5.5 LCD控制

16、器的结构图(P155)5.6 触摸屏接口专用芯片ADS7843的主要功能是什么?(P164)1) 完成电极电压的切换2) 采集接触点的电压值,并进行A/D转换5.7 S3C44B0X UART单元提供了提供了几个异步串口(SIO),每个模块包含哪几个部件?(P173)2个,每个模块包含以下四个部件:1) 波特率发生器2) 发送器3) 接收器4) 控制单元5.8 URAT接收哪四种错误?1) 溢出错误2) 奇偶校验错误3) 帧错误4) 中止状况5.9 S3C44B0X在何种情况下采用自动流控制?S3C44B0X在UART连接UART时支持nRTS和nCTS信号进行自动流控制,而在UART连接MO

17、DEM时则不支持自动流控制,此时就应该在UMCONn寄存器中禁止自动流控制,由软件控制nRTS和nCTS信号。5.10 波特率除数寄存器的计算公式(P175)UBRDIVn = (取整) ( MCLK / ( 波特率 * 16 ) ) -1 BNRY和 CURR的关系和作用CURR是以太网控制器写接收缓冲区的指针BNRY指向缓冲区已经被读取的最后一页CURR和BNRY主要用来控制缓冲区的存取过程,保证能顺次写入和读出。当CURR=BNRY+1时,接收缓冲区没有数据,用户通过这个判断有没有包可以读。不成立是代表接收到新的数据包,用户应该读取数据包,每读取一个数据包,BNRY加1,直到上述条件成立

18、,表示所有数据包读完,停止接收数据包。发送和接收的过程发送过程:配置发送数据的物理层地址的源地址、目的地址、数据包类型、以及发送的数据就可以进行数据发送了。接收过程:当有一个正确的数据包到达的时候,RTL8019会产生一个中断信号,在ARM中断处理程序中接收数据。中断处理程序通过远端DMA把数据从RTL8019的RAM空间读取到ARM中处理。中断优先级(P203)在任何情况下,FIQ都比IRQ中断有更高的优先级外部中断的触发模式下降沿触发、上升沿触发、边沿触发、低电平触发。第六章6.1 嵌入式系统的设计与传统的系统设计有哪些异同点?(P226)与传统系统的设计相比,嵌入式系统设计虽具有一些共同

19、点,如它保持了许多传统系统设计的良好习惯,但区别非常明显,如嵌入式系统运行的目标应用环境具有一定的特殊性,主要针对特定的应用领域,功能较专一;嵌入式系统只能完成预期要完成的功能,而且处于对系统成本、性能和功耗等各方面的考虑,嵌入式系统的PU、存储器、外围设备等资源应用都得恰到好处。嵌入式系统具有以下特点:1) 嵌入式系统通常是面向特定应用的系统2) 量体裁衣,高效设计3) 嵌入式系统设计需要交叉开发环境4) 嵌入式系统的程序需要固化5) 嵌入式系统的软件开发难度大6) 其他特点,嵌入式系统需要提供强大的硬件开发工具和软件包的支持,需要设计者从速度、功能和成本综合考虑。此外,嵌入式系统对稳定性、

20、可靠性、功耗、抗干扰性、重量、体积等方面的性能要求都比通用系统的要求更为严格和苛刻。6.2 板级支持包(Board Support Package,BSP)有何特点?(P229) 操作系统相关性。不同的操作系统具有各自的软件层次结构,有一些自己特定的API接口,因此不同的操作系统具有特定的硬件接口形式。 硬件相关性。因为嵌入式实时系统的硬件环境具有应用相关性,所以作为高层软件与硬件之间的接口,BSP必须为操作系统提供操作和控制具体硬件的方法。6.3 设计一个完整的BSP需要完成哪两部分工作?(P230)嵌入式系统的初始化和设计硬件相关的设备驱动程序1) 系统的初始化过程总是可以抽象为3个主要环

21、节,按照自底向上、从硬件到软件的次序依次为片级初始化、板级初始化和系统级初始化。2) 硬件相关的设备驱动初始化。与初始化过程相反,硬件相关的设备驱动程序的初始化和使用通常是一个从高层到底层的过程。6.4 嵌入式系统的设计流程图6.5 硬件平台的选择(P234)嵌入式系统的核心部件是嵌入式微处理器。设计者在选择处理器时要考虑的主要因素有:1) 微处理器的性能2) 微处理器的技术指标3) 功耗4) 软件支持工具5) 微处理器是否内置调试工具6) 供应商是否提供评估版6.6 软件平台的选择(P235)1) 操作系统的选择1操作系统本身所提供的开发工具2操作系统向硬件接口移植的难度3操作系统的内存要求

22、4开发人员是否熟悉此操纵系统及其提供的系统API5操作系统是否提供硬件的驱动程序6操作系统是否具有可裁剪性7操作系统的实时性能2) 编程语言的选择1通用性2可移植性3执行效率4可维护性3) 集成开发环境考虑的因素1系统调试器的功能2支持库函数3编译器开发商是否持续升级编译器4连接程序是否支持所有的文件格式和符号格式4) 硬件调试工具的选择常用的硬件调试工具有: 实时在线仿真器 驻留监控程序 ROM仿真器 JTAG仿真器6.6 统一建模语言UML的特点和优势是什么?(P240)1) UML语言简单,易学、易用。2) UML采用可视化的图形描述,比较形象、直观。3) 可以使不同技术背景的开发人员和

23、设计人员方便、快捷地相互交流。4) UML语言是第三代面向对象建模语言的标准,被绝大多数业内人士认同。5) UML采用图形化的设计,将系统的核心部分描述出来,可以提供以后系统开发使用。6) 有利于项目得回溯和测试。6.7 UML的组成部分有哪些?1) 视图2) 图3) 模型元素4) 通用机制6.8 UML中有哪9种图(P242)用例图、类图、对象图、状态图 、顺序图、协作图、活动图、组件图、部署图/键盘扫描程序#include stdio.hchar ReadKeyVal(void) BYTE iCount,jCount,HIndex,LIndex; /数据初始化 char KeyVal=-1

24、; rPCONF=0x55; rPUPF=0xff; rPDATF=0xf0; LIndex=rPDATF & 0xff; if(LIndex!=0xf0) HIndex=0xfe; for(iCount=NULL;iCount 4 | 0xf0; KeyVal=GetVal(HIndex) 2 + GetVal(LIndex); return KeyVal; Else HIndex=HIndex 1 | 0x01; return KeyVal;/得到行列号BYTE GetVal(BYTE Value) BYTE Count,Result; Result=NULL; for(Count=NUL

25、L;Count 1 | 0x80; Resutl+; return Result;/LED灯控制程序VOID DisplayLED(BYTE *DisplayNum) BYTE LEDDiaplay=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x8c; BYTE iCount,jCount,DShow,BShow; /初始化数据 rPCONF=0x12555; rPCONF=0x5555; rPUPF=NULL; rPUPG=NULL; BShow=0x80;8; DShow=DisplayNumiCount; rPDATF=LEDDisplayDShow; rPDATG=BShow; for(jCount=NULL;jCount 1;

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

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