AN 802: Intel® Stratix® 10 SoC Device Design Guidelines

ID 683117
Date 8/05/2021
Public
Document Table of Contents

5.6. Assembling your Software Development Platform for a Bare-Metal Application

The HWLIBs are collections of low level bare-metal software utilities provided with SoC EDS and designed for controlling 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): Register abstraction layer that enables direct access and control of device registers within the HPS address space.
  • Hardware Manager (HWMgr): APIs that provide more complex functionality and drivers for higher level use case scenarios.
Figure 22. HWLIBs Overview
Note: Not all hardware is covered by SoCAL and HWMgr, therefore writing custom code may be necessary depending on application.

Software applications that use HWLibs must have runtime provisions to manage the resources of the MPU subsystem. These provisions are typically what operating systems provide.

GUIDELINE: Use HWLIBs only if you are familiar with developing runtime provisions to manage your application.

GUIDELINE: Use the HWLIBs examples from <SoC EDS installation folder>/embedded/examples/software/ as a starting point for your bare-metal development.

For more information about HWLIBs, refer to:
  • Intel® SoC FPGA Embedded Design Suite User Guide
  • Getting Started with HWLIBs Bare-metal Development web page on the Intel® Wiki