参考:https://www.elecfans.com/emb/xitong/20171016564553.html
最近学习了BSP,在此记录一下。
概念
BSP(Board Support Package,板级支持包)时是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统的一部分。通常包含了以基础支持代码来加载操作系统的引导程序(Bootloarder),以及主板上所有设备的驱动程序。
目的
主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。
功能
主要为屏蔽硬件,提供操作系统及硬件驱动。
具体功能包括:
- 单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支持。
- 为操作系统提供设备驱动程序和系统中断服务程序。
- 定制操作系统的功能,为软件提供一个实时多任务的运行环境。
- 初始化操作系统,为操作系统的正常运行做好准备。
作用
-
建立让操作系统运行的基本环境。
1.初始化CPU内部寄存器。
2.设定RAM工作时序。
3.时钟驱动及中断控制器驱动。
4.串口驱动。 -
完善操作系统运行的环境。
1.完善高速缓存和内存管理单元的驱动。
2.指定程序的起始运行位置。
3.完善中断管理。
4.完善系统总线驱动。
BSP在嵌入式系统中的重要性
根据硬件设计编写和修改BSP,保证嵌入式系统的运行是非常重要的。
目前市场上多种结构的嵌入式CPU(RISC)并存,如PPC、ARM、MIPS等。为了性能的需要,外围设备也有不同的选择和定义。一个嵌入式操作系统针对不同的CPU会有不同的BSP;即使是同一种CPU,由于外设的区别,BSP相应的部分也不一样。
BSP在嵌入式开发中的位置与作用
BSP开发处于整个嵌入式开发的前期,是后面系统上应用程序能够正常运行的保证。