一、嵌入式系统概述
嵌入式系统的特点是集成度高、体积小、成本低、省电,它的功能可以使不同用户的要求得以满足。因而,嵌入式技术在社会的各个方面得到了十分广泛的应用。
1.1、嵌入式系统的概念
嵌入式操作系统:Embedded Operation System, EOS
IEEE:Institute of Electrical and Electronics Engineers 电气电子工程师协会。
IEEE定义嵌入式系统是:用于控制、监视或者辅助操作机器和设备的装置。
国内定义:一个具有特定功能或用途的计算机软、硬件集合体。即嵌入式系统就是嵌入对象体系中的专用计算机系统。它具有三要素:嵌入型、专用线和计算机。
嵌入式系统的特点:
- 可裁剪性。支持开放性和可伸缩性的体系结构
- 强实时性。可用于各种设备控制中
- 统一的接口。提供设备统一的驱动接口
- 操作方便、简单,提供友好的图形 GUI 和图形界面,追求易学易用。
- 提供强大的网络功能,支持 TCP/IP 协议及其他协议,提供 TCP/UDP/IP/PPP 协议支持及统一的 MAC 访问层接口,为各种移动计算设备预留接口
- 强稳定性,弱交互性。EOS 开始运行是不需要用户过多干预的,要求负责系统管理的 EOS 具有较强的稳定性。EOS 的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。
- 固化代码。EOS 和 应用软件被固化在嵌入式系统计算机的 ROM 中。
- 具有更好的硬件适应性,即良好的移植性。
- 嵌入式系统和具体应用有机地结合在一起,具有较长的生命周期。
1.2、嵌入式系统的发展
真正意义的嵌入式系统是在 1970 年出现,发展至今已有 50 多年的历史,大致经历四个阶段:
- 第一阶段:以单芯片为核心的可编程控制器形式的系统。
应用于一些专业性强的工控系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制。
主要特点是:系统结构和功能单一,处理效率较低,存储容量较小,几乎没有用户接口。以前在国内工业领域应用较为普遍。 - 第二阶段:以嵌入式 CPU 为基础、以简单操作系统为核心的嵌入式系统。
其主要特点是:CPU 种类繁多,通用性比较弱;系统开销小,效率高;操作系统达到一定的兼容性和扩展性;应用软件较专业化,用户界面不够友好。 - 第三阶段:以嵌入式操作系统为标志的嵌入式系统
其主要特点是:嵌入式操作系统内核小、效率高,能运行于各种不同类型的微处理器上,兼容性好;具备文件和目录管理、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口API,开发应用程序较简单。 - 第四阶段:以互联网为标志的嵌入式系统。
其主要特点:随着互联网的发展以及其技术与信息家电、工业控制技术结合日益密切,嵌入式设备与互联网的结合将代表嵌入式系统的未来。
1.3、嵌入式系统的分类
嵌入式系统不等同于嵌入式处理器,只有将嵌入式处理器构成一个计算机系统并作为嵌入式应用时,系统才可称为嵌入式系统。因此嵌入式系统作为一个专用计算机系统,要不断地向计算机应用系统发展。嵌入式系统可进行如下分类:
1.3.1 按硬件分类:根据系统组成的硬件可分为
- 芯片级嵌入式系统:
在处理器芯片中含有程序或算法。 - 模块级嵌入式系统:
在系统中含有某个核心模块。 - 系统级嵌入式系统:
包含完整系统并有嵌入软件的全部内容。
1.3.2 按实时性分类:分为实时系统和非实时系统
- 实时系统:
实时系统是一种能够在严格的时间周期内,进行处理和响应的计算机系统。 实时系统主要分为硬实时系统和软实时系统。 - 非实时系统:
非实时系统并不要求在特定的时间内响应外部事件。
二、嵌入式系统组成
一个嵌入式系统装置通常由嵌入式计算机和执行装置组成(被控对象)。执行装置可以接收嵌入式计算机系统发出的控制指令,执行所规定的操作或任务。

2.1 嵌入式系统硬件组成
嵌入式处理器的体系结构可以采用 冯·诺依曼 体系或 哈弗 体系结构;
指令系统可以选用精简指令集计算机系统(Reduced Instruction Set Computer , RISC)和复杂指令集计算系统 CISC (Complex Instrution Set Computer)。
2.1.1 嵌入式微处理器
嵌入式微处理器是嵌入式系统硬件部分的核心处理单元。发展有 3 种趋势:经济性、微型性和智能型。
- 专用性:嵌入式微处理器通常针对特定功能进行优化
- 低功耗:许多嵌入式微处理器在较低的功耗下运行,以延长电池寿命或减少散热。
- 小尺寸:微处理器的尺寸通常较小。
- 实时性:实时性能非常重要。
- 集成度高:现代嵌入式微处理器往往集成了多种功能,减少外部组件的数量。嵌入式微处理器包含的类型如下图所示。

