收藏 分享(赏)

嵌入式操作系统期末复习资料new.doc

上传人:dzzj200808 文档编号:2307197 上传时间:2018-09-10 格式:DOC 页数:20 大小:704.04KB
下载 相关 举报
嵌入式操作系统期末复习资料new.doc_第1页
第1页 / 共20页
嵌入式操作系统期末复习资料new.doc_第2页
第2页 / 共20页
嵌入式操作系统期末复习资料new.doc_第3页
第3页 / 共20页
嵌入式操作系统期末复习资料new.doc_第4页
第4页 / 共20页
嵌入式操作系统期末复习资料new.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、第 0 页 共 20 页什么是嵌入式系统 顾名思义: 包含(安装)在电子装置(应用对象)内部的计算机系统称为嵌入式系统。 基本描述: 专门用途的计算机系统 常常用于控制 广泛存在 包含硬件和软件 根据 IEEE(国际电气和电子工程师协会)的定义: 嵌入式系统是“用于控制、监视或者辅助设备、机器和车间运行的装置。 ”嵌入式系统的定义 本课程使用的定义,也是国内高校流行的定义: 嵌入式系统是以应用为中心 以计算机技术为基础 且软硬件可裁剪 适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统 它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成

2、用于实现对其他设备的控制、监视或管理等功能。嵌入式系统的发展简史 第一阶段 4 到 8 位单片机为核心的可编程控制器系统 第二阶段 以 8 到 16 位嵌入式处理器(CPU)为基础 第三阶段 32 位 RISC 嵌入式中央处理器 嵌入式操作系统 第四阶段 基于 Internet 接入为标志的嵌入式系统 可从 4 个方面考察嵌入式系统的历史 硬件 软件 代表产品 系统结构嵌入式系统的特点 专门用于特定任务第 1 页 共 20 页 嵌入式系统一般是专用系统,而 PC 是通用计算平台。 技术融合 集计算机、半导体、电子技术、通信技术于一体。 有实时约束 一般采用实时操作系统 有功耗约束 软件没有系统

3、和应用的区别,软件固化。 系统内核小 软硬件可裁剪 高可靠性 资源比 PC 少得多 嵌入式系统需要专用的开发工具 非垄断市场软件硬件基本要素 硬件 嵌入式处理器 各种类型存储器 模拟电路及电源 接口控制器及接插件 软件 应用程序 实时操作系统 协议栈 设备驱动 板级支持包发展:无所不在的计算时代远远大于 CPU普适计算基本特征 普适计算是指无所不在的、随时随地可以进行计算的一种方式。它使计算机融入人的生活空间。 普适计算不再局限于桌面,用户可以通过手持设备、可穿戴设备或其他常规、非常规计算设备无障碍地享用计算能力和信息资源,使用户能够随时随地获取各种信息,并做出回应。最小系统 嵌入式微处理器芯

4、片本身不能独立工作,需要一些外围元器件提供基本的工作条件。一个最小系统一般包括以下几个部分 微处理器芯片:嵌入式最小系统的心脏 电源电路、复位电路、晶振电路:为嵌入式最小系统提供电源、时钟信号及复位 存储器(Flash 和 SDRAM) 。微处理器芯片内部没有存储器,需要外扩存储器 UART(RS-232、以太网)接口电路。与外界通信第 2 页 共 20 页 JTAG 调试接口。完成软件的下载与烧写扩展板 扩展板主要由嵌入式系统的外设及接口组成,按照功能可分为: 人机交互外设,如键盘、显示设备、触摸屏等。 常用外设及接口,如 UART 串口、SPI、I2C、A/D 等。 其他专用设备,如网络控

