This repo contains the Unified remote system update which is made platform independent. The code base is taken from intel-rsu and is reworked to make it platform agnostic. For more information please checkout : https://www.intel.com/content/www/us/en/docs/programmable/683184/22-4/overview-s10-fm-dm.html
Remote system update feature allows you to update the FPGA image and reconfigure Agilex devices remotely on field with fallback mechanism support.
- gcc/9.3.0 (for unit-test)
- cmake/3.24.0 (build configuration tool)
- arm_gnu/linaro/aarch64/9.2 (for linux aarch64 platform)
- lcov/1.15 (optional)
- doxygen/1.8.16 (optional)
- ninja or make (build tool)
- quartus (for generating collaterals for unit test)
We are using google unit test framework to unit test unified libRSU.
cmake -S . -B build -DUNIT_TEST=ON -G"Ninja" && cmake --build build && ctest --test-dir build
Coverage is enabled through CMake options: -DCOVERAGE=ON
It uses gcov and lcov to genarate the coverage report. For running unit-test with coverage and generate coverage report.
cmake -S . -B build -DUNIT_TEST=ON -G"Ninja" -DCOVERAGE=ON && cmake --build build --target coverage && ctest --test-dir build && cmake --build build --target coverage-report
cmake -S . -B build -G"Ninja" -DPLATFORM=linux-aarch64 && cmake --build build
linux-example/rsu_client.c
is a sample application that utilizes the unified LibRSU shared library to execute RSU operations. User needs to copy both build/bin/rsu_client
and build/lib/libuniLibRSU.so.*
to the target machine for execution.
To generate debug build you need to add -DCMAKE_BUILD_TYPE=Debug
during CMake configuration step.
Altera-opensource Zephyr RTOS is already integarted with uniLibRSU the build utility will get the required version of unified librsu from altera-opensource by performing west update
.
Doxygen is used to generate the documentation. Documentation can be generated by using -DBUILD_DOC=ON
in CMake build command.
Example: cmake -S . -B build -DBUILD_DOC=ON -G"Ninja" && cmake --build build