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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

12嵌入式复习资料.docx

1、12嵌入式复习资料1.嵌入式系统的定义:嵌入式系统是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。2.嵌入式系统的组成结构:一般可划分为硬件层、中间层、软件层和功能层。嵌入式系统的组成结构3.嵌入式处理器可以分为:嵌入式微控制器(MCU),嵌入式微处理器(MPU),嵌入式,嵌入式片上系统()。4.嵌入式系统是专用的计算机系统,具有 代码固化 、 实时性 要求、可靠性要求和 操作系统 支持、专门的开发工具、环境和方法等特点。5.ARM7采用 32 位架构,ARM指令集,冯诺依曼体系结构,其3级流水线分别是 取址 、 译码

2、 、 执行 。6.ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属于低端ARM处理器核。ARM7TMDI的名称含义为:ARM7 32位ARM体系结构v4T版本,ARM6 32位整型核的3V兼容的版本 T 支持16为压缩指令集Thumb D 支持片上Debug M 内嵌硬件乘法器(Multiplier) I 嵌入式ICE,支持片上断点和调试点ARM7TDMI-S : ARM7TMDI的可综合(Synthesizable)版本(软核)7.为了精确表述在每个ARM实现中所使用的指令集,迄今为止,将其定义了6种主要版本,分别用版本号v1v6表示8. ARM体系结构的演变 Thumb指令

3、集(T变种) 长乘法指令(M变种) 增强型DSP指令(E变种) Java加速器Jazelle(J变种) ARM媒体功能扩展(SIMD变种)9. 基本字符串ARMv; ARM指令集的版本号,目前是16的数字字符; 表示变种的字符(T、E、J除了M变种)。 使用字符x表示排除某种功能如:ARMv4T表v4版有T、M变种,ARMv4TxM表v4版有T无MARMv5TE表v5版有T、E、M变种10. 写出下列缩写的英文全称与中文含义?CISC:Complex instruction set computer ,复杂指令集系统计算机RISC:Reduced instruction set compute

4、r, 精简指令集计算机ARM:Advanced RISC Machine:先进精简指令集设计。RTOS: real time operation system ,实时操作系统 SOC: System on Chip,片上系统 MMU:memory management unit,内存管理单元UML:Unified Model Language,统一建模语言DMA: Direct Memory-Access, 直接存储器访问RAM:Random Access Memory,随机存储器SRAM:Static RAM,静态随机存储器DRAM:Dynamic RAM,动态随机存储器ROM:Read-O

5、nly Memory,只读存储器EEPROM:Electrical Erasable Programmed ROM,电可擦可编程ROMLCD:Liquid Crystal Display,液晶显示UART:Universal Asynchronous Receiver and Transmitter,通用异步收发器CSMA/CD:Carrier Sense Multiple Access with Collision Detection,载波检测多路存取/冲突检测HAL: Hardware Abstraction Layer,硬件抽象层BSP: Board Support Package,板级

6、支持包OS: Operating System,操作系统11.ARM处理器支持下列数据类型: 字节 8位 半字 16位(必须分配为占用两个字节) 字 32位(必须分配为占用4个字节)12.ARM微处理器的工作状态一般有两种:ARM状态-处理器执行32位的字对齐的ARM指令; Thumb状态-处理器执行16位的、半字对齐的Thumb指令。处理器状态切换:进入ARM状态:当操作数寄存器的状态位(位0)为0时执行BX指令进入ARM状态。当处理器进行异常处理是时,进入ARM状态从异常向量地址处开始执行。进入Thumb状态:当操作数寄存器的状态位(位0)为1时,执行BX指令进入Thumb状态。如果处理器

7、在Thumb状态进入异常,则当异常处理返回时,自动转换到Thumb状态。除用户模式外,其它模式均为特权模式。除了用户和系统模式外的五种模式称为异常模式。它们除了可以通过程序切换进入外,也可以由特定的异常进入。当特定的异常出现时,处理器进入相应的模式。每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。13.寄存器组织寄存器R13为堆栈指针SP(the stack pointer, SP)寄存器R14为子程序链接寄存器LR(link register, LR)寄存器R15为程序计数器PC(the program counter, PC),它指向正在取指的地址。ARM处理器有的

8、37个寄存器,分成两大类:31个通用32位寄存器;6个状态寄存器。8个通用寄存器R0R7,为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器。寄存器R8R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。这样在发生FIQ中断后,可以加速FIQ的处理速度。寄存器R13、R14分别有6个分组的物理寄存器。一个用于用户和系统模式,其余5个分别用于5种异常模式。正常操作时,从R15读取的值是处理器正在取指的地址,即当前正在执行指令的地址加上8个字节(两条ARM指令的长度)。ARM指令总是以字为单位,R15寄存器的最低两位总是

