首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

BSP

BSP介绍(Board Support Package)是介于底层硬件和上层软件之间的底层软件开发包,它主要功能为屏蔽硬件,提供操作系统及硬件驱动,是实作特定的支援代码让所给的板来符合所给的作业系统。
BSP的发展史                       
  •                       大约从1988年开始出现这个词。这词的来源最常被归于温瑞尔公司(Wind River Systems) 给它的 VxWorks 嵌入式作业系统,不过现在已经广泛的在业界使用。如 QNX Software Systems 也提供 BSPs。Microsoft也提供有 Windows CE 作业系统的 BSPs。
      Windows CE 作业系统的 BSP 包含有:
      bootloader
      驱动
      OEM Adaptation Layer(OAL)
      配置文件
                                                        BSP的概述                       
  •                       BSP(board support package), 是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器 的函数包,使之能够更好的运行与硬件主板。在嵌入式体统软件的组成中,就有BSP。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的 BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写BSP一定要 按照该系统BSP的定义形式来写(BSP的编程过程大多数是在某一个成型的BSP模板上进行修改)。这样才能与上层OS保持正确的接口,良好的支持上层 OS。
               
                                        BSP的功能                       
  •                       1  单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支持;
      2  为操作系统提供设备驱动程序和系统中断服务程序;
      3  定制操作系统的功能,为软件系统提供一个实时多任务的运行环境;
      4  初始化操作系统,为操作系统的正常运行做好准备。
               
                                        BSP的范例                       
  •                       温瑞尔公司为 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 运行程序的入口代码
继承事业,薪火相传
很不错的帖子,路过帮顶
返回列表