BSP 入门简介
BSP(Board Support Package),板级支持包,也称为硬件抽象层HAL或者中间层。是驱动和操作系统的接口。假设有个能够支持操作系统(比如Linux)在某主板上运行的包,那这个包就叫做这个操作系统在这个板子上的BSP。
从厂商那边制作元器件(比如:镜头、感光器等),然后组装成Camera模块(硬件),再搭载到开发板(你可以理解成你电脑上的主板、手机上的主板或者你玩过的单片机的那个开发板),这个时候,硬件上的操作算是初步完成了。但此时你所得到的只是一堆硬件器械,并不能够通过你手机上的按钮去控制,甚至有可能你手机屏幕上连按钮都还没有。
你的开发板上一定会装上一个操作系统(可以是Android,也可以是IOS)。虽然你的开发板上装上了操作系统,但操作系统只是替你完了从开发板到软件的一些基本功能,它还没有那么强大到能够连接所有的其他硬件,就比如Camera模块(硬件),毕竟每个人组装出来的Camera都不一样。因此,想要让你的操作系统能够识别你的Camera模块(硬件),就需要一个叫驱动的程序。这里稍微普及一下,正常来说每个厂商在出厂Camera硬件的时候,都会按照比较通用的协议做一些初始化的工作,使得这个Camera硬件可以输入和输出一些常用的信号从而使得Camera能够与其他的一些设备进行通信,且Camera的硬件内部会构造好一些基本功能,比如给GPIO1引脚一个上电信号,通过你学过的一大堆数模电转换等东西之后,就可以使Camera整体运行起来了(这里只是个例子,真正的实际操作的时候哪个引脚是什么功能你需要去参考手册)。再结合BSP理解一下,板级支持包,意思不就是在开发板上的能够支持Camera正常运行的包么?
来自:九七的BSP(转载请注明出处)