一、概念:
指对具体的硬件平台,用户所编写的启动代码和部分设备驱动程序的集合。所实现的功能包括:初始化、驱动部分设备。
BSP并不是一个设备驱动程序,因为设备驱动程序可以访问硬件设备。相同类型的驱动程序可以不做修改从一个目标环境移植到另一个目标环境中,例如网卡驱动,而BSP只能运行在指定设备的硬件环境中。
BSP的职责:
1、目标硬件环境的初始化:
● 在存储器里的特殊地址处提供一段代码,当复位或加电目标机时处理器将立即执行这段代
码;
● 设置处理器为某个具体的状态;
● 初始化存储器并对存储器进行编址;
●关闭中断;
● 将控制权移交给附加的引导代码;
● 装载需要的 VxWorks 段到RAM中(例如把数据段从 ROM拷贝到RAM中);● 在初始化 VxWorks 内核前,使目标机硬件处于一个静止状态。
2、硬件驱动程序的集成
访问硬件设备驱动程序,BSP必须包含设备驱动程序的相关支持、设备的配置管理等。主要包括以下几方面:
(1)BSP里提供一些驱动程序支持。在 BSP里包含了一些驱动程序的支持,其中包括驱动程序的中断服务程序、驱动程序相关的结构以及宏定义等∶
● 除 BSP包含与中断向量表关联的中断服务程序外,还包含驱动程序定义的中断服务程序;
● BSP为驱动程序初始化创建的结构(对象);
● 为硬件寄存器定义的偏移常量和访问宏,驱动程序将使用它们。
(2)为硬件驱动程序提供可移植性的代码。可移植性的网络设备驱动程序代码将允许开发者把它移植到新的硬件环境上,或者使开发者为常见的硬件环境提供新的网络设备驱动程序。
(3)设备配置管理。包括∶
● 可使用设备的全部特点;。
●
将产品的开发与配置分开。
二、BSP的组成
1、源文件:.c文件与.s文件
2、头文件:对内存与硬件的定义文件,如config.h
3、makefile:
4、派生文件:
4.派生文件
由源文件、头文件等其他文件衍生而成的文件和VxWorks存档库模块。这些文件分为下面的几类;
● 硬件初始化对象模块;
● VxWorks 引导对象模块;
● VxWorks 映像;
● VxWorks 二进制符号表。
BSP的组成文件主要包含在以下目录里:
● vxworks6.x\target\config\all
● vxworks6.x\targetconfigcomps\vxWorks
● vxworks6.x\target\config\comps\src.
● vxworks6.x\targetconfig\bspname
bsp的源文件
1、vxworks6.x\target\config\all目录下的文件
这个目录下的文件作为VXwork