目录
一、嵌入式系统
嵌入式系统是一种应用为核心,以计算机技术为基础,可以适用对不同应用对功能,可靠性成本体积,功耗等方面的要求,提供可配置可裁剪的软硬件系统,它具有很强的灵活性。主要由嵌入式硬件平台,相关的嵌入式硬件,嵌入式操作系统,支撑软件以及应用软件所组成。
嵌入式系统特点:
-
- 系统专用性强
- 软硬件依赖性强
- 系统实施性强
- 处理器专用
- 多种技术紧密结合
- 系统透明性
- 系统资源受限
1.1 实时系统的概念
对外部事件进行实时响应的系统。实时性系统有时间约束并且是死线驱动的。
死线:指系统必须对外部事件处理的最迟时间界限,错过此界限可能产生严重后果。通常计算必须在到达死线以前完成。通常死线问题会演变成资源调度的问题。
1.2 嵌入式系统基本体系结构
嵌入式系统软件可以分为三个层次:
- 系统软件
- 支撑软件
- 应用软件
嵌入式处理器可以分为如下几类:
- 嵌入式微处理器
- 嵌入式微控制器
- 嵌入式数字信号处理器
- 嵌入式片上系统
嵌入式系统中的支撑软件主要由窗口系统,网络系统,数据库管理系统,java虚拟机等几部分所组成。
二、嵌入式操作系统
2.1 嵌入式操作系统特点
嵌入式操作系统特点:
- 微型化:嵌入式系统的软件一般都固化在存储器芯片中,而不是存放在磁盘等载体中。
- 代码质量高:因为存储空间是宝贵的资源
- 专业化:要有很好的移植性和可靠性
- 实时性强:广泛应用于过程控制,数据采集,通信,多媒体信息处理等要求实时响应的场合。
- 可裁剪可配置:为了适应微型化和专业化要求。
2.2 嵌入式操作系统的体系结构
EOS是一个按时序方式调度执行,管理系统资源并为应用代码提供服务的基础软件。每个EOS都有一个内核。
内核包含的三个对象有:
- 调度器:EOS的心脏,提供一组算法决定何时执行哪个任务
- 内核对象:特殊内核构件,帮助创建嵌入式应用。
- 内核服务:是内核在对象上执行的操作或通用操作。
2.3 多任务调度机制
大多数那和普遍支持两种调度算法:
- 基于优先级的抢占调度
- 基于时间轮转的调度
2.4 内核对象
实时操作系统的用户可以使用内核对象来解决实时系统设计中的问题。如并发,互斥同步,数据通信的问题。
那和对象包括信号量,消息队列,管道,事件与信号等。
- 消息队列是一个类似于缓冲区的对象,通过他任务和ISR可以发送和接收消息,实现数据通信。
- 管道:是提供非结构化数据交换和实现任务同步的内核对象。每个管道有两个端口,一个端口用来读,一个端口用来写。一般内核支持两种类型的管道:命名管道和无名管道。
- 条件变量:一个与共享资源相关的内核对象。他允许一个任务,等待其他任务创建共享资源所需要的条件。
2.5 异常与中断
异常是任何打断处理器正常运行,迫使处理器进入特权执行模式的事件。它分为同步异常和异步异常,所有的处理器按照定义的次序。
2.6 其他功能
计时器:实时嵌入式操作系统的一个组成部分,时间轮转调度算法,存储器定时刷新,网络数据包的超时重传以及目标机监视系统的时序都严格依赖于计时器。
I/O管理:I/O子系统定义了一组标准IO操作函数。以便于对应用隐藏系统的特征。
三、嵌入式数据库
也称为移动式数据库或者嵌入式移动数据库。它存在的目的就是解决移动计算环境下的数据管理问题。移动数据库是移动计算环境中的分布式数据库。
3.1 嵌入式系统中引入数据库的原因
- 所有的应用都需要重复的进行数据的管理工作
- 各应用之间的数据共享性能
- 应用软件的独立性,可移植性差,可重用性低。
3.2 嵌入式数据库使用环境的特点
- 设备随时的移动性
- 网络频繁断接
- 网络条件多样化
- 通信能力不对称
- 嵌入式系统网络
- 是用于连接各种嵌入式系统,使之可以互相传递信息,共享资源的网络系统。
- 嵌入式系统在不同的场合采用不同的连接技术
四、嵌入式调试方法
嵌入式系统开发方法不同于通用的开发方法,而是采用交叉式开发方法。即是在一个通用的平台开发,在另一个嵌入式目标平台上运行。这个用于开发嵌入式软件的通用平台称为宿主机系统。被开发的嵌入式系统称为目标机系统。
而当软件执行环境和开发环境一致时的开发过程则称为本地开发。由于嵌入式软件的运行和开发环境不同,开发工作是交叉进行的,所以每一步都要考虑到这一点。
直接调试法 |
是将目标代码下载到目标机上,让其执行,通过观察指示灯来判断程序的运行状态。这是最原始的调试方法。 |
调试监控法 |
也叫插桩法,桩的作用是监视和控制被调试的程序。它明显提高了开发的效率,降低了调试的难度,缩短了产品开发周期,有效的降低了开发成本。 |
ROM仿真器法 |
为了克服插桩法的缺点而改良的方法。ROM仿真器可以认为是一种用于替代目标机上ROM芯片的硬件设备,它的一端跟宿主机相连,一端通过ROM芯片的引脚插座和目标机相连。 |
在线仿真法 |
ICE是一种用于替换目标机上CPU的设备。对目标机来说,ICE就相当于它的CPU,在线仿真器本身就是一个嵌入式系统,有自己的CPU内存和软件。 |
片上调试法 |
InCircuitDebugger是CPU芯片内部的一种用于支持调试的功能模块 |
模拟器法 |
是运行于宿主机上的一个纯软件工具,它通过模拟目标机的指令系统或目标机操作系统的系统调用来达到在宿主机上运行和调试嵌入式应用程序的目的。 |
五、嵌入式系统的能耗问题
在嵌入式系统中,核心处理器的能耗占据着相当大一部分。动态电压调节被看作是降低处理器能耗的关键技术,其原理是在系统运行时态通过动态改变处理器的电压和频率,降低系统中的无用能耗,从而提高能量的有效利用率。
5.1 动态电源管理
基本思想:因为系统的负载是变化的,如果我们可以预测它的状态,便可以通过一些方法来节约能耗。
如果当一个设备没有任务时,简单地认为立即让设备进入睡眠态,往往会带来新的问题。如果在很短的时间内就需要重新使用设备,那么从睡眠唤醒时需要一些时间,
而且需要更多能量。
降低功耗有两种机制:利用睡眠状态,动态速度缩放。
- 动态速度缩放:一些嵌入式系统可以在运行时改变自己的频率和速度
- 利用睡眠状态:设备低能量时进入睡眠状态