5、制器、CAN 控制器、红外接口等。 按处理器集成与否可分为: CPU 集成外设,此类外设在芯片生产时已经集成到处理器上,不需要用户扩展。 扩展外设,该类外设是用户需要的但处理器上没有集成,需要用户自己在硬件设计时进行扩展。核心板由最小系统组成的电路开发板称为核心板嵌入式系统硬件平台一般采用核心板加扩展板的方式进行设计处理器指令执行过程 指令执行过程一般分为: 取指 从存储器获得下一条执行的指令读入指令寄存器 PC: 程序计数器, 指向下一条要执行的指令 IR: 指令寄存器,保存已取得指令 译码 解释指令,决定指令的执行意义 执行 从存储器向数据通道寄存器移动数据 通过算术逻辑单元 ALU 进行

6、数据操作 存储 从寄存器向存储器写数据微处理器的结构体系 按存储结构分: 冯诺依曼体系结构 哈佛体系结构 按指令类型可分为: 复杂指令集(CISC)处理器 精简指令集(RISC)处理器 每条指令都采用标准字长 冯诺依曼体系结构第 3 页 共 20 页3.微 处 理 器 的 结 构 体 系微 处 理 器 的 结 构 体 系中 中 中 中 中中 中 中中 中 中 中中 中 中中中 中 中 中 中中 中 中中 中中 中 0中 中 1中 中 2中 中 3中 中 4中 中中 中 0中 中 1中 中 2地 址 /数 据冯 诺 依 曼 体 系 结 构 模 型 冯诺伊曼结构也称普林斯顿结构 是一种将程序指令存

7、储器和数据存储器合并在一起的存储器结构 处理器经由同一个传输总线来访问程序和数据存储器 程序指令和数据的宽度相同 如 C51、X86 系列、ARM7 等。 哈佛结构3.微 处 理 器 的 结 构 体 系微 处 理 器 的 结 构 体 系指 令 寄 存 器控 制 器数 据 通 道输 入 输 出中 央 处 理 器程 序 存 储 器指 令 0指 令 1指 令 2数 据 存 储 器数 据 0数 据 1数 据 2地 址指 令地 址数 据哈 佛 体 系 结 构 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构 目的是为了减轻程序运行时的访存瓶颈 哈佛结构的微处理器通常具有较高的执行效率 如 ARM9

8、、 TI 的 DSP 等。影响 CPU 性能的因素: 流水线 超标量第 4 页 共 20 页 缓存 总线 对于任何处理器来说,要提高其效率,在设计上都是要: 减少数据的等待时间 减少处理单元的空闲时间。通常用静态 RAM 来设计 因此,速度快但比较贵高速缓冲:解决 CPU 与存储器速度不匹配的问题 处理器信息存储的字节顺序主要分为: 大端存储法 小端存储法 大端模式 字数据的高位字节存储在低地址中 字数据的低字节则存放在高地址中 小端模式 低地址中存放字数据的低字节 高地址中存放字数据的高字节数字信号处理的任务在很大程度上需要由 DSP 器件来完成 DSP 的传统设计往往采取主从式结构: 在一

9、块电路板上,DSP 做从机,负责数字信号处理运算; 外加一块嵌入式微处理器做主机,来完成输入、控制、显示等其他功能。 知识产权与硅知识产权 知识产权(IP:Intellectual Property)包含版权、商标、专利权、集成电路布图设计和植物品种权等。 本课程讲解的知识产权主要涉及集成电路布图设计。通常称这一类知识产权为硅知识产权(Silicon Intellectual Property) 。IP 核的三种形态 软核 固核 硬核IP 核形态的优选原则 从可被重用频度、可向其它工艺移植可能性、重用灵活性等方面考虑,三种 IP 核的优选次序是: 上策选软核 中策选固核 下策选硬核 从高性能、

10、规范化、有较短上市时间、自行开发工作量尽量少、有支付高价能力的角度考虑,优选次序是:第 5 页 共 20 页 硬核为上策 固核为中策 软核为下策PowerPC 处理器 由 IBM(国际商业机器公司) Motorola(摩托罗拉公司) 和 Apple (苹果公司)联合开发的高性能 32 位和 64 位 RISC 微处理器系列 。RAM 存储器分为两种 : 静态 RAM(SRAM) 动态 RAM(DRAM) SRAM 与 DRAM 间的主要区别是存储于其中的数据的寿命 SRAM 是只要芯片有电就会保留其中的内容。然而,如果电源切断了或者是暂时断电了,其中的内容就会永久的丢失 DRAM 只有极短的数

