《2022年《嵌入式系统原理与接口技术》第2版复习资料整理 .pdf》由会员分享,可在线阅读,更多相关《2022年《嵌入式系统原理与接口技术》第2版复习资料整理 .pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章1.1什么是嵌入式系统(P1)IEEE(国际电气和电子工程师协会)关于嵌入式系统的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”。1.2 与通用计算机系统比较,嵌入式系统有何特点?(P4)1)嵌入式系统通常是面向特定应用的;2)嵌入式系统功耗低、体积小、集成度高、成本低;3)嵌入式系统具有较长的生命周期;4)嵌入式系统具有固化的代码;5)嵌入式系统开发需要专用开发工具和环境;6)嵌入式系统软件需要RTOS(实时操作系统)开发平台;7)嵌入式系统开发人员以应用专家为主;8)嵌入式系统是知识集成系统。1.3 根据嵌入式系统的复杂程度,嵌入式系统可分为哪4 类?( P6)1)
2、单个微处理器;2)嵌入式处理器可扩展的系统;3)复杂的嵌入式系统;4)在制造或过程控制中使用的计算机系统。1.4 嵌入式处理器有哪几类?试举例说明。(P7)1)嵌入式微处理器(EMPU ) ;2)嵌入式微控制器(EMCU ) ;3)嵌入式 DSP 处理器( EDSP) ;4)嵌入式片上系统(ESoC) 。1.6从硬件系统来看,嵌入式系统由哪几部分组成?画出见图。(P11)第二章2.1 ARM7 和 ARM9 基于什么体系结构,采用何种指令集?ARM7 基于冯诺依曼体系结构,采用RISC 精简指令,兼容16 位 Thumb 指令集;ARM9 基于哈佛体系结构, 同样采用RISC 精简指令 ,支持
3、 32 位 ARM 指令集和 16 位 Thumb指令集。外围电路电源模块时钟复位Flash RAM ROM 微处理器MPU 外设USB LCD 其他键盘精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 12 页 - - - - - - - - - - 2.2 ARM7 TDMI中的 TDMI分别代表什么?T:支持 16 位压缩指令集Thumb。D:支持片上Debug。M:内嵌硬件乘法器(Multiplier ) 。I:嵌入式 ICE,支持片上断点和调试点。T 变种处理器有两种工作状态:Thum
4、b 和 ARM 只要支持同版本的ARM 体系版本,基于ARM 处理器的应用软件将是兼容的。2.3 ARM 处理器有几种工作模式?各种工作模式分别有什么特点?(P25)ARM 状态和 Thumb 状态。当 ARM 微处理器执行32 位的指令集功能时,工作在ARM状态;当 ARM 微处理器工作在16 位的 Thumb 指令集时,工作在Thumb 状态。2.4 对比 ARM 指令集合Thumb 指令集Thumb 指令集与ARM 指令集的区别Thumb 指令集没有协处理器指令,信号量指令以及访问CPSR 或 SPSR 的指令, 没有乘加指令及64 位乘法指令等,且指令的第二操作数受到限制;除了跳转指令
5、B 有条件执行功能外,其它指令均为无条件执行;大多数Thumb 数据处理指令采用2 地址格式。 Thumb指令集与 ARM 指令的区别一般有如下几点:跳转指令程序相对转移, 特别是条件跳转与ARM 代码下的跳转相比,在范围上有更多的限制,转向子程序是无条件的转移。数据处理指令数据处理指令是对通用寄存器进行操作,在大多数情况下,操作的结果须放入其中一个操作数寄存器中,而不是第3 个寄存器中。数据处理操作比ARM 状态的更少,访问寄存器R8R15 受到一定限制。除 MOV 和 ADD 指令访问器R8R15 外,其它数据处理指令总是更新CPSR 中的ALU 状态标志。访问寄存器R8R15 的 Thu
6、mb 数据处理指令不能更新CPSR 中的 ALU 状态标志。单寄存器加载和存储指令在 Thumb 状态下,单寄存器加载和存储指令只能访问寄存器R0R7。批量寄存器加载和存储指令LDM 和 STM 指令可以将任何范围为R0R7 的寄存器子集加载或存储。PUSH 和 POP 指令使用堆栈指令R13 作为基址实现满递减堆栈。除 R0R7 外, PUSH 指令还可以存储链接寄存器R14,并且 POP 指令可以加载程序指令PC。2.5 如何转换 ARM 的两种工作状态?(P25)进入 Thumb 状态:当操作数寄存器的状态位(位0 )为 1 时,可以执行BX 指令的方法,使微处理器从ARM 状态切换到T
7、humb 状态。进入 ARM 状态:当操作数寄存器的状态位(位1)为 0 时,可以执行BX 指令的方法,使微处理器从Thumb 状态切换到ARM 状态。2.6 ARM7 采用几级流水线?(P27)ARM7 架构采用了3 级流水线。1)取指:将指令从内存中取出来。2)译码:操作码和操作数被译码以决定执行什么功能。3)执行:执行已译码的指令。ARM9 采用五级流水线技术精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 12 页 - - - - - - - - - - 2.7 ARM 采用怎样的数据存
8、储格式?(P40)ARM 处理器的数据存储格式有两种:大端模式和小端模式。大端模式: 较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。小端模式: 较高的有效地址存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址。默认情况下的存储格式是小端模式。ARM 采用单周期指令集2.8 若寄存器R1=0 x01020304,分别按小端模式和大端模式存储在0 x30000 字节单元中,是分别列出两种模式下内存存储内容,并标出内存地址。0 x3001F0 x30018 0 x30017 0 x30010 0 x3000F 0 x30008 0 x30007 0 x3000
9、0 大端04 03 02 01 小端01 02 03 04 2.9 ARM存储器的存储周期有几种类型?对应于Cache 访问和存储器访问是何存储周期?( P41)存储周期类型:空闲周期。非顺序周期。顺序周期。协处理器寄存器传送周期。2.10 ARM 支持哪些存储数据类型?(P40)ARM 处理器支持以下6 种数据类型:8 位有符号和无符号字节。16 位有符号和无符号半字,以2 字节的边界对齐。32 位有符号和无符号字,以4 字节的边界对齐。2.12 ARM 支持的有几种页面类型?其容量为何值?(P48)段( Section) :大小为 1MB 的存储块。大页( Large Pages ) :大
10、小为 64KB 的存储块。小页( Small Pages) :大小为 4KB 的存储块。极小页( Tiny Pages) :大小为 1KB 的存储块。2.13 一级描述符可能的格式:(P49)位31 20 19 12 1110 9 85 4 3 2 1 0 无效0 0 粗表粗粒度二级页表基地址0 域用户定义0 1 段段基址为 0 AP 0 域C B 1 0 细表细粒度二级页表基址为 0 域用户定义1 1 2.14 ARM 的 MMU主要实现什么功能?(P45)存储管理单元 (MMU )用于在 CPU 和物理内存之间进行地址转换。由于是将地址从逻辑空间映射到物理空间,因此这个转换过程一般称为内存
11、映射。在ARM 系统中,存储管理单元( MMU )主要完成以下工作:虚拟存储空间到物理存储空间的映射。存储器访问权限的控制。设置虚拟存储空间的缓冲特性。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 12 页 - - - - - - - - - - 2.15 ARM 系统中如何完成I/O 操作?( P54)ARM 系统中 I/O 采用统一编址,I/O 操作通常被映射成存储器操作,即输入/输出是通过存储器映射的可寻址外围寄存器和中端输入的组合来实现的。第三章3.1 ARM 支持哪几种工作模式?不
12、同工作模式如何进行切换?(P56)ARM 微处理器支持7 种工作模式:用户模式。快速中断模式。外部中断模式。管理模式。中止模式。未定义指令模式。系统模式。不同的工作模式间可以相互切换,有两种方式:1)发生异常时,处理器自动改变CPSR 中 M4:0 的值,进入相应的工作模式。2)当处理器处于特权模式时,用指令向CPS 的 M4:0 字段写入特定的值,以进入相应的工作模式。3.2 ARM 寄存器的组织形式(P57)ARM 处理器共有37 个寄存器,各寄存器均为32 位:31 个通用寄存器,包括程序计数器PC。6 个状态寄存器。根据 ARM 处理器不同工作模式,可将全部寄存器分成7 组。3.3试述
13、 ARM 处理器对异常中断的响应过程。(P59)当异常发生时, 处理器首先自动保存当前状态,即返回地址存入寄存器R14,当前寄存器 CPSR 存入 SPSR 中,接着进入相应的工作模式,并执行特定地址的指令。ARM 有 7 种类型的异常, 不同类型的异常将导致处理器进入不同的工作模式,并执行不同特定地址的指令。 (P59)3.4 ARM 指令的编码格式和条件域(P63)指令的编码格式3128 2725 2421 20 1916 1512 110 cond opcode S Rn Rd Op2 0000 001 0100 1 0001 0000 000000000010 条件域Cond CPSR
14、 中标志位含义EQ Z 置位相等NE Z 清零不相等CS C 置位无符号数大于或等于CC C 清零无符号数小于MI N 置位负数PL N 清零正数或零VS V 置位溢出VC V 清零未溢出HI C 置位 Z 清零无符号数大于LS C 清零 Z 置位无符号数小于或等于精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 12 页 - - - - - - - - - - GE N 等于 V 带符号数大于或等于LT N 不等于 V 带符号数小于GT Z 清零且( N 等于 V)带符号数大于LE Z 置位或
15、( N 不等于 V)带符号数小于或等于AL 忽略无条件执行3.5 指令集的寻址方式有几种?试分别叙述其各自的特点并举例说明。(P64)1)立即数寻址: 在立即数寻址方式下,操作数本身直接在指令中给出,去除指令也就获得了操作数,这个操作数也称为立即数。2)寄存器寻址:在寄存器寻址方式下,寄存器的值即为操作数。ARM 指令普遍采用这种寻址方式,由于直接和寄存器交换数据,其执行效率较高。3)寄存器移位寻址:寄存器移位寻址的操作数由寄存器的数值进行相应移位而得到;移位的方式在指令中以助记符的形式给出,而移位的位数可用立即数或寄存器寻址方式表示。4)寄存器间接寻址: 寄存器中的值为操作数的物理地址,这样
16、的寻址方式称为寄存器间接寻址。实际的操作数存放在存储器中,其地址由寄存器给出。5)基址变址寻址: 将寄存器(称为基址寄存器)的值与指令中给出的偏移地址量相加,所得的结果作为操作数的物理地址,这样的寻址方式称为基址变址寻址。6)相对寻址:相对寻址同基址变址寻址相似,区别只是将程序计数器PC 作为基址寄存器,指令中的标记作为地址偏移量。7)多寄存器寻址: 在多寄存器寻址方式中,一条指令可实现一组寄存器值的传送。连续的寄存器间用“-”连接,否则用“,”分隔。8)块复制寻址:块复制寻址可实现连续地址数据从存储器的某一位置复制到另一位置。9)堆栈寻址: 堆栈寻址用于数据栈与寄存器组之间批量数据传输。堆栈
17、是一种后进先出的数据结构, 数据写入和读出内存的顺序不同,适用堆栈寻址可以很好地解决这个问题。3.6 ARM 指令集是否有移位指令?若没有如何实现移位操作?无,通过切换至Thumb 状态,通过Thumb 指令实现。第四章常见的嵌入式操作系统Palm OS,Windows CE ,VxWorks ,C/OS-II , Linux. 嵌入式 Linux 的优势1)Linux 系统是层次结构且内核完全开放、丰富的软件资源2)强大的网络支持功能,完善的图形、文件管理机制3)内核功能强大,具有高效的性能4)Linux 具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,并且可以跨越嵌入式系
18、统开发中仿真工具的障碍5)Linux 有广泛的硬件支持特性6)良好的可定制性7)具有广泛的支持者,价格低廉4.1 嵌入式 Linux 的发展方向( P139)1)减小内核2)减小动态链接库精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 12 页 - - - - - - - - - - 3)减小应用程序4.2 嵌入式 Linux 的实时性存在哪些问题,如何进行改进(硬实时)?(P138)存在的问题:运行于 Linux 内核空间的进程(核心态)不能被抢先。在 Linux 中,中断有时会处于保护临界
19、区操作的目的而被屏蔽。通用 Linux 的时间应答长度为10ms(硬件时钟频率100Hz) ,但是这对于时间精度要求很高(微秒级)的实施进程来说是不够的。缺乏有效的实时任务调度机制和调度算法。目前支持 Linux 的硬实时性一般有两种方法:一种是直接修改Linux 内核, 重新编写一个由优先级驱动的实时调度器,替换原有内核中的进程调度器;另一种是在Linux 内核之外,以可加载内核模块的形式添加实时内核,确保其高响应特性,实时内核接管来自硬件的所有中断,并判断是否实时任务觉得是否直接相应。4.3 有哪些常见的嵌入式文件系统1)JFFS 2)YAFFS 第五章( 本章会考设计题,所以请参照课本了
20、解键盘、LED 等的工作原理和初始化及工作编程示例 )5.1 S3C44B0X 具有多少通用I/O 口?它们具有什么功能?(P143)S3C44B0X 具有 71 组通用多功能I/O 引脚,分别包含在如下7 组端口中1 个 10 位输出端口(端口A)1 个 11 位输出端口(端口B)1 个 16 位输入 /输出端口(端口C)2 个 8 位输入 /输出端口(端口D 和 G)2 个 9 位输入 /输出端口(端口E 和 F)端口配置寄存器:PCONA, PCONB, PCONC,PCOND, PCONE, PCONF, PCONG. 5.2 简述矩阵行扫描检测法的工作原理。识别键盘上的闭合键,通常采
21、用两种方法,即行扫描法和行反转法。使键盘上某一行线为低电平,而其余行为高电平,然后读取列值, 如果列值中有某位为低电平,则表明行列交点处的键被按下;否则扫描下一行,直至扫描完全部的行线为止。5.3 矩阵键盘的设计,键盘扫描程序流程图(P147) (设计题)5.4 多位 7 段 LED 的显示程序、接口电路图、流程图(P150)(设计题 ) 5.5 LCD 控制器的结构图(P155)5.6 触摸屏接口专用芯片ADS7843 的主要功能是什么?(P164)1)完成电极电压的切换2)采集接触点的电压值,并进行A/D 转换寄存器控制DMA 传送控制信号产生电路数据控制VD3:0 VD7:4 VCLK
22、VLINE VFRAME VM 32 32 32 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 12 页 - - - - - - - - - - 5.7 S3C44B0X UART单元提供了提供了几个异步串口( SIO ) , 每个模块包含哪几个部件?(P173)2 个,每个模块包含以下四个部件:1)波特率发生器2)发送器3)接收器4)控制单元5.8 URAT 接收哪四种错误?(P173)1)溢出错误2)奇偶校验错误3)帧错误4)中止状况5.9 S3C44B0X 在何种情况下采用自动流控制?
23、(P173)S3C44B0X 在 UART 连接 UART 时支持 nRTS 和 nCTS 信号进行自动流控制, 而在 UART连接 MODEM 时则不支持自动流控制,此时就应该在UMCONn寄存器中禁止自动流控制,由软件控制nRTS 和 nCTS 信号。5.10 波特率除数寄存器的计算公式(P175)UBRDIVn = ( 取整 ) ( MCLK / ( 波特率* 16 ) ) -1 BNRY 和 CURR 的关系和作用CURR 是以太网控制器写接收缓冲区的指针BNRY 指向缓冲区已经被读取的最后一页CURR 和 BNRY 主要用来控制缓冲区的存取过程,保证能顺次写入和读出。当 CURR=B
24、NRY+1时,接收缓冲区没有数据,用户通过这个判断有没有包可以读。不成立是代表接收到新的数据包,用户应该读取数据包,每读取一个数据包,BNRY 加 1,直到上述条件成立,表示所有数据包读完,停止接收数据包。发送和接收的过程发送过程: 配置发送数据的物理层地址的源地址、目的地址、 数据包类型、 以及发送的数据就可以进行数据发送了。接收过程:当有一个正确的数据包到达的时候,RTL8019 会产生一个中断信号,在 ARM中断处理程序中接收数据。中断处理程序通过远端DMA 把数据从RTL8019 的 RAM 空间读取到 ARM 中处理。中断优先级( P203)在任何情况下,FIQ 都比 IRQ 中断有
25、更高的优先级外部中断的触发模式下降沿触发、上升沿触发、边沿触发、低电平触发。第六章6.1 嵌入式系统的设计与传统的系统设计有哪些异同点?(P226)与传统系统的设计相比,嵌入式系统设计虽具有一些共同点,如它保持了许多传统系统设计的良好习惯,但区别非常明显,如嵌入式系统运行的目标应用环境具有一定的特殊性,主要针对特定的应用领域,功能较专一; 嵌入式系统只能完成预期要完成的功能,而且处于对系统成本、性能和功耗等各方面的考虑,嵌入式系统的PU、存储器、外围设备等资源应用都得恰到好处。嵌入式系统具有以下特点:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳
26、 - - - - - - - - - -第 7 页,共 12 页 - - - - - - - - - - 1)嵌入式系统通常是面向特定应用的系统2)量体裁衣,高效设计3)嵌入式系统设计需要交叉开发环境4)嵌入式系统的程序需要固化5)嵌入式系统的软件开发难度大6)其他特点, 嵌入式系统需要提供强大的硬件开发工具和软件包的支持,需要设计者从速度、功能和成本综合考虑。此外,嵌入式系统对稳定性、可靠性、功耗、抗干扰性、重量、体积等方面的性能要求都比通用系统的要求更为严格和苛刻。6.2 板级支持包( Board Support Package,BSP)有何特点?(P229)操作系统相关性。不同的操作系统
27、具有各自的软件层次结构,有一些自己特定的API 接口,因此不同的操作系统具有特定的硬件接口形式。硬件相关性。 因为嵌入式实时系统的硬件环境具有应用相关性,所以作为高层软件与硬件之间的接口,BSP 必须为操作系统提供操作和控制具体硬件的方法。6.3 设计一个完整的BSP 需要完成哪两部分工作?(P230)嵌入式系统的初始化和设计硬件相关的设备驱动程序1)系统的初始化过程总是可以抽象为3 个主要环节, 按照自底向上、 从硬件到软件的次序依次为片级初始化、板级初始化和系统级初始化。2)硬件相关的设备驱动初始化。与初始化过程相反,硬件相关的设备驱动程序的初始化和使用通常是一个从高层到底层的过程。6.4
28、 嵌入式系统的设计流程图6.5 硬件平台的选择(P234)嵌入式系统的核心部件是嵌入式微处理器。设计者在选择处理器时要考虑的主要因素有:1)微处理器的性能2)微处理器的技术指标3)功耗4)软件支持工具开始系统需求分析规格说明阶段执行装置设计体系结构设计硬件构件设计软件结构设计系统集成嵌入式产品发系统调试结束精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 12 页 - - - - - - - - - - 5)微处理器是否内置调试工具6)供应商是否提供评估版6.6 软件平台的选择(P235)1)操
29、作系统的选择操作系统本身所提供的开发工具操作系统向硬件接口移植的难度操作系统的内存要求开发人员是否熟悉此操纵系统及其提供的系统API 操作系统是否提供硬件的驱动程序操作系统是否具有可裁剪性操作系统的实时性能2)编程语言的选择通用性可移植性执行效率可维护性3)集成开发环境考虑的因素系统调试器的功能支持库函数编译器开发商是否持续升级编译器连接程序是否支持所有的文件格式和符号格式4)硬件调试工具的选择常用的硬件调试工具有:实时在线仿真器驻留监控程序ROM 仿真器JTAG 仿真器6.6 统一建模语言UML 的特点和优势是什么?(P240)1)UML 语言简单,易学、易用。2)UML 采用可视化的图形描
30、述,比较形象、直观。3)可以使不同技术背景的开发人员和设计人员方便、快捷地相互交流。4)UML 语言是第三代面向对象建模语言的标准,被绝大多数业内人士认同。5)UML 采用图形化的设计,将系统的核心部分描述出来,可以提供以后系统开发使用。6)有利于项目得回溯和测试。6.7 UML 的组成部分有哪些?(P240)1)视图2)图3)模型元素4)通用机制6.8 UML 中有哪 9 种图( P242)用例图、类图、对象图、状态图、顺序图、协作图、活动图、组件图、部署图精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第
31、 9 页,共 12 页 - - - - - - - - - - /键盘扫描程序#include #include char ReadKeyVal(void) BYTE iCount,jCount,HIndex,LIndex; /数据初始化char KeyVal=-1; rPCONF=0 x55; rPUPF=0 xff; rPDATF=0 xf0; LIndex=rPDA TF & 0 xff; if(LIndex!=0 xf0)HIndex=0 xfe; for(iCount=NULL;iCount 4 | 0 xf0; KeyVal=GetVal(HIndex) 2 + GetVal(LI
32、ndex); return KeyVal; ElseHIndex=HIndex 1 | 0 x01; return KeyVal; /得到行列号BYTE GetVal(BYTE Value) BYTE Count,Result; Result=NULL; for(Count=NULL;Count 1 | 0 x80; Resutl+; return Result; /LED 灯控制程序#include #include 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 12 页 - - - -
33、 - - - - - - VOID DisplayLED(BYTE *DisplayNum) BYTE LEDDiaplay=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8, 0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e,0 x8c; BYTE iCount,jCount,DShow,BShow; /初始化数据rPCONF=0 x12555; rPCONF=0 x5555; rPUPF=NULL; rPUPG=NULL; BShow=0 x80; for(iCount=NULL;iCount8;i
34、Count+) DShow=DisplayNumiCount; rPDATF=LEDDisplayDShow; rPDATG=BShow; for(jCount=NULL;jCount 1; 开始初始化键值为 -1 PF0PF3 输出 0 Pf4pf7 读入全 1 Pf0pf3 输出扫描码Pf4pf7 读入全 1 指向缓冲区首址取显示位指针取要显示的数将数变为段码段码送到段控制通道位码送到位控制通道延迟一定时间是否为最后一位退出修改缓冲区指针和位码是获取行列号,计算键值返回键值扫 描码 指针 移位Y Y 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 12 页 - - - - - - - - - - 文档编码:KDHSIBDSUFVBSUDHSIDHSIBF-SDSD587FCDCVDCJUH 欢迎下载 精美文档欢迎下载 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 12 页 - - - - - - - - - -