高通Ride软件开发包使用指南(4)
- 5 刷写SoC镜像
- 5.2 高通镜像刷写加载器
- 5.2.1 下载QFIL
- 5.2.2 紧急下载模式设置SOC
- 5.2.2.1 Switches
- 5.2.2.2 测试自动化控制器脚本
- 5.2.2.3 快速启动模式
- 5.2.2.3.1 使用 Fastboot 擦除
- 5.2.3 Flashing
- 5.2.3.1 使用 Meta build 刷机
- 5.3 使用 Fastboot 刷机
5 刷写SoC镜像
5.1 简介
可以通过三种方式将映像从主机刷写到目标 SOC:
- QFIL
- Fastboot
- TRACE32
首次收到单元时,SOC 应已处于下载模式并准备好使用 QFIL 进行刷写。
如果设备之前已经刷过并且可以进入Fastboot模式,那是首选方法。 某些情况下可能需要使用 TRACE32 在 SOC 上加载构建。
5.2 高通镜像刷写加载器
5.2.1 下载QFIL
QFIL 是高通产品支持工具 (QPST) 的一部分:
-
从 https://createpoint.qti.qualcomm.com 下载 QPST
-
从 https://createpoint.qti.qualcomm.com 下载并安装 Qualcomm USB WWAN 驱动程序
5.2.2 紧急下载模式设置SOC
首次拆箱时,SOC 应该已经处于 EDL 模式。 可以使用以下任何方法强制各个 SOC 进入 EDL 模式:
- Switches
- TAC 脚本
- 使用 Fastboot 模式
5.2.2.1 Switches
可以使用 DIP Switches S3 强制各个 SOC 进入 EDL 模式。 将引脚 2 (SOC1) 和引脚 5 (SOC2) 设置为开启位置并重置平台将使平台进入 EDL 模式。
但是,这不是首选方案,因为必须卸下平台盖才能接触到 Switches。
后续复位的目标将进入 EDL 模式。 使用 TAC 脚本重置 SOC 的命令是:
-
ResetSOC1.py
-
ResetSOC2.py
要使用Switches(仅适用于早期 2.5 平台),必须满足以下依赖项: -
硬件 – BRF 版本为 E.null 或更高版本
-
软件 – Aurix 引导固件版本:0.7.3 或更高版本(有关识别 Aurix 版本的步骤,请参阅第 7.1.2 节)
5.2.2.2 测试自动化控制器脚本
- BootToEDL.py
- BootToEDLSecondary.py
- BootToEDLAll.py
要使用上述 TAC 脚本,必须满足以下依赖关系: - 硬件 – BRF 版本为 E.null 或更高版本
- 软件 – Aurix 引导固件版本:0.7.3 或更高版本(有关识别 Aurix 版本的步骤,请参阅第 7.1.2 节)
5.2.2.3 快速启动模式
如果单元之前已被刷写过,则可以通过将单元置于 Fastboot 模式然后执行以下步骤将它们置于 EDL 模式。 此选项已经过测试,并且在早期平台中也受支持。
进入Fastboot
要进入 Fastboot,请在 SOC 的控制台(Telnet/Serial)上发出命令#reset -f。
用户还可以使用 TAC 脚本进入 Fastboot:
- BootToFastBoot.py # 对于 SOC1
- BootToFastBootSecondary.py #For SOC2
- BootToFastBootAll.py # 对于两个 SOC
或者,可以通过在串行终端中运行“reset”命令并在系统重启时按住键盘上的“Q”键,将 SOC 设置为 Fastboot 模式。 然后 SOC 将启动进入 Fastboot 模式。
5.2.2.3.1 使用 Fastboot 擦除
要擦除已编程的 SOC UFS,可以使用 fastboot 擦除所有分区。请联系客户工程部门获取适当的脚本。
后续复位的目标将进入 EDL 模式。
要使用 TAC 脚本重置 SOC,请执行:
- ResetSOC1.py
- ResetSOC2.py
5.2.3 Flashing
使用QFIL刷机有两种方式:
- Meta build
- Flat build
5.2.3.1 使用 Meta build 刷机
注意:如果这是第一次使用 QFIL,则可能无法启用选择存储类型和Product flavors。 在某些情况下,用户可能需要先执行步骤 3 以验证存储类型和Product flavors是否设置正确。
- 将 USB 连接到设备平台上的 J28 并启动 QFIL。
- 选择以下值:
- 选择构建类型:Meta Build
- 可用的Meta Build存储类型:ufs
- Product flavors(不同定制的产品) :asic
注意:以下步骤中指示的文件位置在 QDrive 2.5 和 3.0 之间会有所不同。 使用适合您的平台和版本的文件。
-
从 <apps_root> 主目录加载 contents.xml。 刷写编程器的路径是自动填充的。
刷写编程器 prog_firehose_ddr.elf 位于 <apps_root>\boot\boot_images\QcomPkg\SDMPkg[1000|Makena]\Bin\AU\RELEASE\。 -
确保您刷入的 SOC 处于 Qualcomm 下载 (QDL) 模式。 在“Select Port ”窗口中,确保选择了正确的端口并单击“OK”。
-
大多数第一次收到的设备将以 QDL 模式出现,并且可以在端口下的设备管理器中验证为 Qualcomm HS-USB QDLoader 端口。
-
单击“Download Content”开始刷机过程。
-
验证下载是否成功,并在该过程完成后重启平台。 如果平台有 SOC2(High Tier),重复这些步骤来刷新 SOC2。
5.3 使用 Fastboot 刷机
当 SOC 上已有固件且必须更新固件时,可以使用此方法。 TAC 也有望提供一种将 SOC 置于快速启动模式的方法。
有关何时支持功能的更多信息,请参阅第 8 章或软件发行说明。
- 确保只有一个 SOC 处于 Fastboot 模式。
通过在串行终端中运行重置命令并在系统重启时按住键盘上的“Q”键,将 SOC 置于 Fastboot 模式。
然后 SOC 将启动进入 Fastboot 模式。 或者,运行 reset -f 会将 SOC 引导至 Fastboot 模式。
-
导航到 <apps_root>\common\build\ 并在该位置打开命令提示符并运行:
py fastboot_complete.py --st=ufs --pf=asic
-
该过程完成后,重新启动平台。