AN 763: Intel® Arria® 10 SoC Device Design Guidelines

ID 683192
Date 5/17/2022
Document Table of Contents Developing a Bare-Metal Application

The HPS can be used in a bare-metal configuration (without an OS) and Intel offers Hardware Libraries (HWLibs) that consist of both high-level APIs, and low level macros for most of the HPS peripherals.

Typically bare-metal software is used for board bring-up, but bare metal can also be used as the actual application platform. However, to develop a bare-metal application for the HPS, you must be familiar with developing run-time capabilities to ensure that your bare metal application makes efficient use of resources available in your MPU subsystem.

For example:
  • A typical bare-metal application uses only a single core, you must develop run time capabilities to manage both cores and the cache subsystem if you want to fully utilize the MPU subsystem.
  • As your application increases in complexity you may need to build capabilities to manage and schedule processes, handle inter-process communication and synchronize between events within your application.

To this end, even a small lightweight RTOS offers simple scheduling, inter-process communication and interrupt handling capabilities that make a more efficient use of the resources in your MPU System Complex.