1. 程式人生 > 其它 >RK3399系統統一韌體打包與燒錄

RK3399系統統一韌體打包與燒錄

技術標籤:RK3399

RK3399系統統一韌體打包與燒錄

一、編譯出需要打包的韌體

  • SDK頂層目錄下執行
./build.sh allubuntu

二、將編譯好的映象打包到rockdev目錄下

  • SDK頂層目錄下執行
./mkfirmware.sh

三、修改對應的package-file檔案

  • 對應的檔案在tools/linux/Linux_Pack_Firmware/rockdev下,根據平臺選擇(一般已經連結到對應的package-file)
#不需要打包的映象可以註釋掉
# NAME		Relative path
#
#HWDEF		HWDEF
package-file	package-
file bootloader Image/MiniLoaderAll.bin parameter Image/parameter.txt trust Image/trust.img uboot Image/uboot.img #misc Image/misc.img #resource Image/resource.img #kernel Image/kernel.img boot Image/boot.img #recovery Image/recovery.img rootfs Image/rootfs.img #oem Image/oem.img #userdata:grow Image/userdata.img
appbase Image/appbase.img logbase Image/logbase.img #logbase:grow Image/logbase.img # 要寫入backup分割槽的檔案就是自身(update.img) # SELF 是關鍵字,表示升級檔案(update.img)自身 # 在生成升級檔案時,不加入SELF檔案的內容,但在頭部資訊中有記錄 # 在解包升級檔案時,不解包SELF檔案的內容。 backup RESERVED #update-script update-script #recover-script recover-script

四、統一韌體update.img打包

  • 用Linux_Pack_Firmware工具進行打包
    • 進入tools/linux/Linux_Pack_Firmware/rockdev
    ./mkupdate.sh
    
    • 成功會有如下類似資訊輸出,同時會在tools/linux/Linux_Pack_Firmware/rockdev生成可燒錄的update.img
    start to make update.img...
    Android Firmware Package Tool v1.66
    ------ PACKAGE ------
    Add file: ./package-file
    Add file: ./package-file done,offset=0x800,size=0x2cd,userspace=0x1
    Add file: ./Image/MiniLoaderAll.bin
    Add file: ./Image/MiniLoaderAll.bin done,offset=0x1000,size=0x5f94e,userspace=0xc0
    Add file: ./Image/parameter.txt
    Add file: ./Image/parameter.txt done,offset=0x61000,size=0x229,userspace=0x1
    Add file: ./Image/trust.img
    Add file: ./Image/trust.img done,offset=0x61800,size=0x400000,userspace=0x800
    Add file: ./Image/uboot.img
    Add file: ./Image/uboot.img done,offset=0x461800,size=0x400000,userspace=0x800
    Add file: ./Image/boot.img
    Add file: ./Image/boot.img done,offset=0x861800,size=0x10a5800,userspace=0x214b
    Add file: ./Image/rootfs.img
    Add file: ./Image/rootfs.img done,offset=0x1907000,size=0x180000000,userspace=0x300000
    Add file: ./Image/appbase.img
    Add file: ./Image/appbase.img done,offset=0x181907000,size=0x32b5000,userspace=0x656a
    Add file: ./Image/logbase.img
    Add file: ./Image/logbase.img done,offset=0x184bbc000,size=0x32b5000,userspace=0x656a
    Add CRC...
    Make firmware OK!
    ------ OK ------
    ********RKImageMaker ver 1.66********
    Generating new image, please wait...
    Writing head info...
    Writing boot file...
    Writing firmware...
    Generating MD5 data...
    MD5 data generated successfully!
    New image generated successfully!
    Making ./Image/update.img OK.
    
  • 用build.sh進行打包
    • 在SDK頂層目錄下執行
    ./build.sh updateimg
    
    • 成功會有如下類似資訊輸出,同時會在rockdev生成可燒錄的update.img
    processing option: updateimg
    Make update.img
    start to make update.img...
    Android Firmware Package Tool v1.66
    ------ PACKAGE ------
    Add file: ./package-file
    Add file: ./package-file done,offset=0x800,size=0x2cd,userspace=0x1
    Add file: ./Image/MiniLoaderAll.bin
    Add file: ./Image/MiniLoaderAll.bin done,offset=0x1000,size=0x5f94e,userspace=0xc0
    Add file: ./Image/parameter.txt
    Add file: ./Image/parameter.txt done,offset=0x61000,size=0x229,userspace=0x1
    Add file: ./Image/trust.img
    Add file: ./Image/trust.img done,offset=0x61800,size=0x400000,userspace=0x800
    Add file: ./Image/uboot.img
    Add file: ./Image/uboot.img done,offset=0x461800,size=0x400000,userspace=0x800
    Add file: ./Image/boot.img
    Add file: ./Image/boot.img done,offset=0x861800,size=0x10a5800,userspace=0x214b
    Add file: ./Image/rootfs.img
    Add file: ./Image/rootfs.img done,offset=0x1907000,size=0x180000000,userspace=0x300000
    Add file: ./Image/appbase.img
    Add file: ./Image/appbase.img done,offset=0x181907000,size=0x32b5000,userspace=0x656a
    Add file: ./Image/logbase.img
    Add file: ./Image/logbase.img done,offset=0x184bbc000,size=0x32b5000,userspace=0x656a
    Add CRC...
    Make firmware OK!
    ------ OK ------
    ********RKImageMaker ver 1.66********
    Generating new image, please wait...
    Writing head info...
    Writing boot file...
    Writing firmware...
    Generating MD5 data...
    MD5 data generated successfully!
    New image generated successfully!
    Making ./Image/update.img OK.
    /home/guchunqi/rockchip/rk3399/control_app_rk3399
    Make update image ok!
    

五、統一韌體的燒錄