前言
参考野火的教学视频,及其参考手册
概念
板级支持版(BSP)(Board Support Package)是介于主板硬件和操作系统中驱动层程序间的一层,一般认为属于操作系统一部分(后期会有关于RT-Thread关于BSP的建立),主要是实现操作系统的支持,为上层的驱动程序提供硬件设备寄存器的数据包,使之能够更好的运行于硬件主板。
底层驱动:固件库、HAL库、LL库
BSP:(针对开发板LED、按键等硬件)参考底层驱动构建的访问硬件的接口,也就是自己建立的
对板上的资源功能给出实现,并且提供用户应用程序接口。以LED灯为例,用户不需要知道GPIO的硬件特点,只需要知道调用这个函数就科迪点亮LED灯。
用户应用层:使用BSP,构建应用程序
BSP构建
- 自动配置——使用STM32CubeMX构建
图形化设计,直接生成led.c和led.h文件,但是只有驱动设置即GPIO的初始化
- 手动配置——类似于以前的固件库构建驱动
在HAL库中都会有关于硬件驱动的配置
除了配置GPIO口初始化以外还可以构建其他函数及其他功能:
如在BSP内,增加打开GPIO口的宏定义:
#define LED_R_ON do{HAL_GPIO_WritePin(GPIOB, GPIO_PIN_15, GPIO_PIN_SET);}while(0)