高通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_device\LINUX\android目錄下(如果嫌麻煩就整個out目錄cp過來或者mv過來更快),

       在contents.xml里搜索"LINUX"和"ignore"關鍵字,從搜索結果中獲知需要將哪些文件從caf拷貝到test_device對應目錄下,
       注意:<ignore="true"> 代表可忽略,不用拷貝:
     

  如下:

  
    2.拷貝caf的vendor到test_device\LINUX\android對應目錄下;    

  

    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-   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM