• (五)正点原子STM32MP135移植——烧录


    一、概述

            这里用的烧录方式是使用STM32CubeProgrammer USB方式烧录

    二、文件准备

            还记得FIP_artifacts文件夹吗,里面存放了TF-A、optee、u-boot编译输出的东西,以及最后的fip-stm32mp135-atk-optee.bin文件

            烧写程序需要准备这些:

    1.        arm-trusted-firmware/tf-a-stm32mp135-atk-usb.stm32

    2.        fip/fip-stm32mp135-atk-optee.bin

    3.        arm-trusted-firmware/tf-a-stm32mp135-atk-emmc.stm32

    4.        arm-trusted-firmware/metadata.bin

             如果是照着本教程编译完的,那么这些文件肯定已经躺在FIP_artifacts里面了,还差一个烧录脚本

    三、创建烧录脚本

            在FIP_artifacts创建一个stm32mp135-atk-emmc-optee.tsv文件,内容如下

    1. #Opt Id Name Type IP Offset Binary
    2. - 0x01 fsbl1-boot Binary none 0x0 arm-trusted-firmware/tf-a-stm32mp135-atk-usb.stm32
    3. - 0x03 fip-boot FIP none 0x0 fip/fip-stm32mp135-atk-optee.bin
    4. P 0x04 fsbl1 Binary mmc1 boot1 arm-trusted-firmware/tf-a-stm32mp135-atk-emmc.stm32
    5. P 0x05 fsbl2 Binary mmc1 boot2 arm-trusted-firmware/tf-a-stm32mp135-atk-emmc.stm32
    6. P 0x06 metadata1 Binary mmc1 0x00080000 arm-trusted-firmware/metadata.bin
    7. P 0x07 metadata2 Binary mmc1 0x00100000 arm-trusted-firmware/metadata.bin
    8. P 0x08 fip-a FIP mmc1 0x00180000 fip/fip-stm32mp135-atk-optee.bin
    9. PED 0x09 fip-b FIP mmc1 0x00580000 none
    10. PED 0x0A u-boot-env Binary mmc1 0x00980000 none

    一定要用TAB去空开,不能用空格,这个的具体写法可以参考网上很多帖子,这里就不过多阐述了

    四、开始烧录吧!!

    打开STM32CubeProgrammer

    点击+号,选择刚刚创建的stm32mp135-atk-emmc-optee.tsv文件

    点击Browse,选择FIP_artifacts目录

    记得拨码开关三个0,然后按一下复位

    然后连接USB,开始Download吧,这部分可以看原子的教程了。

    如果移植正常成功的话,屏幕上是会显示烧录过程的。

    烧录完成通过emmc启动一下看看

    这里还是有一个问题,笔者移植的uboot里,最前面启动uboot的时候提示:

    stm32-usbphyc usbphyc@5a006000: Can't get phy-supply regulator
    clk_register: failed to get ck_usbo_48m device (parent of usbo_k)

     笔者在测试的时候,发现这部分在DRAM:512Mib后面那个optee optee:OP-TEE: revision之后,usb又一次初始化的时候是成功初始化了,但是在这为什么初始化两次并没有理解,而且为什么第一次失败了,第二次成功了,实际上是能用的了。如果有大佬看看麻烦评论求教教我。

  • 相关阅读:
    matlab命令行窗口结果显示不全,解析式太长,输出不完整解决办法
    uniapp 使用和引入 thorui
    [附源码]Python计算机毕业设计Django时间管理软件app
    Docker02基础操作
    H5移动端购物商城系统源码 小型商城全新简洁风格全新UI 支持易支付接口
    Linux学习第18天:Linux并发与竞争: 没有规矩不成方圆
    蓝桥杯刷题(三)
    Apple开发如何在设备中切换IAP(内购)沙盒测试账户?
    后端跨域解决方案
    【Java】三大集合容器概述
  • 原文地址:https://blog.csdn.net/qq_42697289/article/details/133566132