29.01.2015 Views

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 14<br />

INTRODUCTION TO HARDWARE<br />

ABSTRACTION LAYERS FOR SOC<br />

Sungjoo Yoo and Ahmed A. Jerraya<br />

TIMA Laboratory, Grenoble, France<br />

Abstract. In this paper, we explain hardware abstraction layer (HAL) and related issues in the<br />

context of <strong>SoC</strong> <strong>de</strong>sign. First, we give a HAL <strong>de</strong>finition and examples of HAL function. HAL<br />

gives an abstraction of HW architecture to upper layer software (SW). It hi<strong>de</strong>s the implementation<br />

<strong>de</strong>tails of HW architecture, such as processor, memory management unit (MMU), cache,<br />

memory, DMA controller, timer, interrupt controller, bus/bus bridge/network interface, I/O<br />

<strong>de</strong>vices, etc. HAL has been used in the conventional area of operating system to ease porting<br />

OSs on different boards. In the context of <strong>SoC</strong> <strong>de</strong>sign, HAL keeps still the original role of<br />

enabling the portability of upper layer SW. However, in <strong>SoC</strong> <strong>de</strong>sign, the portability impacts on<br />

the <strong>de</strong>sign productivity in two ways: SW reuse and concurrent HW and SW <strong>de</strong>sign. As in the<br />

case of HW interface standards, e.g. VCI, OCP-IP, etc., the HAL API needs also a standard.<br />

However, contrary to the case of HW interface, the standard of HAL API needs to be generic<br />

not only to support the common functionality of HAL, but also to support new HW architectures<br />

in application-specific <strong>SoC</strong> <strong>de</strong>sign with a gui<strong>de</strong>line <strong>for</strong> HAL API extension. We present<br />

also three important issues of HAL <strong>for</strong> <strong>SoC</strong> <strong>de</strong>sign: HAL mo<strong>de</strong>lling, application-specific and<br />

automatic HAL <strong>de</strong>sign.1<br />

Key words: <strong>SoC</strong>, hardware abstraction layer, hardware <strong>de</strong>pen<strong>de</strong>nt software, software reuse, HAL<br />

standard, simulation mo<strong>de</strong>l of HAL, automatic and application-specific <strong>de</strong>sign of HAL<br />

1. INTRODUCTION<br />

Standard on-chip bus interfaces have been <strong>de</strong>veloped to enable hardware (HW)<br />

component reuse and integration [1, 2]. Recently, VSIA is investigating the<br />

same analogy in software (SW) component reuse and integration with its<br />

hardware <strong>de</strong>pen<strong>de</strong>nt software (HdS) application programming interface (API).<br />

It is one that is conventionally consi<strong>de</strong>red as hardware abstraction layer (HAL)<br />

or board support package (BSP).<br />

In this paper, we investigate the following questions related to HAL, especially,<br />

<strong>for</strong> system-on-chip (<strong>SoC</strong>).<br />

(1)<br />

(2)<br />

(3)<br />

(4)<br />

What is HAL<br />

What is the role of HAL <strong>for</strong> <strong>SoC</strong> <strong>de</strong>sign<br />

What does the HAL standard <strong>for</strong> <strong>SoC</strong> <strong>de</strong>sign need to look like<br />

What are the issues of HAL <strong>for</strong> <strong>SoC</strong> <strong>de</strong>sign<br />

179<br />

A Jerraya et al. (eds.), <strong>Embed<strong>de</strong>d</strong> <strong>Software</strong> <strong>for</strong> SOC, 179–186, 2003.<br />

© 2003 Kluwer Aca<strong>de</strong>mic Publishers. Printed in the Netherlands.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!