11、据寿命,通常不超过 0.25s,即使是在连续供电的情况下也是如此。因此使用 DRAM 时,需要配合 DRAM 控制器Flash Nor Flash Nand Flash NandFlash 具有容量大、回写速度快、芯片面积小等特点,主要用于外存。 NORFlash 具有随机存储速度快、电压低、功耗低、稳定性高等特点,主要用于主存为什么要引入硬件抽象层的主要原因是 嵌入式处理器多种多样; 即使使用同一种体系的嵌入式处理器,它们的配置参数仍各有不同; 不可能一个操作系统能兼容所有硬件BSP:把原来操作系统与硬件打交道的部分抽取出来给用户个性编写。如何解决硬件的差异性? 操作系统供应商为了解决硬件平

12、台的差异性,把操作系统分成两部分: 共性部分利用标准的 C 语言实现 依赖于硬件的部分(使用的存储器的种类和参数,外部设备的配置,地址分配等)提供给用户编写代码,操作系统规定一个标准的规范。 那么,由用户编写的为用户定制的硬件和操作系统之间提供接口和支持平台的这部分代码称为硬件抽象层(也称板级支持包) 。硬件抽象层的特点: 介于硬件和软件之间 为软件提供硬件特性,为硬件进行驱动 是嵌入式系统很重要的软件组成部分第 6 页 共 20 页 处理系统启动、硬件初始化以及中断与异常 完成进入嵌入式操作系统的运行。BSP 的特点 BSP 具有硬件相关性 BSP 作为软硬件间的接口,必须为操作系统提供操作

13、和控制硬件的方法 而嵌入式系统的硬件环境具有应用相关性。 BSP 具有操作系统相关性 不同的操作系统具有各自的软件层次结构 因此,不同的操作系统具有特定的硬件接口形式。嵌入式系统初始化 硬件初始化 软件初始化 初始化过程按照自底向上、从硬件到软件的次序依次抽象为三个主要环境: 片级初始化 板级初始化 系统级初始化 片级初始化: 主要完成 CPU 的初始化,包括: 设置 CPU 的核心寄存器和控制寄存器 设置 CPU 核心工作模式以及 CPU 的局部总线模式等。 片级初始化把 CPU 从上电时的缺省状态逐步设置成为系统所要求的工作状态; 这是一个纯硬件的初始化过程 板级初始化: 完成 CPU 以

14、外的其他硬件设备的初始化。 除此之外,还要设置某些软件的数据结构和参数,为随后的系统级初始化和应用程序的运行建立硬件和软件环境; 这是一个同时软硬件两部分在内的初始化过程。 系统级初始化: 主要进行操作系统初始化。 BSP 将控制权转交给操作系统,由操作系统进行余下的初始化操作。包括: 加载和初始化与硬件无关的设备驱动程序 建立系统内存区,加载并初始化其他系统软件模块,如网络系统、文件系统等 最后,操作系统创建应用程序环境并将控制转交给应用程序的入口。第 7 页 共 20 页 什么是操作系统引导? 将操作系统装入内存并开始执行的过程 操作系统启动的限制(放在外存要调入内存) 时间限制 空间限制

15、 什么是 Boot Loader 在系统启动时,将操作系统内核从外部存储介质拷贝到内存中,并跳转到内核的首条指令的过程 Boot Loader 是在操作系统内核运行之前执行的一段小程序 将系统软、硬件环境带到一个合适的状态,为操作系统内核准备好正确的环境RTOS 的引导模式 需要 Boot Loader 的引导模式 若 RAM 没有空间限制,足够程序运行,则: 由 Loader 程序把内核从非易失性存储介质全部复制到 RAM 中,对于某些压缩内核,复制后还需要解压 特点: 启动速度快,但不能满足对启动速度要求特别高的系统 系统的运行速度能得到保障 不需要 Boot Loader 的引导模式 对

