• 1.摘要
  • 2.基本信息
  • 3.发展历程
  • 4.主要内容
  • 5.应用案例

bsp

3
板级支持包

bsp( Board Support Package)是板级支持包。bsp开发处于嵌入式开发的前期。

它是介于主板硬件和操作系统之间的一层,属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。

基本信息

  • 中文名

    板级支持包

  • 外文名

    Board Support Package

  • 主要目的

    支持操作系统

  • 开发中的位置

    BSP开发处于嵌入式开发的前期

  • 简称

    bsp

  • 作用

    构建主板硬件的所有软件资源

  • 隶属

    嵌入式系统软件

  • 类别

    VxWorks的BSP和Linux的BSP

发展历程

大约从1988年开始出现这个词。这词的来源最常被归于风河公司(Wind River Systems) 给它的VxWorks嵌入式操作系统,不过现在已经广泛的在业界使用。如QNX Software Systems也提供 BSPs。Microsoft也提供有Windows CE操作系统的 BSPs。

Windows CE 操作系统的 BSP 包含有:

bootloader

驱动

OEM Adaptation Layer(OAL)

配置文件

主要内容

在嵌入式系统中,板级支持包(英语:board support package,简称BSP)用作初始化与运行操作系统并用于评估板(Evaluation Board)的简易代码。它通常包含了以基础支持代码来加载操作系统的引导程序(英语:bootloader),以及主板上所有设备的驱动程序。

一些供应商还会提供一套根文件系统、用于构建运行在该嵌入式系统上的程序的工具链(英语:toolchain,可以是架构支持包的一部分),以及(在运行过程中)配置设备的实用工具。

BSP是板级支持包,是介于主板硬件和操作系统之间的一层,应该说是属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写BSP一定要按照该系统BSP的定义形式来写(BSP的编程过程大多数是在某一个成型的BSP模板上进行修改)。这样才能与上层OS保持正确的接口,良好的支持上层OS。

应用案例

风河公司为 ARM Integrator 920T 开发板提供的 BSP 包含以下部分(还有其他部分未列出):

一个 config.h 文件, 定义了一些常量例如 ROM_SIZE 和 RAM_HIGH_ADRS

一个 Makefile, 定义了二进制版本的 VxWorks ROM 映像,这个映像是用来提供给对闪存进行编程的

一个 bootrom 文件, 定义了这个板相关的启动参数等

一个 target.ref 文件, 描述了板相关的信息,例如开关和跳线设置,中断等

一个 VxWorks 映像

C 代码,包含有: