Hardware Abstraction Layer – Introduction and Overview - Archive ouverte HAL
Chapitre D'ouvrage Année : 2009

Hardware Abstraction Layer – Introduction and Overview

Résumé

Embedded software is playing an increasing role in heterogeneous Multi-Processor System-on-Chip (MPSoC) architectures due to its high complexity. In order to reduce the long and fastidious design process, embedded software needs to be reused over several MPSoCs. Thus, software portability becomes a key challenge. In this chapter, we present a clear separation between the hardware independent and the hardware dependent software layers, through adopting a multi-layered organization of the software stack. We introduce a component based software design flow, which allows the gradual generation and validation of the various software layers to obtain the final software stack. Then, by changing the Hardware Abstraction Layer (HAL), the software stack can be executed on different MPSoC architectures. The HAL represents the lowest software layer, which totally depends on the target architecture. The HAL abstraction, through the use of well defined HAL APIs, makes easier the software portability and enables flexibility. The paper shows that the HAL APIs allow early software development before the hardware architecture is available, but also architecture exploration. The proposed methodology is applied to design the software stack for the Motion JPEG multimedia application and to execute it on diverse processors by changing the HAL and preserving the HAL APIs.

Mots clés

Fichier non déposé

Dates et versions

hal-00379166 , version 1 (27-04-2009)

Identifiants

Citer

K. Popovici, A.A. Jerraya. Hardware Abstraction Layer – Introduction and Overview. Wolfgang Ecker, Wolfgang Mller, Rainer Domer. Hardware dependent Software, Concept, Tools and Applications, Springer, pp.67- 94, 2009, ⟨10.1007/978-1-4020-9436-1⟩. ⟨hal-00379166⟩
595 Consultations
0 Téléchargements

Altmetric

Partager

More