文章目录

  • 嵌入式系统的组成
  • 硬件层
  • 中间层
  • 系统软件层
  • 应用层


嵌入式系统的组成


嵌入式系统可以分为:硬件层中间层系统软件层应用软件层 4 个层次。



硬件层


硬件层的结构如下:

嵌入式 软件 架构 嵌入式软件架构分层_嵌入式 软件 架构

嵌入式的硬件层主要分为三个部分:嵌入式微处理芯片嵌入式存储系统嵌入式 I/O 接口



嵌入式微处理芯片

主要包括:嵌入式微处理器、嵌入式微控制器、嵌入式数字信号处理器、嵌入式片上系统等;嵌入式微处理器与通用 CPU 最大的区别在于将 CPU 中需要需要外部设备来完成的任务集成到了芯片内部。

  • 嵌入式微处理器是嵌入式系统硬件层的核心部分;
  • 微处理器最大的特点是:集成化、体积小、功耗小、成本低、稳定性高;
  • 不同微处理器的体系结构不一样,主要分为冯诺依曼和哈弗结构;
  • 即使同一体系结构的微处理器使用的时钟频率、数据总线宽度、集成的外设和接口也会不一样;


嵌入式存储器系统

主要包括:程序存储器、数据存储器和参数存储器,主要以 Cache、ROM、RAM、Flash、SD卡等;

  • Cache,又叫高速缓冲存储器,是主存和处理器内核之间的一种容量小、速度快的存储器阵列,相当于在主存和内核之间构建了一条缓冲带。主要用于存放最近一段时间内核微处理器用到最多的指令和数据;Cache 分为指令 Cache 和 数据 Cache,微处理器尽量从 Cache 中读取指令和数据,减小在主存读取数据和指令的次数。Cache 存在提高了系统数据传输率和性能;
  • 主存储器:主要用来存放用户的程序和数据,是嵌入式微处理器能直接访问的存储器。主存储器可以位于处理器内部和外部,常用的ROM类存储器为:EEPROM 、PROM;常用的 RAM 类存储器为:SRAM、DRAM、SDRAM等;一般容量较小($ 256KB – 1G $),读取速度快;
  • 辅助存储器:通常指硬盘、NOR Flash,NAND Flash,CF 卡,SD 卡等,主要用来存放大容量的程序代码或数据。一般容量较大,读取速度慢;


嵌入式I/O接口

嵌入式系统与外接交互所需要的通用设备接口,通常为:

  • GPIO;
  • A/D 转换接口;
  • RS-232接口(串行通信接口);
  • SPI(串行外围设备接口);
  • 以太网接口;
  • USB(通用串行总线接口);
  • I2C(现场总线接口);
  • 音频接口;
  • VGA视频输出接口;
  • IrDA(红外线接口);


中间层


中间层也称为硬件抽象层(Hardware Abstract Layer,HAL) 或者叫板级别支持包(Board Support Package,BSP),位于硬件层和软件层之间,用于连接软件层和硬件层。

  • BSP 是一个介于操作系统和底层硬件之间的软件层次,为操作系统控制底层硬件提供了接口;
  • BSP 具有硬件相关性和软件相关性:
  • 硬件相关性:是指 BSP 需要和硬件平台相关联,不同硬件环境需要不同的 BSP 控制;
  • 软件相关性:是指 BSP 也要迎合操作系统的接口,不同的操作系统具有不同的硬件操作接口;
  • BSP 有一个很重要的功能是硬件初始化,嵌入式系统硬件初始化自下而上,从硬件到软件分为三个主要环节:片级初始化板级初始化系统级初始化
  • 片级初始化:主要是对微处理器进行初始化,包括:对处理器寄存器(包括数据寄存器和控制寄存器)的初始化,对处理器片内总线的初始化;
  • 板级初始化:主要是对软硬两部分初始化,包括:对非处理器部分的初始化,设置软件系统运行需要的数据结构和参数;
  • 系统初始化:主要是对操作系统和应用软件的初始化。首先,BSP 将处理器的控制权转交给操作系统,操作系统完成初始化,并创建应用程序环境;然后,操作系统将处理器控制权交给应用程序。
  • BSP 中包含硬件相关的设备驱动程序,BSP 一般不直接调用这些驱动程序,而是操作系统通过 BSP 连接驱动程序,最终是应用程序调用操作系统接口使用设备驱动程序,实现对硬件设备的操作;


系统软件层


系统软件层通常包括实时多任务操作系统(Real-Time Operation System, RTOS)、文件系统、图像用户接口(Graphic User Interface,GUI)、网络系统、通用组件模块。其中, RTOS 是嵌入式应用软件的基础和开发平台。



RTOS

  • RTOS 的作用:
  • 负责嵌入式系统资源分配(软件/硬件资源);
  • 任务调度;
  • 同步机制;
  • 中断处理;
  • 文件处理;
  • 提供统一的设备驱动接口;
  • 支持 TCP/IP 协议和其他协议;
  • 提供 GUI 图形化界面操作接口;
  • RTOS 的特点:
  • 强实时性;
  • 可裁剪性;
  • 可移植性;
  • 硬件适应性;
  • 开放性;
  • RTOS 和 应用软件被固化在嵌入式计算机的 ROM 中;


文件系统

嵌入式文件系统建立在 RTOS 之上,一般提供如下功能:

  • 提供基本的文件存储、检索和更新功能;
  • 支持 FAT32、JFFS2、YAFFS等几种标准文件格式;
  • 支持修改文件权限;
  • 支持建立、修改、改变和删除目录等服务;
  • 支持创建、打开、读写、关闭和撤销等服务;

文件系统的特点:

  • 强兼容性;
  • 实时性;
    可裁剪性;


GUI

GUI 为人机交互提供了非常人性化的接口。嵌入式GUI 与 PC 上的 GUI 有着明显的不同,嵌入式的 GUI 具有如下特点:

  • 轻量型;
  • 占用资源少;
  • 高性能;
    -高可靠性;
  • 便于移植;
  • 可配置;


应用层


应用层软件就是根据实际需求开发的应用软件。嵌入式应用软件主要有以下特点:

  • 反应快捷;
  • 占用资源少;
  • 同时方便多用户操作;
  • 也行存在友好的人机界面;