279 articles – 2093 Notices  [english version]
Fiche détaillée Chapitres d'ouvrages scientifiques
Embedded Software for SoC (2003) chapitre 14, 179-186
Introduction to Hardware Abstraction Layers for SoC
S. Yoo1, A.A. Jerraya1

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
1 :  TIMA - Techniques of Informatics and Microelectronics for integrated systems Architecture
SoC – hardware abstraction layer – hardware dependent software – software reuse – HAL standard – simulation model of HAL – automatic and application-specific design of HAL