嵌入式系统概论
嵌入式系统是一种以应用为中心,以计算机技术为基础,可以适应不同应用对功能、可靠性、成本、体积、功耗等方面的要求,集可配置,可裁减的软、硬件于一体的专用计算机系统。
它具有很强的灵活性,主要由嵌入式硬件平台、相关支撑硬件、嵌入式操作系统、支撑软件以及应用软件组成。
其中,“嵌入性”、“专用性”与“计算机系统” 是嵌入式系统的三个基本的核心要素:
- 嵌入性:指计算机计算机嵌入到对象系统中,且满足对象系统的环境要求。
- 专用性:指软、硬件的裁剪性,满足对象要求的最小软、硬件配置等。
- 计算机系统:指嵌入式系统必须是一个能满足对象系统控制要求的计算机系统。
嵌入式系统特点:
- 系统专用性强: 针对具体应用的专门系统。
- 系统实时性强: 嵌入式系统中有相当一部分系统要求对外来事件在限定的时间内及时做出响应,具有实时性。
- 软、硬件依赖性强: 嵌入式系统的专用性决定了其软、硬件之间具有很强的互相依赖性。
- 处理器专用:嵌入式系统的处理器通常具有功耗低、体积小、集成度高等优点,能够把许多在通用计算机上需要由板卡完成的任务和功能集成到芯片内部,从而有利于嵌入式系统的小型化和移动能力的增强。
- 多种技术紧密结合
- 系统透明性
- 系统资源受限: 其存储容量、输入/输出设备的数量和处理器的处理能力都比较有限。
嵌入式系统的组成
嵌入式系统一般都由软件和硬件两个部分组成,其中嵌入式处理器、存储器和外部设备构成整个系统的硬件基础。嵌入式系统的软件部分可以分为 3 个层次:系统软件、应用支撑软件和应用软件。
硬件架构
1.嵌入式处理器
- 嵌入式微处理器(EMPU):由通用计算机中的 CPU 演变而来
- 嵌入式微控制器(单片机):整个计算机系统都集成到一块芯片中
- 嵌入式数字信号处理器:专门用于信号处理的处理器,DSP 芯片内部采用程序和数据分开的哈佛结构
- 嵌入式片上系统:在一块芯片上集成很多功能模块的复杂系统,如微处理器内核、USB、Bluetooth 等。
2.总线
嵌入式系统的总线一般分为片内总线和片外总线。片内总线是指嵌入式微处理器内的CPU 与片内其他部件连接的总线;片外总线是指总线控制器集成在微处理器内部或外部芯片上的用于连接外部设备的总线。
3.存储器
嵌入式系统的存储器主要包括主存和外存,主要分为三种:高速缓存(Cache)、片内主存和片外主存以及外存(Flash 存储器)。
4.I/O 设备与接口
软件架构
(1)操作系统:只负责进程的调度、进程间的通信、内存分配及异常与中断管理最基本的任务,其他大部分的功能则由支撑软件完成。
(2)应用支撑软件:一般用于一些浅度嵌入的系统中,如智能手机、个人数字助理等。
(3)应用软件:系统整体功能的集中体现。
嵌入式开发平台与调试环境
嵌入式系统软件开发平台
1.交叉平台开发环境(CPD):软件在一个通用的平台上开发,而在另一个嵌入式目标平台上运行。
这个用于开发嵌入式软件的通用平台通常叫作宿主机系统,被开发的嵌入式系统称为目标机系统。而当软件执行环境和开发环境一致时的开发过程则称为本地开发(ND)。
2.交叉编译环境:宿主机提供的基本开发工具是交叉编译器、交叉链接器和源代码调试器。
嵌入式开发调试
- 直接调试法:将目标代码下载到目标机上,让其执行,通过观察指示灯来判断程序的运行状态。
- 调试监控法:(插桩法)
- 在线仿真法:ICE 是一种用于替代目标机上 CPU 的设备。对目标机来说,在线仿真器就相当于它的CPU
- 片上调试法:(ICD)是 CPU 芯片内部的一种用于支持调试的功能模块。
- 模拟器法:运行于宿主机上的一个纯软件工具,它通过模拟目标机的指令系统或目标机操作系统的系统调用来达到在宿主机上运行和调试嵌入式应用程序的目的。
嵌入式数据库管理系统
嵌入式数据库管理系统就是在嵌入式设备上使用的数据库管理系统。
嵌入式数据库也称为移动数据库或嵌入式移动数据库。其作用主要是解决移动计算环境下数据的管理问题,移动数据库是移动计算环境中的分布式数据库。
使用环境
嵌入式数据库系统是一个包含嵌入式数据库管理系统在内的跨越移动通信设备、工作站或台式机及数据服务器的综合系统,使用环境的特点:
(1)设备随时移动性
(2)网络频繁断接
(3)网络条件多样化
(4)通信能力不对称
系统组成
一个完整的嵌入式数据库管理系统(广义)由若干子系统组成,包括主数据库管理系统、同步服务器、嵌入式数据库管理系统、连接网络等几个子系统
嵌入式系统的实时概念
(1)逻辑(或功能)正确:是指系统对外部事件的处理能够产生正确的结果。
(2)时间正确:是指系统对外部事件的处理必须在预定的周期内完成。
(3)死线(Deadline)或时限、死限、截止时间:是指系统必须对外部事件进行处理的最迟时间界限,错过此界限可能产生严重的后果。
(4)实时系统,是指功能正确和时间正确同时满足的系统,二者同等重要。
根据实时性的强弱,即系统必须对外部事件做出响应的时间长短,将实时系统分为:
- 强实时系统:通常在毫秒或微秒级。
- 一般实时系统: 通常在秒级。
- 弱实时系统:其系统响应时间随系统负载的轻重而变化。
根据对错失时限的容忍程度或后果的严重性,可以将实时系统分为软实时系统和硬实时系统。
- 硬实时系统:指系统必须满足其灵活性接近零时限要求的实时系统。
- 软实时系统:指必须满足时限的要求,但是有一定灵活性的实时系统。
嵌入式操作系统的特点
- 微型化
- 代码质量高
- 专业化
- 实时性强
- 可裁减、可配置
实时嵌入式操作系统
一个嵌入式系统的实时性能是由硬件、实时操作系统及应用程序共同决定的,其中,嵌入式实时操作系统内核的性能起着关键的作用。通常,有两种类型的实时嵌入式操作系统:实时内核型的 RTEOS 与通用型的 RTEOS。
- 实时内核型的 RTEOS:这类操作系统,驱动程序传统嵌在内核之中,应用程序和中间件实现在标准的应用程序接口之上。
- 实时通用型的 RTEOS:这类操作系统,驱动程序在内核之上实现,并且仅包含少数必要的驱动程序,应用程序和中间件可以直接在驱动程序之上实现,而不必在标准的 APIs 实现。
嵌入式实时操作系统的关键特性:
- 满足嵌入式应用的高可靠性;
- 满足应用需要的可裁减能力;
- 内存需求少;
- 运行的可预测性;
- 采用实时调度策略;
- 系统的规模紧凑;
- 支持从 ROM 或 RAM 上引导和运行;
- 对不同的硬件平台均有更好的可移植性。
嵌入式实时操作系统的实时性能指标在评估实时操作系统设计性能时,时间性能指标是最重要的一个性能指标,常用的时间性能指标主要有如下几个:
- 任务切换时间:指 CPU 控制权由运行态的任务转移给另外一个就绪任务所需要的时间
- 中断处理相关的时间指标:
- 中断延迟时间,是指从中断发生到系统获知中断的时间;
- 中断处理执行时间,该时间由具体的应用决定;
- 中断响应时间,是指从中断发生到开始执行用户中断服务例程的时间;
- 中断恢复时间,是指用户中断服务例程结束回到被中断的代码之间的时间;
- 最大关中断时间,包含两个方面:一是内核最大关中断时间,即内核在执行临界区代码时关中断;二是应用关中断时间,关中断最大时间是这两种关中断时间的最大值;
- 任务响应时间:是指从任务对应的中断产生到该任务真正开始运行的时间;
- 系统响应时间:指系统在发出处理请求到系统做出应答的时间,即调度延迟