< retour aux publications

Introduction to Hardware Abstraction Layers for SoC

Auteur(s) : S. Yoo, A. A. Jerraya

Doc. Source: Embedded Software for SoC

Publisher : Kluwer Academic Publishers

Pages : chapitre 14, 179-186

In this paper, we explain hardware abstraction layer (HAL) and related issues in the context of SoC design. First, we give a HAL definition and examples of HAL function. HAL gives and abstraction of HW architecture to upper layer software (SW). It hides the implementation details of HW architecture, such as processor, memory management unit (MMU), cache, memory, DMA controller, timer, interrupt controller, bus/bus bridge/network interface, I/O devices, etc. HAL has been used in the conventional area of operating system to ease porting OSs on different boards. In the context of SoC design, HAL keeps still the original role of enabling the portability of upper layer SW. However, in SoC design, the portability impacts on the design productivity in two ways: SW reuse and concurrent HW and SW design. As in the case of HW interface standards, e.g. VCI, OCP-IP, etc., the HAL API needs also a standard. However, contrary to the case of HW interface, the standard of HAL API needs to be generic not only to support the common functionality of HAL, but also to support new HW architectures in application-specific SoC design-with a guideline for HAL API extension. We present also three important issues of HAL for SoC design: HAL modelling, appication-specific and automatic HAL design.1