第2章 嵌入式系统架构及硬件组成

嵌入式系统是由软硬件构成的系统,它总体的架构示意图如图2.1所示。

系统分为三个层次:最底层是硬件层,包括硬件模块和固件程序(Firmware),其中Firm-ware严格来说是控制硬件的底层软件,它用于非常基本的硬件管理,实现的功能有:嵌入式系统的上电自检程序、FlashROM的刷新重写程序、模块的电源开关等,这些功能相对简单,但和硬件结构紧密结合,通常由硬件设计厂家提供,因此一般被归为硬件。在硬件层之上有两层软件层,分别是操作系统层和应用程序层。其中操作系统提供统一的设备管理功能,比如设备驱动程序、硬件中断服务程序、内存分配和释放、协调多个应用程序共同访问设备时的设备控制、多线程程序的并行运行和调度等。操作系统的存在能够简化上层的用户程序开发,因为操作系统提供了软件大量功能给应用程序,使得上层开发不需要关心那些技术细节。上层应用程序实现的功能取决于具体的应用需求。对于复杂的嵌入式系统,往往采用多线程的编程模式,因此需要多个上层应用程序并行运行如图2.1所示。对于一些简单的嵌入式系统,会省去上面架构中的操作系统层,由应用软件直接访问所有的硬件资源,如图2.2所示。

图2.1 嵌入式系统总体架构图

图2.2 简单的嵌入式系统架构

这样能够提高软件的执行效率和减小内存占用,但难以适用于复杂系统的设计。

针对嵌入式系统的这个层次化架构,下面将会详细介绍各个层次的构成和基本原理。本章节侧重硬件部分的介绍,软件部分在后续的章节介绍。