前提条件
注意
- 在 Ubuntu 22.04 主机上编译 RTSS 源代码。
- 按照 BSP image build with firmware 中的说明初始化构建环境。
-
运行
git clone命令下载 RTSS 固件:例如:git clone命令会将内容克隆到<FIRMWARE_ROOT>/qualcomm-linux-spf-2-0_ap_standard_oem_sail.git目录中。有关最新的<firmware release tag>,请参阅 Release tags。 -
下载 FreeRTOS 内核。
- 使用
git clone命令克隆 FreeRTOS 内核: - 进入 FreeRTOS 内核目录:
- 将
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/:
- 使用
-
下载 Arm® GNU Toolchain 编译器:
注意仅在 x86 64 位主机上安装 Arm GNU Toolchain 编译器。
- 从 Arm GNU Toolchain Downloads 下载
arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi工具链变体: - 解压下载的
arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi.tar.xz文件: - 进入
sail_proc目录: - 在
sail_proc目录下创建toolchain文件夹: - 将解压得到的
arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi文件夹复制到sail_proc/toolchain目录中。 - 从
<FIRMWARE_ROOT>/的顶层目录导出SECTOOLS变量: 对于 IQ-9075:对于 IQ-8275:
- 从 Arm GNU Toolchain Downloads 下载
步骤
-
进入 bash:
-
进入 RTSS 的主目录:
-
在设备上设置构建环境:
注意
- 在运行该命令之前,请确保工具链和 RTOS 代码/二进制文件已复制到构建中,以避免编译问题。
-
构建镜像:
对于 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 -
将生成的 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。 - <DISTRO>:
-
(可选)要刷新构建,请清理构建:
对于 IQ-9075:对于 IQ-8275:运行
make clean TARGET=<target name>命令后,执行以下步骤,使用make TARGET=<target name>命令重新构建镜像:- 进入 RTSS 的主目录:
- 在设备上设置构建环境:
- 重新构建镜像:
对于 IQ-9075:对于 IQ-8275:
- 进入 RTSS 的主目录:
- 有关刷写 RTSS 的说明,请参阅 Flash SAIL。

