关于硬件抽象层的澄清

时间:2016-11-15 10:41:35

标签: linux linux-kernel embedded hal bsp

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

  

所以当我们谈论的时候   MIPS HAL它意味着对MIPS处理器和内置板的支持   使用MIPS处理器。当我们谈论BSP时,我们会参考该软件   它没有处理器支持软件,只有附加软件   支持董事会的软件。 HAL可以理解为超集   所有受支持的BSP,还包括特定于处理器的   软件

硬件抽象层到底是什么(用Linux说话)?这在某种程度上与BSP有关吗?根据我的理解,BSP是特定于板的代码,例如Bootloader,内核核心,外设的特定驱动程序等.HAL如何成为BSP的超集?

1 个答案:

答案 0 :(得分:1)

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

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

希望能解决您的疑问。