嵌入式开发板的 BSP 和 U-Boot 有何不同?

Posted

技术标签:

【中文标题】嵌入式开发板的 BSP 和 U-Boot 有何不同?【英文标题】:How are BSP and U-Boot different for an embedded dev board? 【发布时间】:2022-01-19 07:10:09 【问题描述】:

我是嵌入式世界的新手,并试图了解 BSP(板级支持包)和 U-Boot 实用程序之间的区别。我的理解是它们都位于目标板的 ROM 区域。当板子的电源打开时,首先处理器控制转到 U-Boot,它初始化板子外围设备并为操作系统提供启动参数。

当操作系统启动时,它需要 BSP 与开发板的外围设备进行通信。

这是正确的理解还是我在这里遗漏了什么?

【问题讨论】:

【参考方案1】:

Das U-Boot 是一个引导加载程序。它是一个在您打开处理器时运行的软件。它的工作是加载主软件并准备好启动。

板卡支持包是您在一个特定板上运行软件所需的所有软件,这与您在不同板上运行所需的软件不同。

BSP 可能包含一个引导加载程序,而该引导加载程序可能是 u-boot。如果板上的处理器不需要引导加载程序或已在 ROM 中预编程,则 BSP 可能不包含引导加载程序。

BSP 还将包括各种其他内容,例如头文件或设备树,以告诉您哪些外围设备连接到哪些端口和引脚,可能还有这些外围设备的驱动程序。

【讨论】:

以上是关于嵌入式开发板的 BSP 和 U-Boot 有何不同?的主要内容,如果未能解决你的问题,请参考以下文章

嵌入式开发(S5PV210)——u-boot的头文件包含问题

嵌入式BSP工程师

(linux)BSP板级支持包开发理解

(linux)BSP板级支持包开发理解

嵌入式开发(S5PV210)——u-boot的顶层Makefile分析

linux内核,驱动,应用程三者的概念和之间的关系