Add Support for HSS Payload Generation in RTEMS Source Builder
Summary
Currently, generating a payload for the RTEMS application binaries (e.g., hello.elf) for the BeagleV-Fire board requires manual steps using the hss-payload-generator tool from the Hart Software Services (HSS) repository. This process involves copying the ELF file to a specific directory, editing a YAML configuration file, and running the payload generator manually.
To streamline the development workflow and reduce the manual steps, it would be beneficial to integrate HSS payload generation into the RTEMS Source Builder (RSB). This integration would allow developers to automatically generate the necessary binary payloads directly from the RSB environment without needing to perform separate manual steps.
Current Manual Process:
-
Copy the RTEMS ELF file (hello.elf) to the HSS/tools/hss-payload-generator/test directory.
-
Navigate to the hss-payload-generator source directory:
-
Edit the test/uboot.yaml file to configure hart entry points and the binary file name:
set-name: 'PolarFire-SoC-HSS::RTEMS' hart-entry-points: {u54_1: '0x1000000000'} payloads: test/hello.elf: {exec-addr: '0x1000000000', owner-hart: u54_1, priv-mode: prv_m, skip-opensbi: true}
-
Run the hss-payload-generator to create the payload binary:
./hss-payload-generator -c test/uboot.yaml payload.bin
Steps to reproduce
-
Automate the Payload Generation: Integrate the steps required to generate a payload using hss-payload-generator into the RTEMS Source Builder. This would automate the copying of ELF files, configuration of YAML files, and execution of the payload generation command.
-
Workflow: With this integration, users should be able to invoke a single RSB command or script that handles the entire process, from building the RTEMS application to generating the appropriate HSS payload.
Additional Notes:
Update this issue and the associated documentation when RSB adds support for HSS payload generation. The goal is to ensure that the documentation reflects the automated process once implemented.