Skip to main content
构建 RTSS 固件的前提条件和步骤。

前提条件

注意
警告
  • 请勿在没有启动(startup)目标文件的情况下构建 RTSS 源代码,否则会导致编译错误。
  • 与启动相关的 RTSS 软件组件未包含在本版本中,仅以目标文件形式提供。要获取这些文件,请联系 Qualcomm 支持团队。
  1. 运行 git clone 命令下载 RTSS 固件:
    例如:
    git clone 命令会将内容克隆到 <FIRMWARE_ROOT>/qualcomm-linux-spf-2-0_ap_standard_oem_sail.git 目录中。有关最新的 <firmware release tag>,请参阅 Release tags。
  2. 下载 FreeRTOS 内核。
    1. 使用 git clone 命令克隆 FreeRTOS 内核:
    2. 进入 FreeRTOS 内核目录:
    3. 将 croutine.c、cspell.config.yaml、event_groups.c、include manifest.yml、queue.c、stream_buffer.c、tasks.c、timers.c 和 list.c 文件复制到 <top_directory>/sail_proc/FreeRTOS/kernel/:
  3. 下载 Arm® GNU Toolchain 编译器:
    注意仅在 x86 64 位主机上安装 Arm GNU Toolchain 编译器。
    1. 从 Arm GNU Toolchain Downloads 下载 arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi 工具链变体:
    2. 解压下载的 arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi.tar.xz 文件:
    3. 进入 sail_proc 目录:
    4. 在 sail_proc 目录下创建 toolchain 文件夹:
    5. 将解压得到的 arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi 文件夹复制到 sail_proc/toolchain 目录中。
    6. 从 <FIRMWARE_ROOT>/ 的顶层目录导出 SECTOOLS 变量: 对于 IQ-9075:
      对于 IQ-8275:
  4. 收到 Qualcomm 支持团队提供的启动目标文件后,执行以下操作:
    1. 解压 aarch32_startup.zip 文件。
    2. 在 sail_proc/BSP 目录下创建 startup 文件夹。
    3. 将解压得到的 aarch32 文件夹复制到 startup 文件夹中。

步骤

  1. 进入 bash:
  2. 进入 RTSS 的主目录:
  3. 在设备上设置构建环境:
    注意
    1. 在运行该命令之前,请确保工具链和 RTOS 代码/二进制文件已复制到构建中,以避免编译问题。
  4. 构建镜像:
    对于 IQ-9075:
    对于 IQ-8275:
    RTSS 构建成功执行后,会在以下位置生成 sailhyp.elf 和 sailsw1.elf: 对于 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 对于 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. 将生成的 RTSS 文件复制到 <workspace_path>/build-<DISTRO>/tmp-glibc/deploy/images/<MACHINE>/<IMAGE>/sail_nor 文件夹中,以便对 NOR 闪存进行编程。 示例:<workspace_path>/build-qcom-wayland/tmp-glibc/deploy/images/qcs9075-iq-9075-evk/qcom-multimedia-image/sail_nor 参数:
    • <DISTRO>: qcom-wayland
    • <MACHINE>: qcs9075-iq-9075-evk
    • <IMAGE>: qcom-multimedia-image
    注意有关 <MACHINE> 的信息,请参阅 Software Release Notes。
  6. (可选)要刷新构建,请清理构建:
    对于 IQ-9075:
    对于 IQ-8275:
    运行 make clean TARGET=<target name> 命令后,执行以下步骤,使用 make TARGET=<target name> 命令重新构建镜像:
    1. 将解压得到的 aarch32 文件夹复制到 startup 文件夹中。
    2. 进入 RTSS 的主目录:
    3. 在设备上设置构建环境:
    4. 重新构建镜像:
      对于 IQ-9075:
      对于 IQ-8275:
  7. 有关刷写 RTSS 的说明,请参阅 Flash SAIL。

后续步骤