单片机是bsp驱动吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机是bsp驱动吗相关的知识,希望对你有一定的参考价值。
是bsp驱动。板级支持包(BSP)(Board Support Package)是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。
硬件抽象层是位于操作系统 内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。
就我跟人理解而言BSP就是硬件驱动程序,它包含了操控硬件的必要函数,单片机系统使用BSP可以直接进行应用开发,这时候应用开发的hierarchy如下图所示:

但是由于日益增长的芯片种类和芯片复杂度,直接使用BSP进行应用开发将会受到巨大的挑战,因此为了程序的可阅读性以及可移植性提出了硬件抽象层HAL这一个概念。引入HAl之后的系统hierarchy如下图所示:

引入HAL之后操作系统将会使用相对更为统一的HAL接口来实现对硬件的操作,而不是直接使用BSP库。当然,HAL库的实现是基于BSP库的,只是将其进一步封装,形成统一的标准。因此一个完整、强健的嵌入式系统的系统hierarchy应该为:
hardware –> board support package –> hardware abstract layer –> driver –> operating system –> application
当然嵌入式系统中操作系统并不是必须的,并且在操作系统和应用程序之间可以在有一层中间件Middleware层,用于提供更多的系统功能,这个中间件Middleware层也被称作SDK。 参考技术A 是一般是厂家提供的,驱动是自己写的。 写BSP一定要按照该系统BSP的定义形式来写,
BSP视频教程BSP视频教程第17期:单片机bootloader专题,启动,跳转配置和调试下载的各种用法(2022-06-10)
本期视频教程开始给大家分享各种BootLoader专题视频教程,争取把市面上各种BootLoader玩法都做个实战讲解。
像系统BootLoader,网络boot,USB boot,串口boot,SD卡boot等常用玩法都整理下,还有裸机版和RTOS版本的app+boot调试下载问题都做下。
视频:
https://www.bilibili.com/video/BV1JL4y1T7fj
BSP视频教程第17期:单片机bootloader专题,启动,跳转配置和调试下载的各种用法
视频提纲:
参考资料:
1、实战技能分享,一劳永逸的解决BOOT跳转APP失败问题,含MDK AC5,AC6和IAR,同时制作了一个视频操作说明
实战技能分享,一劳永逸的解决BOOT跳转APP失败问题,含MDK AC5,AC6和IAR,同时制作了一个视频操作说明 - STM32H7 - 硬汉嵌入式论坛 - Powered by Discuz!
2、成功实现MDK自动生成hex文件的crc值并附加到hex文件末尾(bin也支持),然后跟STM32的硬件CRC计算值做比较
成功实现MDK自动生成hex文件的crc值并附加到hex文件末尾(bin也支持),然后跟STM32的硬件CRC计算值做比较 - STM32H7 - 硬汉嵌入式论坛 - Powered by Discuz!
3、【不是问题的问题】为什么STM32的Flash地址要设置到0x08000000
【不是问题的问题】为什么STM32的Flash地址要设置到0x08000000 - STM32H7 - 硬汉嵌入式论坛 - Powered by Discuz!
5、OpenBLT
功能资料比较全面的开源Bootloader OpenBLT,支持USB,CAN,232和TCP/IP(2020-07-28) - STM32H7 - 硬汉嵌入式论坛 - Powered by Discuz!
6、MCUBoot
运行大型嵌入式系统有uboot做引导,现在一款适用于MCU的MCUBoot也诞生了,实现一个 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz!
7、wolfboot
开源的安全启动wolfboot,支持常用STM32系列 - STM32F429 - 硬汉嵌入式论坛 - Powered by Discuz!
以上是关于单片机是bsp驱动吗的主要内容,如果未能解决你的问题,请参考以下文章
BSP视频教程BSP视频教程第19期:单片机BootLoader的AES加密实战,含上位机和下位机代码全开源(2022-06-26)