嵌入式系统是为了特定应用而专门构建的计算机系统,其嵌入式软件的架构设计与嵌入式系统硬件组成紧密相关。
1.嵌入式系统发展历程
嵌入式系统的发展大致经历了五个阶段:
第一阶段:单片微型计算机(SCM),及单片机时代。这一阶段的嵌入式系统硬件是单片机,软件停留在无操作系统阶段,采用汇编语言实现系统的功能。这阶段的主要特点是:系统结构和功能相对单一,处理效率低、存储容量也十分有限,几乎没有用户接口。
第二阶段:微控制器(MUC)阶段。主要的技术发展方向是:不断扩展对象系统要求的各种外围电路和接口电路,突显其对象的智能化控制能力。这一阶段主要以嵌入式微处理器为基础,以简单操作系统为核心,主要特点是硬件使用嵌入式微处理器、微处理器的种类繁多,通用性比较弱,系统开销小,效率高。
第三阶段:片上系统(SoC)。主要特点是:嵌入式系统能录运行于各种不同类型的微处理器上,兼容性好,操作系统的内核小,效率高。
第四阶段:以Internet·为基础的嵌入式系统。嵌入式网络化主要表现在两个方面,一方面是嵌入式处理器集成了网络接口,另一方面是嵌入式设备应用于网络环境中。
第五阶段:在智能化、云技术推动下的嵌入式系统。其特点是低能耗、高速度、高集成、高可信、适用环境广等,此时的嵌入式系统向两个方向发展:一个是面向端-端系统微型传感器设备,一个是面向智能服务的设备。
2.嵌入式系统硬件体系结构
从传统意义上讲,按嵌入式系统主要由嵌入式微处理器(控制器(Micro Control Unit,MCU)、存储器(RAM/ROM)、内(外)总线逻辑、定时/计算器(Time)、看门狗电路、I/O接口(串口、网络、USB、JTAG等)和外部设备(UART、LED等)等部件组成(如图1所示)。
图1 典型嵌入式系统硬件组成结构
3.嵌入式软件架构概述
嵌入式系统的软件架构是随着嵌入式系统发展而发展起来的。简单的嵌入式软件架构如图1所示。
图2 简单的嵌入式软件架构
随着嵌入式系统智能化发展,在保持原层次架构的基础上,才奶酪众多非嵌入式系统的软件架构,如事件驱动架构、微服务架构等。由于嵌入式系统的专用性,其架构和目标系统是紧密结合的,通常没有统一的架构,要根据嵌入式系统的要有目标的需求,在根据系统的复杂程度、功能大小,来采用不同架构设计方法。目前,比较典型的嵌入式软件架构有两种:层次化模式架构和递归模式架构。