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

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

5.4.2. Developing a Bare-Metal Application

The HPS can be used in a bare-metal configuration (without an operating system) 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. 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 Microprocessor Unit (MPU) subsystem.

For example:

  • A typical bare-metal application uses only a single core. You must develop runtime capabilities to manage all four cores 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 makes more efficient use of the resources in your MPU subsystem.