LS1043A boot 镜像编译及引导分析(二)

基于 flexbuild_lsdk1909_update_221019 SDK

source setup.env

 通过如下指令编译引导镜像

flex-builder -c atf -m ls1043ardb -b sd

最终生成的镜像在:

-rw-r--r-- 1 root root  49060 Nov 28 13:17 /home/vmuer/work/nxp_ls1043/flexbuild_lsdk1909_update_221019/build/firmware/atf/ls1043ardb/bl2_sd.pbl

-rw-r--r-- 1 root root 769340 Nov 28 13:17 /home/vmuer/work/nxp_ls1043/flexbuild_lsdk1909_update_221019/build/firmware/atf/ls1043ardb/fip_uboot.bin

通过如下指令可生成firmware(内部打包相关的镜像)

flex-builder -i mkfw -m ls1043ardb -b sd

最张生成的镜像在:

/home/vmuer/work/nxp_ls1043/flexbuild_lsdk1909_update_221019/build/images/firmware_ls1043ardb_uboot_sdboot.img   [Done]

 

非加密启运(ATF)过程如下所示:

 

 

启动流程正常有三个过程:

BL1

  内部ROM 拷背bl2.bin 至OCRAM, BOOTLOC指标指向bl2.bin所在内存位置

BL2

  初始化内存,并验证BL31 BL32 BL33,并拷贝至DDR, 其中 BL31 BL32 BL33由 fip_uboot.bin组成,然后把控制权限给BL31

BL31

  设置异常向量表

  配置安全相关的设置

  提供服务给bootloader和操作系统,如控制核电压状态和让其他CPU core 退出复位状态

BL32

           是可选的过程,如OP-TEE, BL32还是会把控制权还给BL31.

BL31

           把控制权限传递给U-BOOT/UEFI

BL33

           正常的UBOOT/UEFI引导

安全启动的过程:        

         详细参考:

        ./packages/firmware/atf/plat/nxp/README.TRUSTED_BOOT

相比ATF 多了一个验证镜像的过程,在各个镜像会添加对应的头部,如下所示:

 

加密引导过程如下:

 

posted @ 2019-11-29 09:42  嵌入式实操  阅读(1663)  评论(0编辑  收藏  举报