Uboot: v2017.02
Board: Firefly-RK3399
RK Uboot有两种类型的固件生成方式。
一种是uboot作为first level bootloader,那么uboot就只有一个bin文件,例如rk3288平台的就是RK3288UbootLoader_V2.30.10.bin
另外一种是uboot作为second level bootloader,那么uboot就只是一个image, 例如rk3399平台的就是uboot.img
是否作为second level bootloader通过宏CONFIG_SECOND_LEVEL_BOOTLOADER来控制,在rk3399_defconfig中有定义。
CONFIG_SYS_EXTRA_OPTIONS="RKCHIP_RK3399,PRODUCT_MID,NORMAL_WORLD,SECOND_LEVEL_BOOTLOADER,BAUDRATE=1500000"
如果有定义了CONFIG_MERGER_MINILOADER(事实上CONFIG_SECOND_LEVEL_BOOTLOADER定义后此宏也就被打开了),Uboot会合并mini loader bin和配置。
Makefile中实现:
ifdef CONFIG_SECOND_LEVEL_BOOTLOADER