NJUSE-嵌入式期末复习

已经放弃整理。仅标题有一定参考价值。

2024-2025 第一学期嵌入式期末复习

1. 嵌入式系统概述

定义

  • IEEE定义:用于控制、监控或者辅助操作机器和设备的装置
  • 国内定义:嵌入式系统是以应用为中心以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专业计算机系统

术语

  1. 泛在计算(ubiquitous computing) 预言任何时间、任何地点的计算
  2. 不可见计算机(invisible computer) 预言计算机将被集成到物件中
  3. 普适计算(pervasive computing) 计算设备对日常生活的渗透
  4. 环境智能(ambient intelligence) 主要强调了未来家庭或智能楼宇中的通信技术

组成

  1. 嵌入式系统一般由嵌入式硬件和软件组成
  2. 硬件以微处理器为核心集成存储器和系统专用的输入/输出设备
  3. 软件包括:初始化代码及驱动、嵌入式操作系统和应用程序等,这些软件有机地结合在 一起,形成系统特定的一体化软件。

特点

  1. 形式多样,面向特定应用
  2. 得到多种类型处理器和处理器体系结构的支持
  3. 极其关注成本
  4. 有实时性和可靠性要求
  5. 使用的操作系统使用多种处理器、可裁剪、轻量型、实时可靠、可固化的嵌入式操作系统
  6. 需要专门工具和特殊方法

特征

  1. 嵌入式系统通常是形式多样、面向特定应用的
  2. 嵌入式系统得到多种类型的处理器和处理器体系结构的支持
  3. 嵌入式系统通常极其关注成本
  4. 嵌入式系统有实时性和可靠性的要求
  5. 嵌入式系统使用的操作系统一般是适应多种处理器、可剪裁、轻量型、实时可靠、可固 化的嵌入式操作系统
  6. 嵌入式系统开发需要专门工具和特殊方法

分类

  • 按处理器位数:4位、8位、16位、32位、64位
  • 按应用:信息家电、汽车电子、通信、移动终端、工业控制
  • 按速度:强实时系统、一般实时系统、弱实时系统
  • 按确定性:硬实时系统、软实时系统
  • 按复杂程度:循环轮询系统、有限状态机系统、前后台机系统、单处理器多任务系统、多处理器多任务系统

典型应用

工控设备、军用电子设备、航空航天、汽车电子、信息家电、通信、智能玩具、可穿戴设备。

发展趋势

2. 嵌入式微处理器

分类

按结构区分,有冯诺依曼结构和哈佛结构。

  • 冯诺依曼结构:数据和程序放在同一个存储单元,统一编制,指令和数据通过同一个总线访问
  • 哈佛结构:程序和数据存储在不同的空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编制、独立访问。与之相对应的是系统中设置的两条总线(程序总线和数据总线),从而使数据的吞吐量提高了一倍(更大存储代管和更大可预测带宽)
  • 哈佛结构不能使用自修改代码

按指令集区分,有 CISC 和 RISC

  • CISC:复杂指令集(许多地址格式,许多操作)
  • RISC:精简指令集(流水型指令)
  • RISC机器用来减少指令周期的一种技术,可提高处理器和总线使用率
CISCRISC
价格由硬件完成部分软件功能,硬件复杂性增加,芯片成本高由软件完成部分硬件功能,软件复杂性增加,芯片成本低
性能减少代码尺寸,增加指令的执行周期数使用流水线降低指令的执行周期数,增加代码尺寸
指令集大量的混杂指令集,有简单快速的指令,也有复杂多周期指令,符合HLL简单的单周期指令,在汇编指令方面有相应的SISC伪代码指令
高级语言支持硬件完成软件完成
寻址模式复杂的寻址模式,支持内存到内存寻址简单的寻址模式,仅允许LOAD和STORE指令存取内存,其他所有的操作都基于寄存器到寄存器
寄存器数目寄存器较少寄存器较多

特点

流水线清空

分支预测技术

设备分类

根据能力与性能分类

3. 存储器架构

复杂

