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

How are BSP and U-Boot different for an embedded dev board?

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

启动 OS 时需要 BSP 与开发板的外围设备进行通信。

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

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

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

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

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