Hard Processor System Remote System Update User Guide: Agilex™ 5 SoCs
1.2. System Components
This section describes the components in a typical Linux system. The components in this system are described in the following figure and table.
The bitstream is stored in the configuration flash device (QSPI) connected to the SDM pins. The HPS software is typically stored in a mass storage flash device (SD/eMMC/ NAND) connected to the HPS pins but can also be stored in the flash device connected to the SDM pins.
Component | Description |
---|---|
FPGA Configuration Data | When using FPGA first mode, this component of the bitstream contains the full FPGA and I/O configuration data. When using HPS first mode, it contains just the HPS and HPS EMIF I/Os. |
SDM Firmware | Firmware for the Secure Device Manager Provides commands for managing RSU. These commands are not directly accessible to you. Instead both U-Boot and Linux* offer services for accessing the functionality offered by the SDM commands indirectly. |
U-Boot SPL | The HPS First Stage Bootloader Initializes hardware including the SDRAM and loads the HPS Second Stage Bootloader. |
ATF | Arm Trusted Firmware Provides secure services to U-Boot and Linux through Secure Monitor Call (SMC).6 |
U-Boot | HPS Second Stage Bootloader:
|
Linux* Drivers | Altera™ RSU driver uses the functionality provided by U-Boot SMC and makes services available to applications running on Linux*. |
LIBRSU | Linux* user space library providing APIs for managing RSU. |
RSU Client | Linux* sample application which uses LIBRSU for managing RSU. |
Altera™ provides an RSU solution that focuses on the reliable update of the components that are part of the configuration bitstream, and are located in SDM flash. It is your responsibility to devise a scheme for the reliable update of the rest of the system components.
When RSU flow is exercised from the HPS software, the HPS must get the ownership of the QSPI, which typically is done by the HPS first stage bootloader.
For information about version compatibility requirements of various system components, refer to the Version Compatibility Considerations section.