|------|-------------------------------|------------|
| 缩写 | 英文全称 | 词义 |
| IPC | Industrial Personal Computer | 工业 PC |
| MPU | Micro-Processor Unit | 微处理器单元 |
| MCU | Micro-Controller Unit | 微控制单元(单片机) |
| DSP | Digital Signal Processor | 数字信号处理器 |
| SoC | System on a Chip | 片上系统 |
| SoPC | System on a Programmable Chip | 片上可编程系统 |
2.1.2 存储器
嵌入式系统用存储器来存放和执行代码。存储器包含 Cache、主存储器和辅助存储器。
- Cache:容量小、速度快的存储器阵列,位于嵌入式处理器内核与主存储器之间。
在嵌入式系统中,Cache 全部都集成在嵌入式处理器内,可分为数据 Cache 、指令 Cache或混合 Cache。 - 主存储器:嵌入式处理器能直接访问的寄存器,用来存放系统和用户的程序及数据。位于微处理器的内部或外部,其容量为 256K ~ 1GB。有 ROM 与 RAM 两类。(内存条)
- 辅助存储器(外存储器):用来存放大数量量的程序代码或信息,用于长期保存用户的信息。有硬盘、NAND Flash、CF 卡、MMC 和 SD 卡等。
2.1.3 通用设备接口的 I/O 接口
- 嵌入式系统和外界交互需要一定形式的通用设备接口,通过与片外其他设备的或传感器的连接,实现微处理器与外部设备的输入/输出。
- 每个外设通常都只有单一的功能
- 可以在芯片外,也可以内置芯片中
2.2 嵌入式系统软件组成
2.2.1 中间层
中间层为硬件抽象层(Hardware Abstract Layer, HAL)或板级支持包(Board Support Package, BSP),连接硬件层与软件层。降低开发复杂性,实现软件的灵活性与可移植性。
通过 BSP 层提供的接口进行开发,分离上层软件与底层硬件,与硬件无关。 底层硬件的初始化,数据输入/输出操作,硬件设备的配置和管理。 通过有效的中间层设计,上层软件开发人员无需了解底层硬件细节,系统可以实现更高的灵活性和可扩展性。
2.2.2 系统软件层
系统软件层:
- 实时多任务操作系统(Real-time Operation System,RTOS)
RTOS是嵌入式应用软件的基础和开发平台 - 文件系统
- 图形用户接口(Graphic User Interface,GUI)
- 网络系统及通用组件模块
2.2.3 应用软件层
嵌入式应用软件开发,是应用软件开发的一种。
- 在嵌入式操作系统平台上,写各种应用程序,实现各种功能
- 操作系统控制着应用程序编程及其与硬件的交互作用
- 应用程序控制着系统的运作和行为
三、嵌入式系统应用及发展趋势
3.1 嵌入式系统应用
- 工业设备。
- 信息家电和安防
- 消费类电子
- 交通管理和环境监测
- 汽车电子
- 军事国防武器
- 社会发展方面
3.2 嵌入式系统的发展
随着科技的不断进步和社会的不断发展,嵌入式系统也在不断发展。下面是未来嵌入式系统发展方向
- 定制化
- 集成化
- 网络化
- 智能化
3.3 嵌入式人工智能的发展
- 人工智能技术在各个领域得到了广泛的应用和发展,越来越多的嵌入式系统要求具备"人工智能" (Embedded Artificial Intelligence,EAI)。
- 嵌入式人工智能是将人工智能技术应用于嵌入式系统中的一种方法,其目标是在嵌入式系统中实现智能化,并在设备上进行实时的决策和响应。
- 嵌入式人工智能系统主要由模型、数据和算力三个模块组成。
四、嵌入式系统开发流程
4.1 嵌入式硬件开发流程
- 项目需求和计划阶段
- 原型阶段
- 开发阶段
- 验证阶段
4.2 嵌入式软件开发流程

4.2.1 交叉编译
使用交叉编译工具链,将源代码从宿主机上编译成,目标机能够执行的二进制代码。交叉编译器能够将针对宿主机的代码,转换为在目标硬件上可执行的格式。
4.2.2 交叉调试
在嵌入式软件开发中,调试时采用的是在宿主机和目标机之间进行的交叉调试.。调试流程
- 在宿主机上启动调试器,配置与目标机的连接
- 将编译生成的二进制文件下载到目标机中
- 启动目标机的程序,并在宿主机上调试器中设置断点、监视变量、检查内存状态等。
调试工具和环境
- GDB (GNU Debugger):一种常见的开源调试工具,支持交叉调试。
- IDE:许多集成开发环境(如 Eclipse、Keil、IAR Embedded Workbench 等)
- 专用调试硬件:如 JTAG、SWD(Serial Wire Debug)接口等,能够更高效地进行调试。