高通开发-升级包制作

项目立项后,需要贴片,那么当然需要软件提供刷机升级包。一般第一次贴片,都会用默认代码生成的镜像制作升级包。

1.contents.xml

该文件在私有代码的根目录下,该文档主要定义了升级包中镜像的名字、路径以及相关的打包工具。注意contents.xml的选择与你编译Modem的指令要一致,不然会出现问题。在common/build/目录下,有不同后缀的contents.xml,你需要把对应的xml复制到根目录下,并改名为contents.xml。

2.common目录

这个目录中,主设计到打包,制作升级包,分区表等相关的内容。

common/config/下有,partition.xml  主要是分区信息,如需增加分区,如定制分区,需要在这里增加新的分区。

rawprogram0.xml,这个是由partition.xml生成的,用于刷机时选择分区表,与patch0.xml配合使用。

update_common.py这个文件在不同的代码下,可能名字不一样,主要用来生成升级包的。

3.镜像的说明

这里主要分析contents.xml的文件。

重要的刷写文件生成:

    
      ./
      python @tool_name -x ./../config/partition.xml
      ptool.py
    

这里主要是生成下面的文件:

gpt_backup0.bin
gpt_both0.bin
gpt_main0.bin
patch0.xml
rawprogram0.xml

 

    
      ./bin/$[flavor:.]/sparse_images
      python @tool_name -i @rawprogram_xml -s @root_dir + @sparse_dir -o rawprogram_unsparse.xml
      checksparse.py
      $[build:apps]
      LINUX/android/out/target/product/msm8937_64/
      ./../../../rawprogram0.xml
    

这里是根据android生成的img,拆分成适合刷写的格式,大小。

      
        M89378937.genns.prodQ*.elf
        modem_proc/build/ms/
      

如需要dump分析modem时,这个就是需要的elf文件,kernel对于下面的文件

      
        vmlinux
        LINUX/android/out/target/product/msm8937_64/obj/KERNEL_OBJ/
      

 控制qfile或者qmsct的刷写,主要是由boot代码编译而成,生成的一部分为控制烧录的,一部分为boot,img,看下面代码

      
        prog_emmc_firehose_8917_ddr.mbn
        boot_images/build/ms/bin/LAADANAZ/
      
      
        prog_emmc_firehose_8917_lite.mbn
        boot_images/build/ms/bin/LAADANAZ/
      
//上面两个文件任选一个,一个是需要ddr才能刷写,一个直接从emmc拿镜像刷写
      
        sbl1.mbn
        boot_images/build/ms/bin/LAASANAZ/

//boot镜像

 

你可能感兴趣的:(高通开发)