• 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 多了一个验证镜像的过程,在各个镜像会添加对应的头部,如下所示:

    加密引导过程如下:

  • 相关阅读:
    第七章LED将为我闪烁:控制发光二极管
    第六章第一个Linux驱动程序:统计单词个数
    搭s3c6410开发板的测试环境读后感
    第四章源代码的下载和编译
    第三章Git使用入门(读后感)
    第二章:搭建Android开发环境(读后感)
    第一章:Android系统移植与驱动开发概述(读后感)
    函数和代码复用
    python的基本数据类型
    Python的语法元素
  • 原文地址:https://www.cnblogs.com/lianghong881018/p/11955848.html
Copyright © 2020-2023  润新知