2. QPST主界面布局与功能分区
QPST(Qualcomm Product Support Tool)是高通平台固件烧录与调试的核心套件。主窗口采用四区布局:主窗口承载全局操作入口,设备列表显示已连接设备状态,分区管理负责分区表与镜像映射,日志面板实时输出烧录与诊断信息。掌握每一分区的功能与操作入口,是后续烧录脚本编写、错误排查的基础。
实操前置:确保已安装QPST 2.7.496(含QFIL),并已连接至少一台高通设备(如MSM8953目标板),且设备处于EDL(Emergency Download)模式。未进入EDL时设备列表显示为“No Port Available”。
2.1 主窗口(Main Window)
主窗口是QPST的控制中枢,提供菜单栏与快速启动入口。典型操作包括:
- 启动QFIL:点击
Start QFIL按钮,或菜单Tool > QFIL。QFIL是分区烧录的主要界面。 - 启动QDART:用于RF校准与调试,路径
Tool > QDART。 - 配置服务端口:
File > Configure中设置COM端口范围(如COM1-COM256)。 - 查看已安装组件:
Help > About显示QPST版本及依赖DLL。
主窗口标题栏会显示当前连接的设备台数,例如:QPST 2.7.496 - 1 device(s) active。
2.2 设备列表(Device List)
设备列表实时显示所有已检测到的高通设备(通过USB或串口)。每一项包含:
| 字段 | 说明 | 示例值 |
|---|---|---|
| Port | COM端口号 | COM27 |
| Model | 设备型号或芯片代号 | MSM8953 |
| Status | 连接状态(Online / Offline / EDL) | EDL |
| VID | USB Vendor ID(十六进制) | 05C6 |
| PID | USB Product ID(十六进制) | 9008 |
常见操作:
- 右键选择设备 →
View Info可获取详细硬件信息(如闪存类型、序列号)。 - 右键 →
Save Log导出该设备的历史日志。 - 若设备未显示,请检查驱动是否正确安装(Qualcomm HS-USB QDLoader 9008驱动)。
调试技巧:在设备列表中选中某设备后,主窗口底部的状态栏会显示该设备的烧录进度条与当前操作名称。这是确认烧录是否开始的关键视觉反馈。
2.3 分区管理(Partition Manager)
分区管理是QFIL核心区,负责加载分区表(如 rawprogram0.xml)并关联镜像文件。当设备处于EDL模式时,此面板允许:
- 加载分区表:点击
Load XML选择rawprogram0.xml与patch0.xml。 - 手动添加分区:右键 →
Add Partition,填入名称、起始地址(LBA)、长度、镜像路径。 - 查看分区属性:点击分区行,弹出对话框显示物理地址、文件系统类型(如EXT4、F2FS)。
- 擦除分区:选中后点击
Erase,日志面板输出擦除成功/失败信息。
典型的分区表结构示例:
<?xml version="1.0"?>
<data>
<program SECTOR_SIZE_IN_BYTES="512" file_sector_offset="0" filename="boot.img" label="boot" num_partition_sectors="98304" physical_partition_number="0" size_in_KB="49152" start_byte_hex="0x0" start_sector="0"/>
<program SECTOR_SIZE_IN_BYTES="512" file_sector_offset="0" filename="system.img" label="system" num_partition_sectors="2097152" physical_partition_number="0" size_in_KB="1048576" start_byte_hex="0x1800000" start_sector="24576"/>
</data>
2.4 日志面板(Log Panel)
日志面板输出QPST/QFIL的所有调试信息,格式为:[时间戳] [级别] [模块] 消息。
日志级别:
- INFO:常规操作提示(如“开始下载 boot.img”)。
- WARN:可恢复问题(如“分区表校验和跳过”)。
- ERROR:致命错误(如“Sahara握手失败”)。
实际日志片段(从QFIL烧录过程截取):
10:23:45.001 INFO QFP: Downloading boot.img ...
10:23:45.204 INFO QFP: Download completed (size=49152KB)
10:23:45.205 WARN QFP: sector count mismatch in patch file, ignoring
10:23:45.206 INFO QFP: Downloading system.img ...
10:23:47.890 ERROR QFP: Sahara protocol error: timeout waiting for ACK
10:23:47.891 ERROR QFP: Reinitializing connection ...
面板提供两个常用按钮:
- Clear:清空当前日志(不保存文件)。
- Save:将日志保存为
.log文件,用于后续分析。
常见陷阱:当日志面板出现大量
ERROR: No response from target 时,很可能是USB线缆质量差或电源不足导致通信中断。请优先更换线缆并检查设备供电。
2.5 四区联动操作示例
以一次完整的 单分区烧录 为例,展示四个分区的协作:
- 主窗口:点击
Start QFIL打开QFIL窗口。 - 设备列表:确认目标设备状态为
EDL,选中后日志面板显示INFO: Device attached。 - 分区管理:点击
Load XML选择rawprogram0.xml,再添加patch0.xml。列表中出现所有分区。 - 日志面板:点击
Download按钮,面板实时滚动烧录进度。若出现错误,根据ERROR行排查。 - 主窗口:烧录完成后,主窗口状态栏显示
Download succeeded,设备自动重启。
扩展功能:QFIL中还集成了
QFlash 模式(需要单独配置脚本)以及 EFS Sync 工具。这些工具均复用相同的四区布局,仅在分区管理面板中提供不同操作按钮。