易失性存储器

  • RAM RAM也称随机存储器,那么随机是什么意思?所谓随机,指的是当存储器中的数据被读取或写入时,所需要的时间与这段信息所在的位置无关(任何位置读写速度一样)。
  • DRAM DRAM(Dynamic Random Access Memory,动态随机存储器)是最为常见的系统内存。我们使用的电脑和手机的运行内存都是DRAM。DRAM使用电容存储,DRAM 只能将数据保持很短的时间。
  • SRAM SRAM(Static Random Access Memory,静态随机存储器),它是一种具有静止存取功能的内存,其内部机构比DRAM复杂,可以做到不刷新电路即能保存它内部存储的数据。
  • SDRAM SDRAM:(Synchronous Dynamic Random Access Memory,同步动态随机存取存储器),为DRAM的一种,同步是指Memory工作需要同步时钟,内部命令的发送与数据的传输都以时钟为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是由指定地址进行数据读写。
  • 还有DDR SDRAM、DDR2 SDRAM、DDR3SDRAM不做过多赘述,感兴趣可以自己百度。

非易失性存储器

  • ROM

只读存储器(Read-Only Memory)是一种只能读取资bai料的存储器。在制造过程中,将资料以一特制光罩(mask)烧录于线路中,其资料内容在写入后就不能更改,所以有时又称为“光罩式只读内存”(mask ROM)。

  • PROM

可编程程序只读存储器(Programmable ROM,PROM)之内部有行列式的熔丝,是需要利用电流将其烧断,写入所需的资料,但仅能写录一次。 PROM在出厂时,存储的内容全为1,用户可以根据需要将其中的某些单元写入数据0

  • EPROM

可抹除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)可利用高电压将资料编程写入,抹除时将线路曝光于紫外线下,则资料可被清空,并且可重复使用。通常在封装外壳上会预留一个石英透明窗以方便曝光。

  • OTPROM

一次编程只读存储器(One Time Programmable Read Only Memory,OTPROM)之写入原理同EPROM,但是为了节省成本,编程写入之后就不再抹除,因此不设置透明窗。

  • E2PROM

电子式可抹除可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)之运作原理类似EPROM,但是抹除的方式是使用高电场来完成,因此不需要透明窗

  • 快闪存储器

快闪存储器(Flash memory)的每一个记忆胞都具有一个“控制闸”与“浮动闸”,利用高电场改变浮动闸的临限电压即可进行编程动作。

在嵌入式系统中的应用

固件、可固化(ROMable)

存储器系统的层次结构

Flash 存储器访问时间难以预测

4. 基于总线的计算机系统

IO设备分类

  • 单总线结构

使用一条单一的系统总线来链接CPU、主存和IO设备。总线只能分时工作,是信息的传送的吞 吐量受到限制

  • 双总线结构

在CPU和主存之间专门设置了一组高速的存储总线,使CPU可通过专用总线与存储器交换信息,并减轻了系统总线的负担。主存仍可通过系统总线与外设之间实现DMA操作,而不经过CPU

  • 多总线结构

在双总线系统的基础上增加IO总线,其中系统总线使CPU、主存和通道(IOP)之间进行数据传送的公共通路,而IO是多个外部设备与通道之间进行数据传送的公共通路。通道实际上是一台具有特殊功能的处理器,他分担了一部分CPU的功能,以实现对外设的统一管理及外设与主存之间的数据传送。

可编程I/O

在通信过程中三种方法来选择控制寄存器和数据缓存:

  • Independent I/O port
  • memory-mapped I/O
  • Hybrid solution. the hybrid model include memory-mapped I/O data buffers and separate I/O ports for the control registers.

中断

可重入

竞态条件

总线,分类,常用总线

5.嵌⼊式软件系统

嵌入式软件与桌面软件的对比

  • 独特的实用性

嵌入式软件是为嵌入式系统服务的,这就要求它与外部硬件和设备联系紧密。嵌入式系统以应用为中心,嵌入式软件是应用系统,根据应用需求定向开发,面向产业、面向市场,需要特定的行业经验。每种嵌入式软件都有自己独特的应用环境和实用价值

  • 灵活的适用性

嵌入式软件通常可以认为是一种模块化软件,它应该能非常方便灵活地运用到各种嵌入式系统中,而不能破坏或更改原有的系统特性和功能。嵌入式软件要使用灵活,应尽量优化配置,减小对系统的整体继承性,升级更换灵活方便

  • 程序代码精简

