转自: https://shimo.im/docs/3RTDdGjQdTtjtPKj/read

本文是广和通的分包方法。

文档说明

本文档以SC826(MSM8953平台,Android 7)为例,描述如何对SOC镜像文件分包。

应用背景

客户用QFIL刷固件的时候,由于客户自己编译生成的固件是没有经过分包的,烧录耗时较久。如果将编译生成的固件先分包后,再烧录就可以提升烧录效率。

分包准备工作

  1. 准备分包脚本checksparse.py

附件checksparse.zip

  1. 准备需要用到的原始XML文件

这个文件怎么获取呢?首先,我们下载一份出模块厂固件。这里以SC826-CN-01为例,出厂固件里有5个xml文件

我们来介绍下这五个xml的作用:

  • rawprogram0.xml:烧录AP和BP,适合整包全刷,包含模块Modem侧固件。在烧录前需要先备份QCN,否则会丢参数。
  • rawprogram0_SC820_BLANK.xml:全擦模块固件,客户尽量不要使用
  • rawprogram0_update.xml:只刷AP侧固件,但是这是已经由分包生成的xml,所以只能刷我们已经分包的出厂固件。
  • rawprogram0_update_original.xml:过程文件,暂不用理会
  • rawprogram0_update_unsparse.xml:原始xml文件,可以用这个文件来分包,主要指AP侧软件
  1. 客户编译生成的镜像文件,路径在 /out/target/product/msm8953_64/

分包操作

  1. 将rawprogram0_update_unsparse.xml、checksparse.py和客户编译生成的镜像文件放在ubuntu环境同一文件夹,默认已装好Python环境。

  2. 执行下列命令:
python checksparse.py -i rawprogram0_update_unsparse.xml -s . -o rawprogram0_update.xml

  1. 分包后的整个文件夹,拷贝到win PC机上。用分包后生成的rawprogram0_update.xml文件,通过QIFI烧录分包固件即可

不同出厂版本的差异

以 SC826-CN-01-00-20191212-1 为例

上面版本文件夹,只有4个xml文件。 rawprogram0_update_original.xml 对应上面分包操作时所使用的 rawprogram0_update_unsparse.xml。

如何确定到底使用哪个xml,需要打开对应的xml,查看具体内容:

标签: aosp

添加新评论