比如我们之前介绍的 Mini2440 开发板从 Nand Flash 启动时,uboot 程序就是采用的这种实现方式:Mini2440 之 uboot 移植之实践 NAND 启动。 1.2.2 方案二 第二种方案的话,我们做一个小的 uboot ,这个 uboot 就叫做SPL(Secondary Program Loader),它很小很小(小于 SRAM 大小),它先被 Bo...
我们分析 u-boot 分为六个阶段: 一、Makefile 与 lds 从认识内存分配开始,链接脚本,*.lds。从Makefile与config.mk中的变量,得到对应的脚本的位置,根据链接脚本,画出内存分配图。 主要得到信息: 1、开始进入点命令(ENTRY),得到程序的开始点。 2、程序的内存开始地址 3、程序的内存分段信息与对齐方式、对应的功...
通过名字大体可以猜测到,应该就是在u-boot.bin上增加一个入口地址0x00200000 , 这个地址就是u-boot.bin被加载到内存的地址。 其他镜像如下: ./tools/mkimage -f auto -A arm -T firmware -C none -O u-boot -a 0x00200000 -e 0 -n "U-Boot 2017.09"" for evb_rk3399 board" -E -b arch/arm/d...
uboot官方源码:https://github.com/u-boot/u-boot,uboot官方源码是由uboot官方维护,支持非常全面的芯片,但对具体某款开发板支持情况一般; 半导体厂商瑞芯微官方源码:https://github.com/rockchip-linux/u-boot,半导体厂商基于uboot官方源码进行修改,对自家的芯片进行完善的支持,针对某款处理器支持情况较好; 开发...
RK3399以miniloader + ATF + u-boot的方式启动,采用这种启动方式,通常将MCU代码编译生成的BIN和ATF的...
最后使用Android Tools,烧写rk3399_loader_v1.09.109.bin、trust.img和uboot.img即可启动U-Boot。对...
本节将会介绍官方固件方式uboot 2017.09以及linux 4.19内核的编译过程,教程来自友善之家官方手册。 回到顶部 一、下载工具和固件 1.1 下载工具 root@zhengyang:/work/sambashare/rk3399/friendly# git clone https://github.com/friendlyarm/sd-fuse_rk3399.git -b kernel-4.19 ...
视壮科技有限公司VS3399 开发板介绍TF 和U盘启动和设计固件流程。1、SDCard启动和升级配置SDCard升级和启动功能由宏CONFIG_RK_SDCARD_BOOT_EN配置,rk_default_config.h默认关闭,如果需要使用该功能,请在rkxxplat.h相关平台配置文件中定义打开。UBoot 识别到升级的sdcard,串口会打印信息: SDCard Update.如果是启动...
AVB流程 AVB的核心结构为vbmeta,vbmeta分区存储了boot分区的hash,而对于system和vender分区,哈希树紧随在各自的分区数据之后,vbmeta分区只保存哈希树描述符中哈希树的根哈希(root hash),盐(salt)和偏移量(offset)。 uboot启动后,首先需要进行vbmeta的合法性验证,即安全性校验,RK的做法是将验证vbmeta的公钥信息经过trust...
RK3399内部包含4个ARM cortex-A53以及2个cortex-A72,典型的cluster结构,cortex-A53作为小核而cortex-A72作为大核。当系统上电解复位之后,cortex-A53的core0作为第一个启动的核心,执行0xffff0000处的Bootrom loader程序。 其完整的启动流程如下图所示: +---+---+---+---+---+ | Boot | Terminology #1 |...