章节概述
嵌入式系统是一种以应用为中心、以计算机技术为基础的专用计算机系统,其核心三要素为"嵌入性"、"专用性"与"计算机系统"。嵌入式系统数量上远超通用计算机系统,广泛应用于工业控制、通信、家电、消费电子、交通、医疗等领域。典型的嵌入式系统由嵌入式硬件平台(嵌入式处理器、存储器、外部设备、总线与接口)、嵌入式操作系统、支撑软件和应用软件组成。
与通用计算机相比,嵌入式系统具有鲜明的特点:系统专用性强、实时性强、软硬件依赖性强、处理器专用、多种技术紧密结合、系统透明性、资源受限。设计者在有限的存储容量、处理能力、功耗、成本和体积约束下,需要通过软、硬件协同设计来满足功能和性能指标,并保证系统的可靠性与实时性。
本章内容涵盖七个方面:嵌入式系统概论与组成(硬件架构/软件架构)、嵌入式开发平台与调试环境(交叉编译与多种调试方法)、嵌入式网络系统(现场总线/家庭信息网/无线通信/嵌入式Internet)、嵌入式数据库管理系统、实时系统与嵌入式操作系统(实时概念/OS特点/性能指标)、嵌入式系统开发设计(设计流程/核心技术/软件设计模型/需求分析/系统设计/集成测试),构成从概念到工程实践的完整知识体系。
知识结构框架
- 12.1 嵌入式系统概论 — 定义(三要素:嵌入性/专用性/计算机系统)、七大特点(专用性/实时性/软硬件依赖/处理器专用/多技术融合/透明性/资源受限)
- 12.2 嵌入式系统的组成 — 硬件架构(嵌入式处理器EMPU/EMCU/EDSP/SoC、总线AMBA/PCI/Avalon、存储器Cache/主存/外存、I/O接口RS-232/USB/IEEE1394)与软件架构(操作系统/应用支撑软件/应用软件三层)
- 12.3 嵌入式开发平台与调试环境 — 交叉平台开发环境(宿主机/目标机)、交叉编译环境(COFF/ELF目标文件格式)、五种调试方法(直接测试法/调试监控法即插桩法/在线仿真法ICE/片上调试法ICD/模拟器法)
- 12.4 嵌入式网络系统 — 现场总线网(FCS控制系统)、家庭信息网、无线数据通信网(短程无线/无线Internet)、嵌入式Internet(直接接入/网关接入、嵌入式TCP/IP协议栈特点)
- 12.5 嵌入式数据库管理系统 — 使用环境特点(移动性/网络频繁断接/网络多样化/通信不对称)、系统组成(嵌入式DBMS/同步服务器/数据服务器/连接网络)、关键技术(数据一致性/事务处理/数据安全性)、移动DBMS八大特性
- 12.6 实时系统与嵌入式操作系统 — 实时概念(强/一般/弱实时、硬/软实时)、嵌入式OS特点与分类(商业型/免费型、实时/非实时)、实时嵌入式OS关键特性与性能指标(任务切换时间/中断相关时间/系统响应时间)、主流嵌入式操作系统
- 12.7 嵌入式系统开发设计 — 设计特点与技术指标(NRE成本/单位成本/大小/性能/功耗/灵活性等)、设计挑战、开发模型(瀑布/螺旋/逐步求精/层次)、设计方法、三大核心技术(处理器技术/IC技术/设计验证技术)、软件设计模型(状态机/数据流/并发进程/面向对象)、需求分析(UML规格说明)、系统设计(架构/硬件/软件子系统)、系统集成与测试
核心概念
嵌入式系统定义
以应用为中心、以计算机技术为基础,集可配置可裁减的软硬件于一体的专用计算机系统。三要素:嵌入性(嵌入对象系统,满足环境要求)、专用性(软硬件裁剪至最小配置)、计算机系统(满足对象系统控制要求)。
实时系统(硬实时/软实时)
正确性依赖逻辑结果和产生结果的时间。按响应时间分强实时(毫秒/微秒级)、一般实时(秒级)、弱实时。按错失时限后果分硬实时(错失即灾难性后果)和软实时(有一定灵活性,错失不会导致系统失败)。
嵌入式处理器分类
EMPU(嵌入式微处理器,由通用CPU演变,单板计算机)、EMCU(嵌入式微控制器/单片机,单片化,占市场约70%)、EDSP(数字信号处理器,哈佛结构,硬件乘法器,用于信号处理)、SoC(片上系统,多功能模块集成于单芯片)。
嵌入式操作系统
运行在嵌入式系统上的OS,特点:微型化、代码质量高、专业化、实时性强、可裁减可配置。分类:商业型(VxWorks、pSOS、Palm OS)vs 免费型(嵌入式Linux、μC/OS);实时型 vs 非实时型。采用微内核结构,仅负责调度、通信、内存分配、异常中断管理。
交叉开发环境
嵌入式软件开发采用交叉平台开发(CPD):软件在通用平台(宿主机)上开发,在嵌入式平台(目标机)上运行。三部分组成:交叉开发工具、目标机上的可裁剪RTOS、宿主机与目标机间的通信连接(以太网/串口/ICE/ROM仿真器)。
调试方法
五种调试方法:直接测试法(最原始,观察指示灯)、调试监控法/插桩法(目标机加桩,与宿主机通信)、在线仿真法ICE(替代CPU,功能强但昂贵)、片上调试法ICD(BDM/JTAG,不占资源,环境一致)、模拟器法(纯软件,适合非实时应用早期开发)。
嵌入式总线与接口
片内总线与片外总线。AMBA(ARM规范,含AHB高性能/ASB系统/APB外设三种总线)、PCI/CPCI(高性能局部总线,欧洲卡结构高可靠)、Avalon(Altera SOPC用)。接口:RS-232串行、USB即插即用、IEEE1394火线(无需主控制器,点对点)。
嵌入式数据库(移动数据库)
运行在嵌入式/移动设备上的DBMS。特点:设备移动性、网络频繁断接、网络条件多样化、通信能力不对称。关键问题:数据一致性(乐观复制方法)、高效事务处理、数据安全性。特性含微核结构、SQL支持、数据同步、零管理等。
实时性能指标
核心时间指标:任务切换时间(保存恢复上下文+调度时间)、中断延迟时间(中断发生到系统获知)、中断响应时间(中断发生到执行用户ISR)、中断恢复时间、最大关中断时间(内核+应用)、任务响应时间、系统响应时间(调度延迟)。
软件设计模型
嵌入式常用计算模型:状态机模型FSM(六元组,适合控制系统,可扩展为FSMD/HCFSM)、数据流模型(结点=变换,边=数据流,令牌触发,适合数据处理)、并发进程模型(最广泛,RTOS多任务实现)、面向对象模型(隐式/显式并发)。
关键公式与规则
本章无数学公式,但包含以下关键定义、规则和性能指标计算关系:
有限状态机FSM定义
实时系统正确性条件
可抢占实时内核性能指标计算关系
嵌入式系统设计指标体系
三大核心技术分类
考试要点
- 嵌入式系统三要素:嵌入性(满足对象系统环境要求)、专用性(软硬件裁剪至最小配置)、计算机系统(满足控制要求)——必考概念辨析。
- 嵌入式系统七大特点:专用性强、实时性强、软硬件依赖性强、处理器专用、多种技术紧密结合、系统透明性、资源受限——常以多选题出现。
- 嵌入式处理器四分类:EMPU(微处理器,通用CPU演变)、EMCU(微控制器/单片机,占市场约70%)、EDSP(DSP,哈佛结构+硬件乘法器)、SoC(片上系统,多功能集成)——注意区分各自特点和应用场景。
- 硬实时 vs 软实时:硬实时错失时限产生灾难性后果且结果零级无用;软实时有灵活性,错失不导致系统失败——高频辨析题。
- 嵌入式OS五大特点:微型化、代码质量高、专业化、实时性强、可裁减可配置——对比通用OS记忆。
- 常见RTOS:商业型(VxWorks、pSOS、Palm OS)、免费型(嵌入式Linux、μC/OS);实时型 vs 非实时型分类。
- 交叉开发环境:宿主机编译、目标机运行;三部分(交叉开发工具、目标机RTOS、通信连接);目标文件格式COFF和ELF——必考概念。
- 五种调试方法:直接测试法、调试监控法(插桩法,需开发桩且占用资源)、在线仿真法ICE(替代CPU,功能强但昂贵)、片上调试法ICD(BDM/JTAG,不占资源)、模拟器法(纯软件,适合非实时早期开发)——注意各方法优缺点对比。
- 实时性能指标:任务切换时间、中断延迟时间、中断响应时间、中断恢复时间、最大关中断时间、任务响应时间、系统响应时间——理解各指标定义及影响因素。
- AMBA总线三种:AHB(高性能,主模块发起)、ASB(逐步被AHB替代)、APB(低带宽外设,低功耗,唯一主模块APB桥,无仲裁器)。
- 嵌入式总线/接口区别:RS-232(串行,最高20kbps)、USB(即插即用,需主控制器)、IEEE1394(火线,无需主控制器,点对点,支持同步/异步)。
- 嵌入式数据库关键问题:数据一致性(乐观复制法)、高效事务处理、数据安全性(终端认证+通信加密+副本加密存储);移动DBMS特性(微核、SQL支持、数据同步、零管理)。
- 软件设计模型:FSM(控制为主系统)、数据流模型(数据处理,令牌触发)、并发进程模型(最广泛,RTOS多任务实现)、面向对象模型(隐式/显式并发)——注意各模型适用场景。
- 三大核心技术:处理器技术(通用/单用途/专用处理器)、IC技术(全定制VLSI/半定制ASIC/可编程ASIC)、设计验证技术——注意三者优缺点对比。
- 设计指标互相竞争:NRE成本、单位成本、大小、性能、功率、灵活性等指标间需要权衡——理解设计最佳化原则。
关键图示
图12-1 嵌入式系统的基本硬件架构
微处理器是整个嵌入式系统的核心,配合RAM/ROM/混合存储器及Flash、键盘、触摸屏、LCD等外部设备构成硬件基础。
图12-5 典型的交叉编译环境示例
交叉编译器根据目标机CPU类型将C/C++/Java源代码生成目标文件(COFF/ELF),经归档、链接后产生可执行映像,下载到目标机运行。
图12-10 中断处理相关时序图
展示中断延迟时间、中断处理执行时间、中断响应时间、中断恢复时间及最大关中断时间等实时性能指标的时间关系。
图12-11 嵌入式系统设计流程
展示软硬件协同设计流程:前端活动(规格说明与系统架构)同时考虑软硬件,中间阶段独立开发构件,后端进行系统集成与测试。