9、为00。Thumb指令总是以半字为单位,R15寄存器的最低两位总是为10。下图为重点:大多数“数值处理指令”可以选择是否影响条件代码标志位(指令带S后缀);但有些指令执行总是影响条件代码标志。 所有ARM指令都可按条件来执行,而Thumb指令中只有分支指令可按条件执行。保留位被保留将来使用。为了提高程序的可移植性,当改变CPSR标志和控制位时,请不要改变这些保留位。另外,请确保您程序的运行不受保留位的值影响,因为将来的处理器可能会将这些位设置为1或者0。 最低8位为控制位,当发生异常时,这些位被硬件改变。当处理器处于一个特权模式时,可用软件操作这些位。N:运算结果的最高位反映在该标志位。对于有

10、符号二进制补码,结果为负数时N=1,结果为正数或零时N=0;Z:指令结果为0时Z=1(表示比较结果“相等”),否则Z=0;C:当进行加法运算,并且最高位产生进位时C=1,否则C=0。 当进行减法运算,并且最高位产生借位时C=0,否则C=1。 对于移位操作指令,C为从最高位最后移出的值,其它指令C通常不变; V:当进行加法/减法运算,并且发生有符号溢出时V=1,否则V=0,其它指令V通常不变。在Thumb状态中,高寄存器(R8R15)不是标准寄存器集的一部分。汇编语言程序员对它们的访问受到限制,但可以将它们用于快速暂存。可以使用MOV、CMP和ADD指令对高寄存器操作。第二章重点指令:寄存器移位

11、寻址,多寄存器寻址,块拷贝寻址。(见笔记)14. 全部存储系统分为四级,即 寄存器组 、 高速缓存 、 内存 和外存。它们在存取速度上依次递减,而在存储容量上逐级递增。15.嵌入式系统的硬件除了核心部件嵌入式处理器,还包括 存储器 、 通信模块 以及连接各种设备的 I/O单元电路 。16. 为了实现各种中断请求,中断系统应具有以下功能:实现中断及返回,能够实现优先级排队,高级中断源能够中断低级的中断处理。 17.驱动层软件分为三种类型:1)板级初始化程序:在系统上电后,初始化系统的硬件环境,包括嵌入式微处理器、存储器、中断控制器、DMA和定时器等。2)与系统软件相关的驱动程序:用于支持操作系统

12、和中间件等系统软件所需的驱动程序。3)与应用软件相关的驱动程序:这类驱动不一定需要与操作系统连接,其设计和开发由应用所决定。18. 驱动层软件有两个重要的概念:硬件抽象层(HAL,Hardware Abstraction Layer)和板级支持包(BSP,Board Support Package)。 它们的区别、概念及各自的作用:硬件抽象层1)目的:将硬件抽象化,即通过程序来控制诸如CPU、I/O、存储器等硬件的操作,从而使得系统的设备驱动程序与硬件无关。2)好处:有利于移植和软硬件并行测试。3)功能:实现相关硬件初始化、数据的I/O操作、硬件设备的配置操作设计板级支持包1)目的:主要是为驱

13、动程序提供访问硬件设备寄存器的函数包,从而实现对操作系统的支持。2)功能:在系统启动时完成对硬件的初始化,为驱动程序提供访问硬件的手段。 19. 嵌入式系统的初始化过程是一个同时包括硬件初始化和软件(主要是操作系统及系统软件模块)初始化的过程;而操作系统启动以前的初始化操作是BSP的主要功能之一。20. 初始化过程总是可以抽象为三个主要环境,按照自底向上、从硬件到软件的次序依次为:片级初始化、板级初始化和系统级初始化。21.嵌入式操作系统的特点1)微内核、模块化、可方便裁减2)实时性,尤其对于控制系统3)强大的网络功能4)稳定性强、不依赖于交互操作5)代码固化6)可以执行好,适应多种体系结构2

14、2.每一个任务都是一个无限的循环,可处在以下五种状态之一:休眠态、就绪态、运行态、挂起态(等待事件态)、被中断态。23.调度是内核的主要职责之一,就是决定该轮到哪个任务运行。大多数实时内核是基于优先级调度法,即CPU总是让处于就绪态的、优先级最高的任务先运行。基于优先级调度法的内核有两种:占先式内核和非占先式内核。24.任务间的通信,有两个途径:共享数据结构和消息机制。任务间的同步分为单向同步和双向同步。25嵌入式广泛使用了两种不同的范型,即 状态机 和 循环缓冲区。状态机例1:安全带控制器 输入: 坐位占用: seat, no seat 安全带: belt, no belt 计时器: tim

15、ing, timed out 输出: 蜂鸣器:buzzer on, buzzer off#define IDLE 0#define SEATED 1#define BELTED 2#define BUZZER 3switch (state) case IDLE: if (seat) state = SEATED; timer_on = TRUE; break; case SEATED: if (belt) state = BELTED; else if (timer) state = BUZZER; break; 例2:电话机系统 在开发电话系统时,根据分析,可以将应用划分为几个任务:空闲任务

