BSP 学习笔记
1. BSP(Board Support Packet)是介于底层硬件和上层软件之间的底层软件开发包,它主要用于屏蔽底层硬件,进行硬件系统的初始化并调用外设的驱动程序接口关系利通外设。
BSP由两部分组成:初始化,驱动加载。初始化是指从系统上电复位开始知道wind kernel和usrRoot根任务启动的这段系统的执行过程,这一段包括寄存器操作,直接I/O操作。驱动加载是调用某具体硬件设备的驱动程序接口对该硬件初始化的过程。
LEI>>BSP就是bootloader?(从指导老师那里知道就是bootloader)
2. BSP主要完成:
l 单板硬件初始化,主要是CPU的初始化,为整个软件体系提供底层硬件支持
l 为操作系统提供设备驱动程序和系统终端服务程序;
l 定制操作系统的功能,为软件系统提供一个实时多任务的运行环境
l 初始化操作系统,为操作系统的正常运行做好准备。
3. BSP功能简介:
a) 系统加点后的硬件初始化
– 加点后PC指针跳到特定的存储位置(这一步由HW完成)
– 设置处理器
– 初始化内存和内存地址
– 禁止中断
– 执行附加引导代码
– 将VxWorks段载入RAM
– 载入VxWorks内核
b) 提供操作系统对硬件驱动的访问
– 一些驱动的支持是由BSP完成的,比如驱动程序定义了中断服务程序(ISR),BSP完成了ISR跟终端向量表的挂接。。。。。。。还干这个啊?
– 一些偏移常量,宏是由BSP定义的,但有Driver使用
– 简化了驱动的安装(直接挂在驱动程序?)
– 设备的配置管理
c) 屏蔽上层软件和底层硬件及硬件驱动