> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 使用 QSC-CLI 构建

## 简介

本信息提供使用 `qsc-cli` 工具同步、构建和烧录镜像的说明，面向有权访问 Qualcomm 专有资源的注册用户。qsc-cli 工具通过提供统一的界面在容器化环境中运行任务，简化了工作流程，确保了简洁性、一致性和可复现性。

总体而言，本信息涵盖：

* 设置并认证 `qsc-cli` - [安装 QSC-CLI](#install-qsc-cli)
* 使用 `qsc-cli` 同步所需的源码和依赖 - [下载软件](#download-the-software)
* 使用 `qsc-cli` 构建 Qualcomm 镜像 - [构建默认配置](#build-the-default-configuration)

## 支持的芯片组

QIR SDK 支持以下芯片组。如果您的芯片组未在列表中，则此处描述的 QSC CLI 构建流程不适用于您的设备。

| SoC | 描述                                          | 支持情况 |
| --- | ------------------------------------------- | ---- |
| IQ9 | Qualcomm Dragonwing™ IQ-9075 Evaluation Kit | ✓    |
| IQ8 | Qualcomm Dragonwing™ IQ-8275 Evaluation Kit | ✓    |

## 安装 QSC-CLI

`qsc-cli` 是 Qualcomm 提供的命令行工具，为访问、管理和构建 Qualcomm 软件提供端到端的工作流。按照以下步骤在您的系统上安装 `qsc-cli`：

* 访问 [Qualcomm 支持页面](https://www.qualcomm.com/support/working-with-qualcomm) 注册您的 Qualcomm 电子邮件 ID。

* 下载 `qsc-cli` 的 Debian 软件包：

  <CodeGroup>
    ```bash x86 theme={null}
    wget https://softwarecenter.qualcomm.com/api/download/software/tools/Qualcomm_Software_Center/Linux/Debian/latest.deb -O qsc_installer.deb
    ```

    ```bash ARM64 theme={null}
    wget https://softwarecenter.qualcomm.com/api/download/software/tools/Qualcomm_Software_Center/Linux/ARM64/Debian/latest.deb -O qsc_installer.deb
    ```
  </CodeGroup>

* 安装 `qsc-cli` Debian 软件包：
  ```bash theme={null}
  sudo apt update
  sudo apt install ./qsc_installer.deb
  ```

* 使用您注册的电子邮件 ID 登录 `qsc-cli`：
  ```bash theme={null}
  qsc-cli login -u <username>
  ```

## 配置参数

下表列出了 `chip-software download` 命令的 `--product`、`--release` 和 `--image` 参数值。每个产品对应一个或多个必须下载的固件镜像，以完成完整构建。

| `--product`    | `--release` | `--image`                                                                    |
| -------------- | ----------- | ---------------------------------------------------------------------------- |
| QCS9100.LE.2.0 | r00131.2    | DSP.AT.1.0.1    <br />AOP.HO.3.6.1   <br />BOOT.MXF.1.0.c1<br />TZ.XF.5.29.1 |
| QCS8300.LE.2.0 | r00131.3    | DSP.AT.1.0.1    <br />AOP.HO.3.6.1   <br />BOOT.MXF.1.0.c1<br />TZ.XF.5.29.1 |

下表列出了构建 QIR SDK 时可使用的 `--distribution` 参数值：

| Distribution                                            | 描述                                  | 用途                               |
| ------------------------------------------------------- | ----------------------------------- | -------------------------------- |
| `Qualcomm_Linux.SPF.2.0\|TEST\|DEVICE\|PB_QIRPSDK`      | 包含 QIR SDK 和预构建固件的高级 OS（无调制解调器）     | 使用预构建固件和 QIR SDK 进行无调制解调器构建的开发者  |
| `Qualcomm_Linux.SPF.2.0\|AP\|Standard\|OEM\|NM_QIRPSDK` | 包含 QIR SDK 且固件以源码形式提供的高级 OS（无调制解调器） | 使用 HLOS 和 QIR SDK 构建无调制解调器固件的开发者 |

## 下载软件

使用 `chip-software download` 命令下载软件版本。使用前面的表格查询与您的 SoC 对应的 `--product`、`--release` 和 `--distribution` 值：

```bash theme={null}
qsc-cli chip-software download --workspace-path '<absolute-workspace-path>' --product '<product-id>' --release '<release-id>'  --distribution '<distribution-name>'
```

## 构建默认配置

### 编译

下载完成后，即可开始编译过程。根据软件规模和主机配置的不同，编译过程可能需要数小时。

```bash theme={null}
qsc-cli chip-software compile --workspace-path '<absolute-workspace-path>'
```

此过程会构建所需的 Qualcomm 固件并完成 Qualcomm Linux 构建。

### 重新编译

在对软件版本进行任何修改后，若要重新编译单个软件镜像，请使用您通过 QSC CLI 构建的现有工作区：

```bash theme={null}
qsc-cli chip-software compile --image '<image-name>' --workspace-path '<absolute-workspace-path>'
```

## 构建您自己的配置

要构建您自己的配置，必须先使用默认机器配置编译构建，然后使用您自己的机器和发行版配置文件编译软件产品。

在编译软件镜像时，请确保同时编译软件产品。例如，如果您编译 `BOOT.MXF.1.0.c1`，请确保同时编译软件产品（例如 `QCS9100.LE.2.0`）。

* 使用默认机器配置编译构建

* 使用您自己的机器和发行版配置文件编译软件产品。此命令会打开一个终端。
  ```bash theme={null}
  qsc-cli chip-software open-build-env --workspace-path <absolute-workspace-path> --image <software-image-name>
  ```

* 根据您自己的机器配置更新高亮显示的命令，并在终端上运行：例如，要构建 IQ-9075-EVk，请将 `<machine.yml>` 的值改为 `iq-9075-evk.yml`。
  <img src="https://mintcdn.com/qualcomm-prod/u7ceCdd23UkbUMt2/SDKs/QIR-SDK-2.0/media/qsc-cli-open-build-terminal.png?fit=max&auto=format&n=u7ceCdd23UkbUMt2&q=85&s=29eee5a1b253addaf0c9de2af0948ecc" alt="build-own-config" width="1572" height="184" data-path="SDKs/QIR-SDK-2.0/media/qsc-cli-open-build-terminal.png" />

* `Robotics images` 和 `QIR SDK` 会在以下路径生成：

  <CodeGroup>
    ```bash IQ-9075-EVK theme={null}
    Robotics images: <workspace-path>/DEV/LE.QCROBOTICS.2.0/build/tmp/deploy/images/iq-9075-evk/qcom-robotics-proprietary-image-iq-9075-evk.rootfs.qcomflash
    QIR SDK: <workspace-path>/DEV/LE.QCROBOTICS.2.0/build/tmp/deploy/qirpsdk_artifacts/iq-9075-evk/qirp-sdk_<version>.tar.gz
    ```

    ```bash IQ-8275-EVK theme={null}
    Robotics images: <workspace-path>/DEV/LE.QCROBOTICS.2.0/build/tmp/deploy/images/iq-8275-evk/qcom-robotics-proprietary-image-iq-8275-evk.rootfs.qcomflash
    QIR SDK: <workspace-path>/DEV/LE.QCROBOTICS.2.0/build/tmp/deploy/qirpsdk_artifacts/iq-8275-evk/qirp-sdk_<version>.tar.gz
    ```
  </CodeGroup>

<Warning>
  系统会设置一个环境，用于针对特定软件镜像运行您自己的构建命令。QSC 在未来的版本中将不会跟踪输入工作区的状态，并且您无法使用 qsc-cli 烧录这些工作区。
</Warning>