16、(没有其它任务运行时运行)、接收输入任务(按下键盘的按键,如数字键、拨号键等)通话任务(电话处于工作状态)显示任务(显示电话号码、日期、时间等)。 每个任务都是通过接收相应的输入事件(例如按键、对方接通等),改变电话机的状态,从而完成相应的功能。例3:设计交通信号灯控制系统 本系统要求在主干道和支干道的十字路口处实现交通无人自动管理。由于主干道车流量大,为了保证道路的畅通,平时处于主干道绿灯、支干道红灯的状态。为此,在支干道两边安装探测器来监测汽车的情况3 ,控制支干道的交通灯。具体要求为: 1) 只有在支干道上发现汽车时,主干道上的交通灯才可能转为红灯。2) 当有汽车行驶在支干道上时,支干道

17、上的交通灯保持为绿灯,但不能超过给定的最长时间间隔TG。 3) 主干道的交通灯转为绿灯后,即使支干道上有汽车出现,而主干道并无汽车,也必须保证主干道绿灯亮的最短时间为TG。 4) 紧急情况下紧急状态显示灯开启,只允许主干道上的汽车通行,即主干道交通灯转为绿灯,支干道交通灯转为红灯。 5) 每次主干道或支干道黄灯亮的时间间隔为TY。 本系统根据主干道和支干道的交通灯从绿、黄再 变成红,或从红变成绿,可定义4 种状态: S0 ,开始状态,即主干道交通灯为绿色,支干道交通灯为红色; S1 ,主干道交通灯为黄色,支干道交通灯为红色; S2 ,主干道交通灯为红色,支干道交通灯为绿色; S3 ,主主干道交

18、通灯黄色,支干道交通灯红色; 交通灯变化的规律是遵循“主干道优先,支干道 其次”的原则,并对主、支干道的交通灯的亮灯时间进行控制,所有这些可作为触发条件:Car 表示支干道上有车;Ex 表示紧急状态; TG 表示绿灯所允许的亮灯时间; TY 表示黄灯所允许的亮灯时间。循环缓冲区嵌入式系统中,不仅要实时输出结果,而且要尽量少地使用内存,用循环缓冲区是处理流数据的最有效方式.说明了使用循环寻址实现FIR滤波器的方法。对于N级FIR滤波器,在数据存储区开辟一个称为滑窗的具有N个单元的缓冲区,滑窗中存放最新的N个输入样本值。每次输入新的样本时,新的样本将改写滑窗中最老的数据,其他数据则不需要移动。in

19、t circ_bufferN, circ_buffer_head = 0;int cN; /* coefficients */int ibuf, ic;for (f=0, ibuff=circ_buff_head, ic=0; icN; ibuff=(ibuff=N-1?0:ibuff+), ic+)f = f + cic*circ_bufferibuf;26CDFG框图:代表控制和数据.if (cond1) bb1(); else bb2();bb3();switch (test1) case c1: bb4(); break; case c2: bb5(); break; case c3:

20、 bb6(); break;27. 嵌入式程序的优化 执行时间优化 能量优化 长度的优化嵌入式程序设计中,可以对不同的对象进行优化,如程序执行时间的优化、程序代码长度的优化、程序功耗的优化。28程序执行时间的优化(1)代码移出,把在循环体中不必要的代码移到循环体外。(2)降低运算强度 对于类似乘法运算语句:y = x * 2, 可以用数值x 左移1 位替代乘2 运算,因为左移指令比乘法指令执行速度快。 例如:Y=x1 i=i5可以用i=(i2)+i来代替。 利用与运算代替求余运算:有时可以通过用与(AND)指令代替求余操作( )来提高效率。 例如:i=i8可以用i=i&0x07来代替。(3)归

21、纳变量的优化方法:归纳变量实际上是一个变量,其值由循环迭代变量的值计算而得。在循环嵌套程序中采用归纳变量,可以有效地减弱循环迭代的开销。for (i = 0 ; i N; i+)for (j = 0 ; j M; j+)aij = bij;改为:int *aptr =a;int*bptr= b;for (i = 0 ; i N; i+)for (j = 0 ; j M; j+) c = i * M + j;*(aptr + c) = *(bptr + c);29. 把不提供共享内存的通信的交互方式称为基于网络设计的嵌入式系统,优点如下:分布式处理,可以有效地减少需要处理的数据,在网络的各个节点

22、中完成任务,减少处理器的工作量。基于网络的设计可以更好地进行模块化容易测试,被用于容错系统中。设计基于网络的嵌入式系统的原因1)计算机和处理器资源的分散性2)减少处理器的数据量3)模块化设计要求4)系统可靠性要求30.OSI模型物理层(Physical Layer )负责在网络上传输数据比特流。这与数据通信的物理或电气特性有关。31.I2C总线32CSMA/CD算法(书本P215)课后题:第二章13、14、18、19第三章 14(见资料16)第五章 7(见笔记)I2C是全部要掌握的,起始信号格式,总线事务,怎么样进行总线仲裁?ARM协处理器和杂项指令要了解,因为程序题里头,你要是有点印象,即使不会也可以猜出来程序是让你干嘛。实验的内容你看04卷子也可以吧。

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

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