• 高通sdm845_la2.0源码编译及使用QFIL刷机


    一、下载源码

      高通芯片代码下载地址:https://chipcode.qti.qualcomm.com/

     1. *_amss_standard_oem : 高通私有源码(*为sdm845-la-2-0缩略,分支版本:CS2.16 0.0.137.1a
    2.
    *_cam_core : 所含camx部分代码
    3. *_test_device : 高通编译 amss_standard_oem 的二进制文件
    4. CAF : 高通对应的谷歌源码


    二、编译源码:
     1.将高通私有部分源码拷贝到谷歌源码(caf)对应目录下:

    cp -rf amss_standard_oem/LINUX/android/vendor/qcom/proprietary caf/vendor/qcom/

     2.拷贝camx部分代码到对应目录下:

    cp -rf cam_core/LINUX/android/vendor/qcom/proprietary/camx  caf/vendor/qcom/proprietary/

     3.进入caf目录,配置编译:

    source build/envsetup.sh
    lunch sdm845-userdebug
    make -j32

        编译成功后会在caf/out/target/product/sdm845目录下生成相关img和其他文件,如图:
       



    三、meta_build & QFIL刷机:
        1.参考test_device的contents.xml内容拷贝caf部分文件到test_deviceLINUXandroid目录下(如果嫌麻烦就整个out目录cp过来或者mv过来更快),

           在contents.xml里搜索"LINUX"和"ignore"关键字,从搜索结果中获知需要将哪些文件从caf拷贝到test_device对应目录下,
           注意:<ignore="true"> 代表可忽略,不用拷贝:
         

      如下:

      
        2.拷贝caf的vendor到test_deviceLINUXandroid对应目录下;    

      

        3.进入sdm845-la-2-0_test_device/common/build目录下执行python build.py脚本,生成meta_build刷机文件:
            

        4.将845mtp设备上的 S4-1 键拨到 on,重新上电进入EDL mode;

      或者通过指令进入9008(edl)模式:

    (1)ADB模式:
        $ adb reboot edl
    
    (2)FASTBOOT模式:
        $ fastboot oem edl
        or
        $ fastboot reboot emergency


        5.QFIL配置如下:
            
            线刷前,最好双清一下设备,adb reboot bootloader后,选择进入到recovery mode,再选择wipe data/factory reset,
            也可以线刷时选择Erase all Before Download


        6.上电,并接数据线到电脑,QFIL工作可以检测到端口:

      

      如果无法自动检测到端口,点击 Select Port .

      主界面 选择Meta build,然后选择content xml,选择sdm845-la-2-0_test_device目录下的contents.xml即可,随即自动加载 Programmer PathRawProgram Patch

      选择所需 Product Flavors也可通过点击 Browse 选择不同程序。

      

      Ps: 如果Download没有跳出rawprogram.xml、patch0.xml,可以试试点Tools->flat meta build, Flat Build Path选一个空文件夹。 OK之后,也是可以改成Flat build。

         在部分 META 编译版本中,系统要求用户更新 CDT 二进制文件,此时 CDT config 不明确,需要选择 CDT config,之后将 CDT 与此 META 编译版本一同下载。也可以将其留空, CDT 二进制文件不会更新 。

     7.选择Download Content,等待下载成功后, Status 字段显示 Download Succeed Finish Download 消息:
      
     
     8.最后将S4-1键拨回,上电重启机台。
     

    四、flat_build & QFIL刷机:

      1.flat build 需要将加载版本所需的全部文件导入同一文件夹,具体操作:Tools -> Flat Meta Build -> 选择Content XML(contents.xml) 和 Flat Build Path(自定义输出路径) -> 选择ufs或emmc -> OK 。

      2.参考之前方法连接好设备,Select Programmer 字段中,点击 Browse 并指向 flat build 路径,然后选择 FireHose
       Programmer.mbn .elf 文件,例如 prog_<type>_firehose_<msm>.mbn注:<type> – 可为 emmc 或 ufs <msm> – 对应于平台名称,例如 8084

      3.点击 Load XML 加载配置文件

        a. 选择原始程序的 XML 文件: rawprogram_unsprase0.xml 并点击对话框中的 Open
        b. 选择 patch0.xml 文件并点击 Open

        4. 点击 Download 开始下载。

     

    五、UFS Provision 配置:

     (1)Configuration -》FireHose Configuration:

       

     (2)选择对应.elf 和.xml -》点击Provision ,成功则如Status框所示:

      

     -end-   

  • 相关阅读:
    Linux系统组成和获取命令帮助2
    Linux系统组成和获取命令帮助1
    3P修饰
    PHP-简单生成唯一数
    Go语言实现APPID登录
    磁盘满了,却看不到是谁占用的
    Redis安装、配置和卸载
    docker 加入域名
    Docker安装
    Swoft+Docker
  • 原文地址:https://www.cnblogs.com/blogs-of-lxl/p/10620662.html
Copyright © 2020-2023  润新知