AN 796: Cyclone® V and Arria® V SoC Device Design Guidelines

ID 683360
Date 3/30/2022
Public
Document Table of Contents

5.1.4. Assembling a Software Development Platform for a Bare-Metal Application

Intel® hardware libraries (HWLibs) are low level bare metal software libraries provided with SoC EDS and various components of the HPS. The HWLibs are also typically used by Intel® ’s OS partners to build board support packages for operating systems.

The HWLibs have two components:
  • SoC Abstraction Layer (SoCAL): Symbolic register abstraction later that enables direct access and control of HPS device registers within the address space.
  • Hardware Manager (HWMgr): APIs that provide more complex functionality and drivers for higher level use case scenarios.
Figure 13. HWLibs Overview

Note that not all hardware is covered by SoCAL and HWMgr, therefore writing custom code might be necessary depending on the application. Software applications that use HWLibs should have run time provisions to manage the resources of the MPU subsystem, the cache and memory. These provisions are typically what the operating systems provide.

GUIDELINE: It is recommended using HWLibs only if you are familiar with developing a run time provision to manage your application.

GUIDELINE: Use the HWLibs Project Generator to create your customized HWLibs project.

Intel recommends that you create your custom HWLibs project using the HWLibs Project Generator tool, available on RocketBoards.