Qualcomm Device Loader (QDL) 是一款面向 Qualcomm 设备的跨平台命令行刷写工具。当您需要完全控制刷写过程、在无图形界面(headless)环境下运行,或希望编写自动化刷写脚本时,请使用此方法。
如需基于 GUI 的替代方案,请参阅使用 Qualcomm Launcher 刷写 Qualcomm Linux。
刷写会擦除设备上的所有数据。开始之前请备份所有重要内容。
所需条件
- 配有 12 V 电源的 IQ-8275 EVK
- USB Type-C 数据线(EVK 上的 USB0 端口 → 主机)
- 运行 Ubuntu、Windows 或 macOS 的主机
选择您的主机操作系统并按完整流程操作
从 Qualcomm Software Center 下载适用于您主机操作系统的 QDL。
下载 Qualcomm Linux 镜像
-
下载 Qualcomm Linux 镜像。
-
解压 zip 文件。可刷写的产物位于:
其中
<path-to-image> 是解压镜像 zip 时创建的文件夹。
下载 QDL
-
下载 QDL 工具(Linux x64 版)并解压。解压后的文件夹包含
qdl 二进制文件——下文中称为 <qdl_dir>。
-
安装所需的库(如已安装可跳过):
建议将镜像和 QDL 解压到同一个父文件夹中。这样所有路径都位于同一根目录下,便于在 provision、SAIL 和镜像文件夹之间切换。
设置 QDL 驱动
Ubuntu 需要一条 udev 规则,以便当设备进入 EDL 模式时,内核授予您的用户与设备通信的权限。
-
检查该规则是否已存在:
-
如果文件不存在,可用一条命令创建:
如果文件已存在,请确认规则是否存在:
-
重新加载 udev 以应用规则:
如果 USB 线已连接,请断开并重新连接。
设置 QDL
-
使 QDL 可执行:
-
验证 QDL 是否可用:
您应看到 QDL 的用法输出。如果出现错误,请检查路径。
使设备进入 EDL 模式
-
打开 SW2-3 DIP 开关——将其向上推。
-
将 12 V 电源连接到 EVK。
-
用 USB Type-C 数据线将 EVK 上的 USB0 连接到主机。
-
拨动电源开关打开设备。
-
确认设备已进入 EDL 模式:
预期输出:
如果设备未出现,请重新检查 SW2-3 和 USB-C 数据线。
配置(Provision)UFS
UFS(通用闪存存储,Universal Flash Storage)配置会将内部存储划分为多个独立的逻辑单元号(LUN),每个 LUN 专用于特定类型的数据(引导、系统、用户数据等)。这可以提高访问效率,并使分区布局在多次刷写之间保持一致。如果符合以下任一情况,请执行 UFS 配置:
- 这是一块从未刷写过的全新板卡。
- 您正在升级到新的镜像版本。
- 您正在切换发行版(Qualcomm Linux ↔ Ubuntu)。
-
下载并解压 provision 文件:
-
在解压后的 provision 目录中执行 UFS 配置:
预期输出:
UFS 配置完成后,设备会从 USB 断开连接。继续之前,请将电源开关关闭再打开,使设备重新启动进入 EDL 模式。
刷写 SAIL 固件
安全岛(Safety Island,SAIL)是 IQ-8275 EVK 上一个独立、隔离的处理器,独立于主应用处理器处理安全关键功能。其固件位于专用的 spinor 闪存分区上,必须在主操作系统镜像之前单独刷写。
-
进入解压后镜像中的
sail_nor 子文件夹:
-
刷写 SAIL 固件:
预期输出:
如果刷写失败,请参阅如何排查刷写相关问题。
刷写 Qualcomm Linux
-
进入主镜像文件夹:
-
刷写镜像:
当最后一行显示以下内容时,表示刷写完成:
刷写过程中出现的任何扇区截断(sector-truncation)警告都是无害的。
下载 Qualcomm Linux 镜像
-
下载 Qualcomm Linux 镜像。
-
解压 zip 文件。可刷写的产物位于:
其中
<path-to-image> 是解压镜像 zip 时创建的文件夹。
下载 QDL
-
下载 QDL 工具(macOS Apple Silicon 版)并解压。解压后的文件夹包含
qdl 二进制文件——下文中称为 <qdl_dir>。有关工具的使用详情,请参阅该文件夹中的 QDL_User_Guide。
建议将镜像和 QDL 解压到同一个父文件夹中。这样所有路径都位于同一根目录下,便于在 provision、SAIL 和镜像文件夹之间切换。
设置 QDL 路径
- 通过 Homebrew 安装所需的库(如已安装可跳过):
brew install 失败?安装 Homebrew 工具
Brew(官方名称为 Homebrew)是一款软件包管理器,可让您在 Mac 终端中使用文本命令安装、更新和删除程序。请按以下步骤安装 Homebrew。1. 安装 xcode2. 运行 Homebrew 安装命令3. 将 Homebrew 添加到 shell 的 PATH添加以下行4. 应用更改5. 验证安装预期输出:
-
使 QDL 可执行,并清除 macOS 隔离标记,以便 Gatekeeper 允许其运行:
需要 sudo,因为某些捆绑库是只读的。如果执行此步骤后 macOS 仍然阻止该工具运行,请在系统设置 → 隐私与安全性中允许它。
-
验证 QDL 是否可用:
您应看到 QDL 的用法输出。如果出现错误,请检查路径。
使设备进入 EDL 模式
-
打开 SW2-3 DIP 开关——将其向上推。
-
将 12 V 电源连接到 EVK。
-
用 USB Type-C 数据线将 EVK 上的 USB0 连接到主机。
-
拨动电源开关打开设备。
-
确认设备已进入 EDL 模式:
预期输出:
Product ID: 0x9008 确认设备已进入 EDL 模式。如果未出现,请重新检查 SW2-3 和 USB-C 数据线。
配置(Provision)UFS
UFS(通用闪存存储,Universal Flash Storage)配置会将内部存储划分为多个独立的逻辑单元号(LUN),每个 LUN 专用于特定类型的数据(引导、系统、用户数据等)。这可以提高访问效率,并使分区布局在多次刷写之间保持一致。如果符合以下任一情况,请执行 UFS 配置:
- 这是一块从未刷写过的全新板卡。
- 您正在升级到新的镜像版本。
- 您正在切换发行版(Qualcomm Linux ↔ Ubuntu)。
-
下载 provision.zip 并解压:
-
将 provision 文件和 QDL 二进制文件移动到同一文件夹中,然后在该文件夹中运行:
在 macOS 上,qdl 二进制文件及其支持库必须与 provision 文件位于同一目录中。将 provision 文件复制到 <qdl_dir> 中,然后在该目录下运行命令。
预期输出:
UFS 配置完成后,设备会从 USB 断开连接。继续之前,请将电源开关关闭再打开,使设备重新启动进入 EDL 模式。
刷写 SAIL 固件
安全岛(Safety Island,SAIL)是 IQ-8275 EVK 上一个独立、隔离的处理器,独立于主应用处理器处理安全关键功能。其固件位于专用的 spinor 闪存分区上,必须在主操作系统镜像之前单独刷写。
-
进入解压后镜像中的
sail_nor 子文件夹:
-
刷写 SAIL 固件:
预期输出:
如果刷写失败,请参阅如何排查刷写相关问题。
刷写 Qualcomm Linux
-
进入主镜像文件夹:
-
刷写镜像:
当最后一行显示以下内容时,表示刷写完成:
刷写过程中出现的任何扇区截断(sector-truncation)警告都是无害的。
如果刷写在任何环节失败,请断开 USB 数据线和电源,重新连接后从 EDL 模式步骤开始重试。
- 关闭 SW2-3 DIP 开关——将其向下推。
- 重新上电设备。设备将引导进入新刷写的 Qualcomm Linux 镜像。
后续步骤
继续阅读设置设备,连接调试 UART、验证软件版本,并启用网络、SSH 和显示。