RK3399 U-Boot開發簡介

tt7643066發表於2020-02-05

RK3399 U-Boot開發
本節簡單介紹 U-Boot 基本概念和編譯的注意事項,幫助客戶瞭解 RK 平臺 U-Boot 框架,具
U-Boot 開發細節可參考 RKDocs\common\u-boot 目錄下《 Rockchip U-Boot 開發指南
V3.8-20170214.pdf 》。
4.1 Rockchip U-Boot簡介
Rockchip U-Boot 是基於開源的 UBoot 2014.10 正式版進行開發的,主要支援:
支援晶片: rk3288 rk3036 rk312x rk3368 rk322x rk3366 rk3399 等;
支援 Android 平臺的韌體啟動;
支援 ROCKUSB Google Fastboot 兩種方式燒寫;
支援 secure boot 韌體簽名加密保護機制;
支援 LVDS EDP MIPI HDMI CVBS 等顯示裝置;
支援 SDCard Emmc Nand Flash U 盤等儲存裝置;
支援開機 logo 顯示、充電動畫顯示,低電管理、電源管理;
支援 I2C SPI PMIC CHARGE GUAGE USB GPIO PWM DMA GMAC
EMMC NAND 中斷等驅動;
4.2 平臺配置
平臺配置檔案位於 U-Boot 根目錄下的 configs 資料夾下,其中 Rockchip 相關的以 RK 開頭,
並根據產品形態分為
MID BOX 兩種配置:

rk3288_defconfig
rk3126_defconfig
rk3128_defconfig



rk3368_defconfig
rk3399_defconfig
rk3288_box_defconfig
rk3128_box_defconfig
rk3036_box_defconfig
rk3368_box_defconfig
rk322x_box_defconfig
rk3399_box_defconfig


RK3399 Laptop/Tablet 選用的是 rk3399_defconfig 配置。
4.3 韌體生成
Rockchip 平臺 Loader 分為一級模式和二級模式,根據不同的平臺配置生成相應的 Loader
件。透過宏
CONFIG_SECOND_LEVEL_BOOTLOADER 定義二級 Loader 模式。
4.3.1 一級 Loader 模式
U-BOOT 作為一級 Loader 模式,那麼僅支援 EMMC 儲存裝置,編譯完成後生成的映象:

rk3399_loader_v1.09.110.bin


其中 V1.09.110 是釋出的版本號。
4.3.2 二級 Loader 模式
U-Boot 作為二級 Loader 模式,那麼韌體支援所有的儲存裝置,該模式下,需要
MiniLoader 支援,透過宏 CONFIG_MERGER_MINILOADER 進行配置生成。同時引入 Arm
Trusted Firmware
後會生成 trust image ,這個透過宏 CONFIG_MERGER_TRUSTIMAGE
行配置生成。
rk3399 編譯生成的映象為例:

rk3399_loader_v1.09.110.bin
uboot.img
trust.img


其中 V1.09.110 是釋出的版本號, rockchip 定義 U-Boot loader 的版本,其中 1.09.110
是根據儲存版本定義的,客戶務必不要修改這個版本。
uboot.img U-Boot 作為二級 loader 的打包。
trust.img U-Boot 作為二級 loader 的打包。

18
RK3036 RK3126 RK3128 RK322x RK3368 RK3366 RK3399 等採用二級
loader 模式

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69948385/viewspace-2674549/,如需轉載,請註明出處,否則將追究法律責任。

相關文章