上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.3.1 嵌入式软件的分类
从软件结构上划分,嵌入式软件分为无操作系统和带操作系统两种。
1.无操作系统的嵌入式软件
对于通用计算机系统,操作系统是整个软件的核心,不可或缺;然而对于嵌入式系统,由于其专用性,在某些情况下无需配备操作系统。尤其在嵌入式系统发展的初期,由于较低的硬件配置、单一的功能需求以及有限的应用领域(主要集中在工业控制和国防军事领域),嵌入式软件的规模通常较小,没有专门的操作系统。
在组成结构上,无操作系统的嵌入式软件仅由引导程序和应用程序两部分组成,如图1-2所示。引导程序一般由汇编语言编写,在嵌入式系统上电后运行,完成自检、存储映射、时钟系统和外设接口配置等一系列硬件初始化操作。应用程序一般由C语言编写,直接架构在硬件之上,在引导程序之后运行,负责实现嵌入式系统的主要功能。
图1-2 无操作系统的嵌入式软件结构
2.带操作系统的嵌入式软件
随着嵌入式应用在各个领域的普及和深入,嵌入式系统向多样化、智能化和网络化发展,对功能、实时性、可靠性和可移植性等方面的要求越来越高,使得嵌入式软件日趋复杂,越来越多地采用“嵌入式操作系统+应用软件”的模式。相比无操作系统的嵌入式软件,带操作系统的嵌入式软件规模较大,其应用软件架构于嵌入式操作系统上,而非直接面对嵌入式硬件,可靠性高,开发周期短,易于移植和扩展,适用于功能复杂的嵌入式系统。
带操作系统的嵌入式软件的体系结构如图1-3所示,自下而上包括设备驱动层、操作系统层和应用软件层。
图1-3 带操作系统的嵌入式软件体系结构