对于bsp层,它的作用是什么?

🔍 溯源 ✍️ Jack | 📅 2024-08-08 | 👍 5 | 原帖↗
#知识星球 #立芯嵌入式 #来源/立芯星球 #技术/BSP架构 #技术/I2C #质量/精华

原帖 | Jack | 2024-08-08 09:13 | 👍5 | 阅读约1

对于bsp层,它的作用是什么?

它包含实现了MCU和板上外设器件(比如MPU6050)的通信与交互过程,它一般包含着详细的MCU与板上器件的通信逻辑。比如,和MPU6050通信可以使用硬件IIC,也可以使用软件IIC,还可以使用硬件IIC+DMA的方式。IIC是每个MCU等各种处理器都能提供的,那么IIC我是不需要写进BSP的,BSP程序只是调用由Core提供给我的IIC接口,来完成我BSP的事情。以此类推,我用于IIC通信的引脚也是由MCU提供的,GPIO的初始化这些也不应该包含在我的BSP里。

所以BSP它应该是纯粹的描述MCU和片上器件通讯的代码,这些代码,我既可以在STM32上用,也可以在GD32上用,也能在Linux上用。只有写出这样的程序,你的程序才能实现高移植性,假如跳槽或者去其他公司,这些逻辑你才能是跟着你走的,尽可能屏蔽硬件的差异性。

相关笔记