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

    加密引导过程如下:

  • 相关阅读:
    对象的绑定方法
    属性查找
    定制对象独有特征
    类和对象
    面向对象编程介绍
    面向对象程序设计的由来(历史故事)
    基于socketserver实现并发的socket套接字编程
    基于UDP协议的socket套接字编程
    解决粘包问题
    copy 合并
  • 原文地址:https://www.cnblogs.com/lianghong881018/p/11955848.html
Copyright © 2011-2022 走看看