Skip to main content
Prerequisites and procedure for building RTSS firmware.

Prerequisites

Note
  • Compile the RTSS source code on an Ubuntu 22.04 host computer.
  • The build environment is initialized as described in the BSP image build with firmware.
Caution
  • Don’t build the RTSS sources without the startup object files, as this results in compilation errors.
  • The RTSS software components related to startup aren’t included in this release and these are provided as object files only. To obtain these files, contact the Qualcomm Support team.
  1. Download the RTSS firmware by running the git clone command:
    For example:
    The git clone command clones the content into the <FIRMWARE_ROOT>/qualcomm-linux-spf-2-0_ap_standard_oem_sail.git directory. For the latest <firmware release tag>, see Release tags.
  2. Download the FreeRTOS kernel.
    1. Clone the FreeRTOS kernel using the git clone command:
    2. Go to the FreeRTOS kernel directory:
    3. Copy the croutine.c, cspell.config.yaml, event_groups.c, include manifest.yml, queue.c, stream_buffer.c, tasks.c, timers.c, and list.c files to <top_directory>/sail_proc/FreeRTOS/kernel/:
  3. Download the Arm® GNU Toolchain compiler:
    NoteInstall the Arm GNU Toolchain compiler on x86 64-bit host computer only.
    1. Download the arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi toolchain variant from Arm GNU Toolchain Downloads:
    2. Extract the downloaded arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi.tar.xz file:
    3. Go to the sail_proc directory:
    4. Create the toolchain folder under the sail_proc directory:
    5. Copy the extracted arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi folder into the sail_proc/toolchain directory.
    6. Export the SECTOOLS variable from the top-level directory of <FIRMWARE_ROOT>/: For IQ-9075:
      For IQ-8275:
  4. After you receive the startup object files from the Qualcomm Support team, do the following:
    1. Extract the aarch32_startup.zip file.
    2. Create the startup folder under the sail_proc/BSP directory.
    3. Copy the extracted aarch32 folder into the startup folder.

Procedure

  1. Enter bash:
  2. Go to the main directory of RTSS:
  3. Set up the build environment on the device:
    Note
    1. Before running the command, ensure that the toolchain and RTOS code/binaries are copied to the build to avoid compilation issues.
  4. Build the image:
    For IQ-9075:
    For IQ-8275:
    After successful execution of the RTSS build, sailhyp.elf and sailsw1.elf are generated at: For IQ-9075:
    qualcomm-linux-spf-2-0_ap_standard_oem_sail/SAIL.SI.1.2/sail_proc/build/ms/bin/SAIL_RTOS/DEBUG/lemans/signed For IQ-8275: qualcomm-linux-spf-2-0_ap_standard_oem_sail/SAIL.SI.1.2/sail_proc/build/ms/bin/SAIL_RTOS/DEBUG/monaco/signed
  5. Copy the generated RTSS files into the <workspace_path>/build-<DISTRO>/tmp-glibc/deploy/images/<MACHINE>/<IMAGE>/sail_nor folder to program on the NOR flash. Example: <workspace_path>/build-qcom-wayland/tmp-glibc/deploy/images/qcs9075-iq-9075-evk/qcom-multimedia-image/sail_nor Parameters:
    • <DISTRO>: qcom-wayland
    • <MACHINE>: qcs9075-iq-9075-evk
    • <IMAGE>: qcom-multimedia-image
    NoteFor information about <MACHINE>, see the Software Release Notes.
  6. (Optional) To refresh the build, clean the build:
    For IQ-9075:
    For IQ-8275:
    After running the make clean TARGET=<target name> command, perform the following steps to rebuild the image using the make TARGET=<target name> command:
    1. Copy the extracted aarch32 folder into the startup folder.
    2. Go to the main directory of RTSS:
    3. Set up the build environment on the device:
    4. Rebuild the image:
      For IQ-9075:
      For IQ-8275:
  7. For instructions about flashing RTSS, see Flash SAIL.

Next steps