1、BSP出现的背景
硬件平台的多样性是嵌入式系统的主要特点,如何使嵌入式操作系统在不同的硬件平台上有效地运行,是嵌入式系统开发中需要解决的关键问题。解决的方法是:在硬件平台和操作系统之间提供硬件相关层,来屏蔽这些硬件的差异,给操作系统提供统一的运行环境,这种硬件相关层就是嵌入式系统中的板级支持包BSP(BoardSupportPackage,简称BSP)。
2、BSP的作用
为内核的运行提供底层支撑
屏蔽与板相关的硬件细节
3、BSP的组成
plat、mach各组件的实现:
内核节拍
中断管理
时钟
GPIO
DMA
IO内存映射
设备与资源:
platform_device、platform_data、resource(uart、sdio、nic等)。
4、BSP和BootLoader的区别
嵌入式系统中的Bootloader是最底层的引导软件,初始化基本硬件设备,准备好软件环境,从Flash从copy内核到内存,并传递参数给内核,之后启动内核。
BSP是和内核绑定在一起的,提供驱动的相关信息和底层初始化函数。
5、BSP在项目开发中的位置和步骤
BSP开发处于整个嵌入式开发的前期,是后面系统能够正常运行的保证。
大概步骤如下:
(1)硬件主板研制,测试。
(2)操作系统的选定,BSP编程。
(3)上层应用程序的开发。
BSP部分在硬件和操作系统之间。所以这就要求BSP程序员对硬件,软件和操作系统都要有一定的了解。这样才能做好BSP编程。
语言方面:汇编语言,C语言。