由于嵌入式系统本身的应用有小体积、小存储空间、低成本、低功耗等要求,嵌入式软件和大型机上的软件相比,具有代码精简、执行效率高等特点

  • 可靠性、稳定性高

嵌入式系统应用要求一般较为苛刻,特别是在涉及安全相关的领域,如汽车电子、工业控制、航空航天等,这些领域的嵌入式系统不仅要求硬件可靠,还对嵌入式软件提出了更高的要求。嵌入式软件需要运行可靠、稳定,具有错误处理及故障恢复等功能

软件主导硬件、软硬件权衡

嵌入式软件系统层次结构

  • 驱动层

    • 板级初始化程序

    • 与系统启动相关的驱动

    • 与应用软件相关的驱动

    • 与应用软件相关的驱动不一定需要与操作系统连接,这些驱动的设计和开发由应用决定。

  • 操作系统层

    • 操作系统层包括嵌入式内核、嵌入式TCP/IP网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理等部分

    • 其中嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系统的需要来确定

  • 中间件层

    • 目前在一些复杂的嵌入式系统中也开始采用中间件技术,主要包括嵌入式CORBA、嵌入式Java、嵌入式DCOM和面向应用领域的中间件软件

    • 如基于嵌入式CORBA的应用于软件无线电台的应用中间件SCA(Software Core Architecture)等

  • 应用层

    • 应用层软件主要由多个相对独立的应用任务组成

    • 每个应用任务完成特定的工作,如I/O任务、计算的任务、通信任务等,由操作系统调度各个任务的运行

为何要为实时系统建立模型

实时系统两种基本的程序模型、优缺点

传统/现代嵌入式软件开发

嵌入式软件架构模式

实时嵌入式软件常用的设计模式

数据获取/存储相关的中断设计模式

RTOS应用程序中的同步(资源、活动),不同方式/设计模式

6. 嵌入式操作系统

6.1

实时系统,实时操作系统,术语,分类

RTOS and GPOS

RTOS关键要求

为何使用RTOS

RTOS类别,对于标准操作系统的实时扩展

RTOS内核系统服务

物联网操作系统,要求,通用架构,分类

6.2 实时调度

实时系统所需的调度策略

调度程序及分类

任务模型

与任务执行相关的时间,时限约束

调度程序的度量

6.3 RMS, EDF 及改进

6.4 调度异常

优先级反转

优先级继承

优先级天花板

6.5 实时调度实例

嵌入式实时内核(结合ucOS-II和freertos

实时任务调度

7. 同步与通信、存储管理

实时系统任务间的同步与通信常用的机制

碎片化

动态内存管理缺陷

内存管理方法

freertos内存管理

8. bsp, bootloader

嵌入式系统的启动过程

bsp,特点

与bios区别

引导模式

bootloader及其启动过程

9. 建模

建模、设计、分析

模型、特征

常见的建模技术

基于模型的设计及例子

嵌入式系统模型的用途

V图描述一个嵌入式建模开发周期

建模语言

何时为嵌入式系统建立模型

建模实例-AEB(意义难点功能流程策略)

10. FSM

反应式系统,特征、示例

FSM定义,示例,分类

FSM实现 -

常规的FSM不足

层次FSM,定义,术语,示例

行为树,优缺点

11. 嵌入式系统设计方法

嵌入式系统设计所面临的挑战

设计目标

传统的嵌入式系统设计过程

软硬件划分

软硬件协同设计 –

原型 –

设计实例-

12. IoT

概述

定义,术语

IOT特征

IOT的优势和不足

应用

趋势

IoT 技术

物联网体系结构

IoT多样化的技术环境

物联网软件、硬件、连接 (主流的几个)

进步最快的技术

IoT面临的挑战

13. IoT 平台

概念,中间件,主要任务

功能领域

示例

IOT平台关键技术:

设备管理,主要功能,物模型、设备影子、数字孪生(概念、价值、相关概念异同、应用)

边缘计算:基于云的IOT解决方案不足,边缘/边缘计算概念,云/边对比,优势,用途

通信协议:主流技术,应用层协议,多协议接入方案

模型压缩技术

面向物联网端的边缘计算开源平台

14. Arduino

为何流行

15. 传感器

静态特性(温漂、零漂)

误差

标定

16. ROS

相关概念

为何使用

17. PID 算法及应用

反馈控制

开环控制

闭环控制

PID算法