板级支持包

板级支持包(BSP)(Board Support Package)是构建嵌入式操作系统所需的引导程序(Bootload)、内核(Kernel)、根文件系统(Rootfs)和工具链(Toolchain) 提供完整的软件资源包。
- 中文名称 板级支持包
- 外文名称 BSP
- 作用 构建主板硬件的所有软件资源
- 隶属 嵌入式系统软件
- 类别 VxWorks的BSP和Linux的BSP
简介
在嵌入式系统中,板级支持包(英语:board support package,简称BSP)用作初始化与运行操作系统并用于评估板(Evaluation Board)的简易代码。它通常包含了以基础支持代码来加载操作系统的引导程序(英语:bootloader),以及主板上所有设备的驱动程序。
一些供应商还会提供一套根文件系统、用于构建运行在该嵌入式系统上的程序的工具链(英语:toolchain,可以是架构支持包的一部分),以及(在运行过程中)配置设备的实用工具。
历史
大约从1988年开始出现这个词。这词的来源最常被归于风河公司(Wind River Systems) 给它的VxWorks嵌入式操作系统,不过现在已经广泛的在业界使用。如QNX Software Systems也提供 BSPs。Microsoft也提供有Windows CE操作系统的 BSPs。
Windows CE 操作系统的 BSP 包含有:
- bootloader
- 驱动
- OEM Adaptation Layer(OAL)
- 配置文件
示例
风河公司为 ARM Integrator 920T 开发板提供的 BSP 包含以下部分(还有其他部分未列出):
一个 config.h 文件, 定义了一些常量例如 ROM_SIZE 和 RAM_HIGH_ADRS
一个 Makefile, 定义了二进制版本的 VxWorks ROM 映像,这个映像是用来提供给对闪存进行编程的
一个 bootrom 文件, 定义了这个板相关的启动参数等
一个 target.ref 文件, 描述了板相关的信息,例如开关和跳线设置,中断等
一个 VxWorks 映像
C 代码,包含有:
flashMem.c -- 开发板的闪存的驱动
pciIomapShow.c -- 将 PCI 总线映射成文件
primeCellSio.c -- TTY 驱动
sysLib.c -- 开发板系统相关的例程
romInit.s -- 开发板的 ROM 初始化模块,包含开发板从 ROM 运行程序的入口代码
参见
- CSP