16、于时间效率要求较高的系统,通常要求系统快速启动,无需 Boot Loader 直接在 NorFlash 或 ROM 系列可以做主存的非易失性存储介质中运行 特点: 启动速度很快 不能满足运行速度的要求实时系统运算能力具有双重特征: 正确 及时实时系统的定义对外来事件能在限定的响应时间内做出预定质量处理的计算机系统。具有实时性能的操作系统称为实时操作系统(Real-Time Operating System, RTOS) 实时系统典型例子 民用飞机的导航系统 汽车的防刹车抱死系统(ABS) 非实时系统典型例子 银行数据查询处理系统 视频播放系统第 8 页 共 20 页 图像扫描 文字识别系统以下

17、几种途径常常用来提高应用系统实时性能 尽量采用硬件处理 优化微处理器的中断机制 采用简单的单线程循环程序 采用基于实时操作系统的复杂多线程操作实时系统的两个基本属性 可预测性 可靠性实时系统的指标 响应时间(response time) 吞吐量(throughput) 生存时间(survival time)实时系统的分类(相应性能) 硬实时系统 系统未能在时限内就某一事件做出响应而失败 并且该失败被认为是一种全面的系统失败 则可以认为该系统是一个硬实时(hard real-time )系统。 如:核电反应堆 软实时系统 非硬实时的实时系统可以归类为软实时系统。 在一个软实时(soft real

18、-time)系统中,存在时限指标,但是如果输出响应超过时限,一般不会造成严重后果。 如:语音系统按照响应时间的快慢分类:(响应时间) 强实时系统: 其响应时间在毫秒级或微秒级。 如:信号处理 普通实时系统: 其响应时间一般几秒 弱实时系统: 其响应时间一般在数十秒。 如:联机查询系统实时=及时实时系统嵌入式系统嵌入式操作系统的特点 可移植性 强调实时性能 内核精简,所占空间小第 9 页 共 20 页 抢占式内核 使用可重入函数 可配置 可裁剪 高可靠性从内核调度基本特点分类,嵌入式操作系统内核分为: 抢占式内核(preemptive kernel) 不可抢占式内核(non-preemptive

19、 kernel)抢占式内核 最大特点是最高优先级任务能够立即得到执行,从而能够保证系统具有高度实时性能。嵌入式系统的进程进程调度 (3)静态调度和动态调度动态调度算法主要有两种: 最近执行者优先调度(earliest deadline first,EDF) 最短空闲时间优先调度算法(least-laxity-first scheduling) 最经典的静态调度算法是比率单调调度算法(rate-monotonic scheduling algorithm,RMS ) 。操作系统 任务单位实时性 ROM 化 应用领域 源代码开放ITRON 任务 优(数 s) 必须 家电 有VRTX 任务 优(数

20、s) 必须 家电 无Psos 任务 优(数 s) 必须 控制 无VxWorks 任务 优(数 s) 必须 控制 无Nucleus 任务 优(数 s) 必须 控制 有Hard Hat Linux 进程 良(可选) 可 控制 有Windows CE 进程 良 可 PDA、家电 无实时多任务设计 DARTS 的设计思想第 10 页 共 20 页 把系统结构化成并发任务,定义任务间接口; 包括 ARTS 阶段和 DRTS 阶段; ARTS 阶段:实时系统需求模型; DRTS 阶段:实时系统设计。 开发过程 1. 系统需求定义 2. 划分子系统 3. 划分任务 4. 定义任务接口 5. 任务设计 6.

