高通方案生成大包后,如何刷机 - kiddlu/android-platform-knife GitHub Wiki
高通方案生成大包后,如何刷机
让高通手机进入9008 EDL模式后,就能进行刷机。
高通方案,目前有两套刷机工具, 一套是比较老的emmcdl, 一套是比较新的Qsahara + fh_loader。
先说emmcdl,这个目前是支持msm8994之前的平台,原始code是windows下的命令行工具, 然后有大神移植到了linux下,我fork过来后做了一些修改和编译的修复。这个工具的使用方法大致如下:
-f 指定烧录器,一般已经包含在大包里头
-x 指定烧录的xml,也是和大包一起
-p 指定COM口,linux 下为/dev/ttyUSBX
-x 指定xml
emmcdl -p COMX -f %~dp0\qcom\prog_emmc_firehose_8974.mbn -x rawprogram_unsparse.xml
emmcdl -p COMX -f %~dp0\qcom\prog_emmc_firehose_8974.mbn -x patch0.xml
emmcdl编译好的版本可以在这里找到,都是我自己用的,windows和linux,mac用户?额...自己动手...
=============================================================================================================
高通在msm8996之后,开始使用了新的工具QSaharaServer和fh_loader,似乎是为了适应UFS windows版本是随着工具一起发布,没有源码。 linux下的源码是在qcom oem的大包中。你也可以在我上面给的链接找到这两个工具的二进制版本。
使用方法:
QSaharaServer -p \\.\COMX -s 13:prog_ufs_firehose_8996_ddr.elf
fh_loader --port=\\.\COMX --sendxml=rawprogram_unsparse0.xml --search_path=%DIR_PATH% --noprompt --showpercentagecomplete --zlpawarehost=1 --memoryname=UFS
fh_loader --port=\\.\COMX --sendxml=patch0.xml --search_path=%DIR_PATH% --noprompt --showpercentagecomplete --zlpawarehost=1 --memoryname=UFS
fh_loader --port=\\.\COMX --sendxml=rawprogram1.xml --search_path=%DIR_PATH% --noprompt --showpercentagecomplete --zlpawarehost=1 --memoryname=UFS
fh_loader --port=\\.\COMX --sendxml=patch1.xml --search_path=%DIR_PATH% --noprompt --showpercentagecomplete --zlpawarehost=1 --memoryname=UFS
其中 --zlpawarehost 这个参数,Windows下是1,Linux下是0,根据自己的host来选。
................一定要所有的xml都烧录一遍。
也可以参考我写的脚本:
https://github.com/kiddlu/oh-my-tools/blob/master/windows/android/edl-flash-msm8992.bat
https://github.com/kiddlu/oh-my-tools/blob/master/windows/android/edl-flash-msm8996.bat