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博客 ” ,链接:https://blog.itpub.net/69948385/viewspace-2674549/ ,如需转载,请注明出处,否则将追究法律责任。