21、编码实现 3. 划分任务划分任务的原则是 将有时间关键性(deadline)的功能分离出来, 组成独立运行的任务 I/O 依赖性 功能的时间关键性 计算需求 功能内聚 时间内聚 周期执行I/O 依赖性 如果变换依赖于 I/O,速度受限 I/O,可独立成任务 在系统中创建与 I/O 设备数目相当的 I/O 任务 I/O 任务只实现与设备相关的代码 I/O 任务的执行只受限于 I/O 设备的速度,而不是处理器 在任务中分离设备相关性DARTS 支持两类不同的 TCM(任务间通信模块) 消息通信模块 信息隐藏模块 任务同步模块 任务同步用事件来实现,目标任务等待一个事件的发生,或源任务发送事件信号激

22、活目标任务松耦合消息通信 消息队列包括二进制信号量,用于互斥 事件同步用来在队列满时挂起生产者,队列为空时挂起消费者 每个消息队列限制了最大长度 每个消息队列都和一个事件相连,由事件激活任务紧耦合消息通信 发送和接收队列各有一个元素第 11 页 共 20 页信息隐藏模块 系统中可能有一些资源如查询数据、数据池和数据存储区等可以被两个或更多的任务共享使用,或是只读,或是可读可写嵌入式软件的开发环境 由宿主机和目标机组成宿主机与目标机之间在物理连接的基础上建立起逻辑连接。连接方式主要有三种: 串口 以太口 OCD(On Chip Debug )方式 如 JTAG、BDM 等嵌入式软件的交叉开发环境

23、 在开发过程中 目标机端需接收和执行宿主机发出的各种命令 如设置断点、读内存、写内存等 将结果返回给宿主机 配合宿主机各方面的工作 交叉调试方式 Crash and Burn 最早的嵌入式应用软件调试方法 Rom Monitor ROM Monitor 要占用目标机一定数量的资源,如 CPU、RAM 、ROM 和通信设备等。调试环境不同于实际目标环境。 Rom Emulator (ROM) 用于替代目标机上的 ROM 芯片,即 ROM仿真器。 In Circuit Emulator ( CPU)是一种用于替代目标机上 CPU 的设备,即在线仿真器。 On Chip Debugging (数据链

24、接) CPU 芯片提供的一种调试功能(片上调试) ,可以认为是一种廉价的 ICE 功能:OCD 的价格只有 ICE的 20%,但提供了 ICE 80%的功能。 调试环境与固化环境的区别: 代码定位不同 初始化部分不同什么是固化:当调试完成之后,程序代码需要被完全烧入到目标板的非易失性存储器(如 ROM 或闪存)中,并且在真实的硬件环境上运行,这个过程叫做固化。第 12 页 共 20 页注意:“ARM 核”并非芯片, ARM 核与其它部件如 RAM、ROM、片内外设组合在一起才能构成现实的芯片。如,S3C44B0X 是以 ARM7TDMI 为内核的嵌入式微处理器。ARM 处理器的工作状态ARM

25、状态:处理器默认为此状态;32 位存储结构Thumb 状态 位存储结构ARM 体系结构支持 7 种处理器模式,分别为:用户模式、。快中断模式、。中断模式、。管理模式、。中止模式、。未定义模式、。系统模式。这样的好处是可以更好的支持操作系统并提高工作效率。除用户模式外,其它模式均为特权模式。用户 (usr) 正常程序工作模式 不能直接切换到其它模式系统 (sys)用于支持操作系统的特权任务等与用户模式类似,但具有可以直接切换到其它模式等特权第 13 页 共 20 页ARM 处理器共有 37 个 32 位寄存器,其中 31 个为通用寄存器,6 个为状态寄存器。但是这些寄存器不能被同时访问,具体哪些

