QFIL的烧录、读写

本文详细介绍了Qualcomm Flash Image Loader (QFIL) 的使用方法,包括常规烧录配置、eMMC分区内容读取步骤、两种dump eMMC内容的命令及其参数解读,以及system.xml配置文件的解析。重点展示了高通烧录工具在嵌入式开发中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QFIL:Qualcomm Flash Image Loader,高通的烧录工具。

一、常规烧录配置界面:

按照上图的配置,就可以完成一次常规烧录了。

注: rawprogram_unsparse0.xml文件里面描述的是分区与镜像的信息

二、使用QFIL读取eMMC分区内容步骤如下:

1、通过硬件短接或者reboot edl命令,是系统进入9008模式。

2、配置好programmer path路径

3、选择Tools->Partiton Manager,然后点击OK,后面会弹出一个框,显示对应的分区信息

4、选中我们需要操作的分区,右键选中Manage partition data

5、可以对步骤4选中的分区,进行擦除、读、写操作。(目前我只有读成功了,其他的都没有成功)

步骤1需要根据实际情况自己去配置:

        可以硬件短接

        可以reboot edl

步骤2的配置:

步骤3的弹窗:

步骤4无法截图:

        右键选中我们想要操作的分区就行。 

步骤5的擦除、读、写:

注:数据读完之后,QFIL的status窗口会显示保存的路径

高通还提供了另一种dump eMMC内容的方式,可以参考文档:KBA-190828041405 How to dump flash

涉及到的相关命令:

命令一:
QSaharaServer.exe -u 22 -s 13:D:\820A\S202\v2.6.1_202112051629\emmc\prog_emmc_firehose_8996_ddr.elf

命令二:
fh_loader.exe -–port=\\.\COM22 --sendxml=system.xml -–search_path=C:\Users\qidong.liu\Desktop\s202\ --convertprogram2read --memoryname=emmc --noprompt --showpercentagecomplete

使用步骤如下:

1、通过短接或者命令的方式,进入9008下载模式。

2、执行命令一

3、执行命令二(dump得到的eMMC的内容,就在执行命令的路径下面)

命令一参数解释:(下面的都是自己根据实际使用过程中分析得到的,没有任何文档介绍)

        -u 22:表示指定com22这个端口。(怎么判断com是多少,可以通过设备管理器查看)

        -s:这个我也不知道啥意思,没有任何资料介绍

        D:\820A\S202\v2.6.1_202112051629\emmc\prog_emmc_firehose_8996_ddr.elf:表示你运行哪个固件来dump emmc。(注:你想dump emmc的内容,那么肯定要在板卡上面运行一个程序。这个elf文件就是这个程序)

        --convertprogram2read:这个我也不知道啥意思

        --memoryname=emmc:读eMMC。(有些可能是UFS,不过我没有实际验证过)

        --noprompt:这个我也不知道啥意思

        --showpercentagecomplete:这个我也不知道啥意思

命令二参数解释:

       -–port=\\.\COM22:指定com22这个端口

        --sendxml=system.xml:程序使用的配置文件

        -–search_path=C:\Users\qidong.liu\Desktop\s202\:搜索配置文件的路径

注:执行QSaharaServer.exe和fh_loader.exe的时候,可能找不到命令,需要你手动添加系统环境变量,将QSaharaServer.exe和fh_loader.exe的路径加入到Path里面。QSaharaServer.exe和fh_loader.exe的路径和QFIL处于同一路径下面

关于system.xml配置文件内容介绍:

内容如下:

<?xml version="1.0" ?>
<data>
  <!--NOTE: This is an ** Autogenerated file **-->
  <!--NOTE: Sector size is 512bytes-->
  <program SECTOR_SIZE_IN_BYTES="512" file_sector_offset="0" filename="xbl" label="xbl" num_partition_sectors="4096" physical_partition_number="0" start_sector="131072" />
</data>

内容解析:

SECTOR_SIZE_IN_BYTES:指定分区大小
file_sector_offset:偏移大小
filename:dump后的内容保存的文件名字
label:dump哪个分区的内容
num_partition_sectors:分区的大小
physical_partition_number:这个我不知道啥意思,有知道的大佬可以指点一下
start_sector:分区的起始扇区

  到这里,就可以dump整个分区的内容了。      

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

monkey_llll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值