Skip to content

嵌入式微处理器体系结构

  • 冯·诺伊曼结构,即普林斯顿结构
    • 将程序指令存储器和数据存储器合并在一起的存储器结构,存储在同一个存储器的不同物理位置
    • 使用单一的地址及数据总线,指令和数据位宽相同
    • 先从存储器中取出指令解码,再取操作数执行运算
  • 哈佛结构
    • 程序和数据存储在不同的存储空间中,每个存储器独立编址、独立访问
    • 两套独立的地址总线和数据总线
    • 一个机器周期内同时获取指令字(来自程序存储器)和操作数

微处理器分类

  • 嵌入式微控制器 MCU:典型代表单片机。单片化、体积减小、功耗成本下降、可靠性高,是嵌入式系统工业的主流
  • 嵌入式微处理器 MPU:由 CPU 演变而来,具有 32 位及以上处理器,只保留和嵌入式应用紧密相关的功能硬件,以最低功耗和资源实现嵌入式应用的特殊要求
  • 嵌入式数字信号处理器 DSP:专门用于信号处理的处理器,在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和执行速度,采用哈佛结构,流水线处理,比大部分 CPU 要快
  • 嵌入式片上系统 SOC:追求产品系统最大包容的集成器件

多核处理器

  • 多核指多个微处理器内核,将多个微处理器封装集成在一个电路中,单枚芯片。降低了计算机系统的功耗和体积,由 OS 进行调度,多进程、多线程并发
  • 多核工作协调实现:
    • 对称多处理技术 SMP:多核完全相同,达到多倍处理性能
    • 非对称处理技术 AMP:内核彼此不同,各自处理执行特定功能,在软件协调下分担不同的计算任务
  • 多核 CPU 的调度
    • 全局队列调度:OS 维护全局的任务等待队列,核心利用率高
    • 局部队列调度:OS 为每个 CPU 内核维护一个局部的等待队列,无须在多个 CPU 之间切换

嵌入式软件

  • 应用在嵌入式计算机系统中的各种软件
  • 特点:规模较小、开发难度大、实时性和可靠性要求高、要求固化存储
  • 嵌入式软件分类
    • 系统软件:控制和管理嵌入式系统资源
    • 应用软件:上层软件
    • 支撑软件:辅助软件开发的工具软件
  • 板级支持包 BSP:接入主板硬件和操作系统中驱动层程序之间的一层
    • 特点:硬件相关性,操作系统相关性
    • 包含两方面内容:引导加载程序 BootLoader 和设备驱动程序
  • Bootloader 是嵌入式系统加电后运行的第一段软件代码,可以初始化硬件设备、建立内存空间映射,将软硬件设置到合适的状态,为进入 OS 内核做好准备。包含以下功能
    • 片级初始化:微处理器初始化,包括设置微处理器的核心寄存器和控制寄存器、微处理器的核心工作模式及其局部总线模式
    • 板级初始化:正确设置各种寄存器的内容完成微处理器外的其他硬件设备的初始化
    • 系统级初始化:加载内核,将 OS 和应用程序映像从 Flash 存储器复制到系统内存中
  • 设备驱动程序:必不可少,是一组库函数,用来对硬件进行初始化和管理,向上层软件提供良好的访问接口

嵌入式系统

  • 嵌入式系统的组成:嵌入式处理器、相关支撑硬件、嵌入式 OS、支撑软件及其应用软件
  • 具备以下特征
    • 专业性强
    • 技术融合
    • 软硬一体软件为主
    • 比通用计算机资源少
    • 程序代码固化在非易失存储器中
    • 需专门开发工具和环境
    • 体积小、价格低、工艺先进、性能价格比高、系统配置要求低、实时性强
    • 对安全性和可靠性要求高
  • 分类:嵌入式实时系统和嵌入式非实时系统,实时系统可分为强实时系统和弱实时系统。从安全性分为安全攸关系统和非安全攸关系统
  • 分层:
    • 硬件层
    • 抽象层
    • 操作系统层
    • 中间件层
    • 应用层
  • 嵌入式数据库系统 EDBMS
    • 使用环境特点:设备随时移动、网络频繁断接、网络条件多样化、通信能力不对称
    • 系统组成:主数据库、同步服务器、嵌入式数据库、连接网络
    • 需要解决数据的一致性、高效的事务处理和数据的安全性等问题
  • 嵌入式操作系统 EOS
    • 如下特点:微型化、代码质量高、专业化、实时性强、可裁剪和可配置

嵌入式实时操作系统

  • RTOS
  • 要求系统在投入运行前即具有确定性和可预测性
    • 可预测性:在运行之前,其功能、响应特征和执行结果是可预测的
    • 确定性:在给定初始状态和输入条件下,在确定时间内给出确定结果
  • 主要特点:及时响应、高可靠
  • 分为硬实时和软实时
  • 特征
    • 高精度计时系统
    • 多级中断机制
    • 实时调度机制

嵌入式软件设计

  • 典型交叉平台开发环境,包含
    • 强有力的交叉开发工具和实时程序
    • 高性能、可裁剪的实时操作系统
    • 连接宿主机和目标机的多种通信方式
  • 交叉编译:嵌入式软件开发采用的编译为交叉编译,即在一个平台上生成可以在另一个平台上执行的代码,需要借助宿主机编译出目标机的可执行代码
  • 交叉调试:在宿主机和目标机之间进行的交叉调试,调试器仍运行在宿主机的操作系统上,被调试的进程运行在基于特定硬件平台的嵌入式操作系统中

如有转载或 CV 请标注本站原文地址