引言为了便于操作系统在不同硬件结构上进行移植,美国微软公司首先提出了将底层与硬件相关的部分单独设计成硬件抽象层美国微软公司提出了将操作系统底层与硬件相关的部分单独设计成硬件抽象层HAL(HardwareAbstractionLayer)的思想。硬件抽象层的引入大大推动了嵌入式操作系统的通用程度,为嵌入式操作系统的广泛应用提供了可能。然而,目前BSP形式的硬件抽象层仅仅能够解决有限的几种操作系统在同样有限的BSP所支持的硬件平台上
引言
为了便于操作系统在不同硬件结构上进行移植,美国微软公司首先提出了将底层与硬件相关的部分单独设计成硬件抽象层美国微软公司提出了将操作系统底层与硬件相关的部分单独设计成硬件抽象层HAL(Hardware Abstraction Layer)的思想。硬件抽象层的引入大大推动了嵌入式操作系统的通用程度,为嵌入式操作系统的广泛应用提供了可能。然而,目前BSP形式的硬件抽象层仅仅能够解决有限的几种操作系统在同样有限的BSP所支持的硬件平台上的移植,而对绝大多数需要根据不同嵌入式应用而专门定制的嵌入式操作系统来说能起的作用则非常有限。
1 硬件抽象层原理
1.1 硬件抽象层概念
嵌入式系统是一类特殊的计算机系统。它自底向上包括3个主要部分:硬件环境、嵌入式操作系统和嵌入式应用程序。硬件环境是整个嵌入式操作系统和应用程序运行的硬件平台,不同的应用通常有不同的硬件环境;因此如何有效地使嵌入式操作应用于各种不同的应用环境,是嵌入式操作系统发展中所必须解决的关键问题。
硬件抽象层通过硬件抽象层接口向操作系统以及应用程序提供对硬件进行抽象后的服务。当操作系统或应用程序使用硬件抽象层API进行设计时,只要硬件抽象层API能够在下层硬件平台上实现,那么操作系统和应用程序的代码就可以移植。