26、可编程访问,取决于微处理器的工作状态与工作模式。R13(SP) R13 R14(LR) R14 链接寄存器 R15(PC) R15寄存器 CPSR 为 当前程序状态寄存器。寄存器 SPSR 为保存程序状态寄存器。和的关系对异常的影响:1.将下一条指令的地址存入相应连接寄存器 LR,以便程序在处理异常返回时能从正确的位置重新开始执行,从 ARM 状态进入时,LR 寄存器中保存的是下一条指令的地址。2.将 CPSR 复制到相应的 SPSP 中。3.根据异常类型,强制设置 CPSR 的运行模式位。4.强制 PC 从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。从异常返回:异常处

27、理完毕后,ARM 微处理器会执行以下几步操作从异常返回:1.将连接寄存器 LR 的值减去相应的便宜量后送到 PC 中。2.SPSR 复制回 CPSR 中。3.若在进入异常处理时设置了中断禁止位,需要在此清除。状态切换过程(用 BX 互相转换)第 14 页 共 20 页注意:ARM 和 Thumb 状态之间的切换并不影响处理器模式或寄存器内容。B跳转三条指令 BLBXARM 处理器具有 8 种基本寻址方式。1.寄存器寻址; 2.立即寻址;3.寄存器移位寻址; 4.寄存器间接寻址;5.基址寻址; 6.多寄存器寻址;7.堆栈寻址; 8.相对寻址。1.寄存器寻址MOV R1,R2 将 R2 的值存入

28、R1 SUB R0,R1,R2 将 R1 的值减去 R2 的值,结果保存到 R0 2.立即寻址SUBS R0,R0,#1 ;R0 减 1,结果放入 R0,并且影响标志位MOV R0,#0xFF000;将立即数 0xFF000 装入 R0 寄存器 3.寄存器移位寻址MOV R0,R2,LSL #3 ;R2 的值左移 3 位,结果放入 R0,即 R0=R28 ANDS R1,R1,R2,LSL R3;R2 的值左移 R3 位,和 R1 相“与”,结果放入 R1第 15 页 共 20 页4.寄存器间接寻址LDR R1,R2 ;将 R2 指向的存储单元的数据读出保存在 R1 中 SWP R1,R1,R

29、2;将寄存器 R1 的值和 R2 指定的存储单元的内容交换 5.基址寻址LDR R2,R3,#0x0C;读取 R3+0x0C 地址上的存储单元的内容,放入 R2 STRR1,R0,#-4!;先 R0=R0-4,然后把 R1 的值保存到 R0 指定的存储单元 第 16 页 共 20 页0x0103C000=0000 0001 0000 0011 1100 0000 0000 0000(第一个 1 和最后一个 1 之间间隔超过 8 位)0X12800000=0001 0010 1000 0000 0000 0000 0000 0000(最远的两个 1 之间的间隔少于 8 位,可由 0100 101

30、0 右移 10 位得到) 0X0016C000=0000 0000 0001 0110 1100 0000 0000 0000(最远的两个 1 间隔 5 位,合法,01011011 循环右移 18 位得到)第 17 页 共 20 页0x4000003B=0100 0000 0000 0000 0000 0000 0011 1011(最远两个 1 间隔 6 位,可由11101101 右移 2 位得到)#1=0000 0000 0000 0000 0000 0000 0000 0001-可由 0001 0000 右移 4 位得到#0X0F=0000 0000 0000 0000 0000 0000

31、 0000 1111-是 1111 0000 右移 4 位得到#0XC000=0000 0000 0000 0000 1100 0000 0000 0000-可由 0000 0011 右移 18 位得到 Rm,shift寄存器移位方式例如:ADD R1,R1,R1,LSL #3;R1=R1+R1*8=9R1SUBR1,R1,R2,LSR R3;R1=R1-(R2/2R3)ARM 存储器访问指令 单寄存器存取第 18 页 共 20 页ARM 存储器访问指令 寄存器和存储器交换指令SWP 指令用于将一个内存单元(该单元地址放在寄存器 Rn 中)的内容读取到一个寄存器 Rd中,同时将另一个寄存器 Rm 的内容写入到该内存单元中。使用 SWP 可实现信号量操作第 19 页 共 20 页

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报