配套系列教学视频链接:
说明
系统:Android10.0
设备: FireFly RK3399 (ROC-RK3399-PC-PLUS)
前言
上一篇讲到了u-boot编译完成之后,会生成各种镜像, 本章节重点介绍u-boot各个镜像生成的基本流程, 通过了解文件, 来辅助理解rk3399 u-boot启动基本过程。
一,编译u-boot的一般步骤
如果不考虑现有源码中的各种脚本, 比如不管make.sh, 编译u-boot的源码的一般步骤有以下通用步骤:
1,设置交叉工具链,一般修改Makefile
ARCH=arm
CROSS_COMPILE=../prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-或者在make命令后面直接传递参数。
2, 选择芯片配置文件, 如rk3399, 其实是将configs/xxx_defconfig拷贝到顶层目录.config
make rk3399_defconfig
3, make编译
二, u-boot.bin文件生成
可以通过编译的调试信息中发现如下结果:
/mnt/ext-disk2/RK/rk3399_Android10.0/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objcopy --gap-fill=0xff -j .text -j .secure_text -j .secure_data -j .rodata -j .data -j .u_boot_list -j .rela.dyn -j .got -j .got.plt -j .dtb.init.rodata -j .efi_runtime -j .efi_runtime_rel -O binary u-boot u-boot-nodtb.bin
cat u-boot-nodtb.bin dts/dt.

本文详细介绍了RK3399设备在Android10.0系统下u-boot的编译步骤和生成的各个镜像文件,包括u-boot.bin、uboot.img、rk3399_loader_v1.24.126.bin、trust.img的生成过程。同时,阐述了RK3399上电启动时u-boot的执行逻辑,从bootrom加载到u-boot运行的完整流程。
最低0.47元/天 解锁文章
1801

被折叠的 条评论
为什么被折叠?



