Mailbox Client Intel® FPGA IPs User Guide

ID 683290
Date 11/04/2024
Public
Document Table of Contents

1.11.2. LibRSU HAL API

The LibRSU HAL API is available for this controller in the following software files:
  • librsu.h
  • librsu.c
  • rsu_client.h
  • rsu_client.c

The HAL driver implements the remote system update feature in SDM-based devices which update the Intel FPGA image and perform device reconfiguration remotely. The Nios® II and Nios® V processors act as the remote system update host controller throughout the whole process.

It is recommended that your system memory has a minimum stack size or heap size of twice the size of the Decision Firmware of the respective SDM-based device.

Note:

You may need to modify the string MAILBOX_NAME based on your system.h in the following source codes.

  • For Stratix® 10 and Agilex™ 7 devices:
    altera_s10_mailbox_client_flash_rsu.c
    altera_s10_mailbox_client_rsu.c
  • For Agilex™ 5 devices:
    intel_mailbox_client_flash_rsu.c
    intel_mailbox_client_rsu.c
You need the ZLIB binaries to use the LibRSU HAL API. The following code generates the ZLIB libraries according to the specific version, and renames the folder as zlib. It is recommended to use the latest version of ZLIB binaries, provided in the zlib.net Home Page.
wget http://zlib.net/zlib-<version>.tar.gz 
tar xf zlib-<version>.tar.gz 
mv zlib-<version> zlib

The final directory path of the zlib folder must be one level above the bsp project folder (this folder contains the Nios V processor Board Support Package) as shown in the following figure.

Figure 6. Directory Structure