板级支持包(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。
1、板级支持包(BSP)是介于主板硬件和 *** 作系统中驱动层程序之间的一层,一般认为它属于 *** 作系统一部分,主要是实现对 *** 作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。在嵌入式系统软件的组成中,就有BSP。BSP是相对于 *** 作系统而言的,不同的 *** 作系统对应于不同定义形式的BSP。
2、BSP的主要功能:
BSP主要功能为屏蔽硬件,提供 *** 作系统及硬件驱动,具体功能包括:
(1)单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支持
(2)为 *** 作系统提供设备驱动程序和系统中断服务程序
(3)定制 *** 作系统的功能,为软件系统提供一个实时多任务的运行环境
(4)初始化 *** 作系统,为 *** 作系统的正常运行做好准备。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)