3

在阅读Embedded Linux System Design and Development时,我遇到了以下文本

因此,当我们谈论 MIPS HAL 时,它意味着对 MIPS 处理器和使用 MIPS 处理器构建的主板的支持。当我们谈论 BSP 时,我们指的是没有处理器支持软件而只是支持板子的附加软件的软件。HAL 可以理解为所有受支持的 BSP 的超集,它还包括特定于处理器的软件。

硬件抽象层到底是什么(就 Linux 而言)?这在某种程度上与 BSP 有关吗?据我了解,BSP 是板特定代码,例如引导加载程序、内核内核、外围设备的特定驱动程序等。HAL 如何作为 BSP 的超集出现?

4

1 回答 1

1

我不认为 HAL 是 Linux 特定的概念,即它不是子系统或适当的代码逻辑分组。作者引入它可能是为了帮助解释其他概念。在某种程度上,操作系统内核可以被描述为 HAL,因为它们抽象出硬件,为用户空间提供统一的接口。所以确切的答案只会在本书的上下文中。

在基于裸机/RTOS 的嵌入式系统中,HAL 层(如果存在)将位于驱动程序之上,以便为更高层提供相同的 API,即使在底层驱动程序或物理组件(如外围设备或将微控制器连接到外围设备的总线)时) 改变。它不同于在 HAL 变得有用之前运行的开发板启动代码或引导加载程序。

希望能解决您的疑问。

于 2016-11-16T06:01:43.953 回答