vxWorks下BSP及其开发
目录
本文讲述了VxWorks操作系统下BSP的相关知识,包括BSP概念、运行过程分析,如何制作BSP,最后还提供了一些BSP的范例文件分析。
1. BSP概念
BSP(Board Support Packet—板级支持包)是介于底层硬件和上层软件之间的底层软件开发包,它主要用来屏蔽底层硬件,进行硬件系统的初始化并调用外设的驱动接口管理系统外设。
BSP由两部分组成:初始化,驱动加载。初始化是指从系统上电复位开始知道wind kernel 和 usrRoot根任务启动的这段系统的执行时间。这一段包括寄存器操作、直接I/O操作。驱动加载是调用某具体硬件设备的驱动接口对该硬件初始化的过程,例如加载串口驱动、网口驱动等。
BSP主要完成:
- 单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支持;
- 为操作系统提供设备驱动程序和系统中断服务程序;
- 定制操作系统的功能,为软件系统提供一个实时多任务的运行环境;
- 初始化操作系统,为操作系统的正常运行做好准备;
2. BSP功能
2.1 BSP功能简介
2.1.1 系统加电后的初始化
- 加电后PC指针跳到指定的存储空间位置
- 设置处理器
- 初始化内存和内存地址
- 禁止中断
- 执行附加引导代码
- 将VxWorks段加入RAM
- 载入VxWorks内核
2.1.2 提供操作系统对硬件驱动的访问
- 一些驱动的支持是由BSP完成的,比如驱动程序定义了中断服务程序(ISR),BSP完成了ISR艮终端向量表的挂接。
- 一些偏移常量、宏是由BSP定义的,但由driver使用
- 简化了驱动程序的安装
- 设备的配置管理
2.1.3 屏蔽上层软件和底层硬件及其硬件驱动
2.2 BS与vxWorks关系
通过下图我们看出BSP在操作系统的位置:
3. BSP构成
3.1 BSP目录结构
VxWorks的BSP组成文件主要包含在四个目录下:
- vxworks-6.9\target\config\all:所有的BSP公共使用的代码,不是特别需要不要更改里