5

据我了解,BSP(板级支持包)包含引导加载程序、内核和设备驱动程序,可帮助操作系统在硬件上工作。但我很困惑,因为操作系统也包含一个内核。那么OS中的内核和BSP中的内核有什么区别呢?

4

5 回答 5

10

BSP 的组成取决于上下文;通常它是支持特定电路板设计的代码或库。这可以作为通用代码从板供应商提供,用于裸机系统或与操作系统集成,或者它可能特定于特定操作系统,甚至可能包括操作系统。在任何情况下,它都为更高级别的软件提供特定于板的支持。

内核与板无关(尽管通常是特定于处理器架构的),并且不会直接访问不是其运行的处理器架构固有的硬件。通常,操作系统或应用程序需要硬件抽象层(HAL);HAL 很可能是使用 BSP 构建的,或者 BSP 实际上可能是 HAL。供应商甚至可以打包 HAL 和操作系统并将其称为 BSP。

这个术语意味着它对使用它的人的意义——上下文就是一切。例如,在 VxWorks 中,WindRiver 使用术语 BSP 来指代支持在特定硬件设计上执行基于 VxWorks 的应用程序的层。另一方面,主板供应商可能会提供移植到主板的完整 Linux 发行版,并将其称为 BSP。

但是,特定供应商或开发人员选择在多大程度上支持电路板是一个电路板支持包,无论它可能包含多少或多少。

于 2016-11-09T16:49:49.643 回答
5

BSP 的定义很广泛。它是特定板的配套软件包。微型微控制器的 BSP 可能只包含其外围设备的硬件驱动程序。另一方面,对于嵌入式 CPU,它可能包含硬件驱动程序、引导加载程序和操作系统内核等等。

因此,BSP(板级支持包)中的内核只是一个特定版本的操作系统内核,已移植到您的板上。

于 2016-11-09T15:29:21.943 回答
3

我可能只是在说已经说过的话。

您有一个芯片和/或电路板产品要出售给其他(软件)开发人员。使用了带有相关芯片的参考设计(板)。BSP 是一个模糊的术语,表示作为软件开发人员提供给您的软件,理想情况下,您可以更轻松地使用该产品(芯片和/或电路板)并将您的软件添加到其中或为其开发。因此,如果它是一个 linux 或 rtos 或其他支持操作系统的平台,并且供应商(提供 bsp)认为用户想要一个操作系统和一个特定的操作系统,那么您不必将操作系统移植到该目标,他们会这样做它给你。如果像linux这样开源的东西,然后您要么被告知要下载哪些 linux 源,然后添加 bsp 制作的补丁和/或 bsp 包含已修补的整个东西的完整源。供应商认为必要的驱动程序、应用程序等。如果供应商认为需要支持多个操作系统以吸引客户购买该板/芯片产品,则可以支持多个操作系统。

The whole package of software that you get from them to make that chip/board into your own product, is the BSP.

于 2016-11-09T18:10:42.747 回答
0

vxWorks kernel which you can run on a Board contains vxWorks core kernel and "other components" which may change from one environment. Core kernel contains essential programs such as Scheduler, Memory manager, Basic File systems, security features etc. These "other components" which are part of BSP may be optional or may vary from system to system, and helps the core kernel features.

于 2016-12-14T10:10:31.570 回答
0

enter image description here

In simple words, the image dislays the defination of BSP. Please correct me if I'm wrong

于 2019-07-02T04:51:03.387 回答