background image

   总体上嵌入式系统可划分硬件和软件两部分,硬件一般由高性能的微处理器和外围的接
口电路组成,软件一般由硬件抽象层、嵌入式操作系统、软件应用平台和应用程序等组成

,如

 1.1 所示。

                            图 1.1  嵌入式系统的构成
硬件 层: 硬件是整个嵌入式操作系统和应用程序运行的平台,包括输入输出接口

/驱动电

路、处理器、存储器、定时器、串口、中断控制器、外设器件、图形控制器及相关系统电路等部分。
对于硬件层的设计开发要有较深的硬件开发经验,这些岗位一般都需要资深的硬件工程师,
不太适合刚毕业的本科学生,对于在校期间有过研发经历的研究生比较合适。
中间层:硬件抽象层(

HAL)或板级支持包(BSP),负责对各种硬件功能提供软件接口,

包括硬件初始化、时钟管理、定时器管理、中断处理、总线管理、内存地址的映射等。它位于底
层硬件和操作系统之间,是二者之间的桥梁。这个层次的设计开发不仅要精通底层硬件结构,
还要熟悉上层的操作系统,主要工作是开发设备驱动程序。这部分工作需要有丰富的软硬件
件研发经验才可以胜任,岗位主要针对有经验的本科生和研究生。
软件层:主要包括操作系统和软件应用平台。操作系统主要是实现资源的访问和管理,完
成任务调度,支持应用软件的运行及开发。软件应用平台则是为了提高开发速度与软件质量,
一些应用提供商开发了一些可重用的应用平台,封装了一些常用的功能,同时提供

API 接

口,可以在此基础上进行二次开发。对于操作系统级的开发比较适合学过嵌入式专业课程的
研究生和本科学生。对于软件应用平台上的开发比较适合学过嵌入式专业课程的本科生和高
职学生。
功能层:主要指的是应用软件层,位于嵌入式系统层次结构的最顶层,直接与最终用户交
互。针对各种特定功能来编写应用程序,实现系统的功能应用。主要是进行大量的

C、C++或