嵌入式软件
- 嵌入式软件是指应用在嵌入式计算机系统当中的各种软件,除了具有通用软件的一般特性,还具有一些与嵌入式系统相关的特点,包括:规模较小、开发难度大、实时性和可靠性要求高、要求固化存储。
嵌入式软件分类:
- 系统软件:控制和管理嵌入式系统资源,为嵌入式应用提供支持的各种软件,如设备驱动程序、嵌入式操作系统、嵌入式中间件等
- 应用软件:嵌入式系统中的上层软件,定义了嵌入式设备的主要功能和用途,并负责与用户交互,一般面向特定的应用领域,如飞行控制软件等
- 支撑软件:辅助软件开发工具软件,如系统分析设计工具等
板级支持包
板级支持包(BSP)是介于主板硬件和操作系统中驱动层之间的一层 具体功能包括:
- 单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支持
- 为操作系统提供设备驱动程序和系统中断服务程序
- 定制操作系统的功能,为软件系统提供一个实时多任务的运行环境
- 初始化操作系统,为操作系统的正常运行做好准备
主要特点:
- 硬件相关性,BSP需为操作系统提供操作和控制具体硬件的方法
- 操作系统相关性,不同的操作系统具有各自的软件层次结构,因此不同操作系统具有特定的硬件接口形式
一般来说:BSP主要包括:引导加载程序BootLoader和设备驱动程序
BootLoader是嵌入式系统加电后运行的第一段软件代码,是在操作系统内核运行之前运行的一小段程序,通过这段程序,可以初始化硬件设备、建立内存空间映射图,从而将系统软件的软硬件环境设置到一个合适的状态,以便为最终调用操作系统内核做好准备,一般功能如下:
- 片级初始化:主要完成微处理器的初始化,包括设置微处理器的核心寄存器和控制寄存器、微处理器的核心工作模式及其具备总线模式等。
- 板级初始化:通过正确设置各种寄存器的内容来完成微处理器以外的其他硬件设备的初始化
- 加载内核(系统级初始化):将操作系统的应用程序的映射从Flash存储器赋值到系统的内存当中,然后跳转到系统内核的第一条指令处继续执行。
嵌入式系统
一般嵌入式系统由:嵌入式处理器、相关支撑硬件、嵌入式操作系统、支撑软件以及应用软件组成。
嵌入式系统应具备的特性:
- 专用性强
- 技术融合
- 软硬件一体软件为主
- 比通用计算机资源少
- 程序代码固化在非易失存储器中
- 需专门开发工具和环境
- 体积小、价格低、工艺先进、性能价格比高、系统配置要求低、实时性强
- 对安全性和可靠性要求高
嵌入式系统分类: 根据不同用途可将嵌入式系统划分为:嵌入式实时系统和嵌入式非实时系统,实时系统又可分为强实时系统和弱实时系统。如果从安全性要求看,嵌入式系统还可以分为:安全悠关系统和非安全悠关系统。
嵌入式系统分为:硬件层、抽象层、操作系统层、中间件层和应用层
嵌入式操作系统(EOS)主要特点:微型化、代码质量高、专业化、实时性强、可裁减和可配置
实时操作系统的特征:高精度计时系统、多级中断机制、实时调度机制