新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 米尔STM32MP25x开发板Bring Up培训课程(三)

米尔STM32MP25x开发板Bring Up培训课程(三)

作者: 时间:2025-02-28 来源:EEPW 收藏

1.概述

本文引用地址:https://www.eepw.com.cn/article/202502/467459.htm

本文将以 MYIR 的 MYC-LD25X 核心模块及MYD-LD25X开发平台为例,讲解如何使用 STM32CubeMX 来实现Developer package最小系统和外设资源的配置。

1740741532988657.png

更多介绍请关注上一期介绍

或关注电子公众号

1.1.TF-A的启动(接上一期)

进入到FIP_artifacts目录下

myir@myir-vm:~/stm32mp25x-BringUp-bsp/FIP_artifacts$ tree arm-trusted-firmware/ -L 1

arm-trusted-firmware/

├── bl31

├── debug

├── fwconfig

├── metadata.bin

├── tf-a-stm32mp257d-bringup-mx-optee-emmc.stm32

└── tf-a-stm32mp257d-bringup-mx-usb.stm32

部署到开发板烧写环境(部署前请确认板子上电,串口线以及 USB 线正确连接):

将开发板拨码开关全部设置为0,接上USB OTG和电源,上电,测试连接环境

1740741570550891.png

串口线连接J15接口:

image.png

1740741599190835.png

手动连接虚拟机

image.png

配置STM32cubeprogrammer环境

测试烧写环境

myir@myir-vm:~/stm32mp25x-BringUp-bsp$ STM32_Programmer_CLI -c port=usb1

1740741635341845.png

注意:如无法输入此命令,客户重新配置环境变量

myir@myir-vm:~/stm32mp25x-BringUp-bsp$ export PATH=$PATH:/home/myir/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin  

使用下列命令进行TF-a USB下载模式

myir@myir-vm:~/stm32mp25x-BringUp-bsp$ cd FIP_artifacts

myir@myir-vm:~/stm32mp25x-BringUp-bsp/FIP_artifacts$ STM32_Programmer_CLI -c port=usb1 -d arm-trusted-firmware/tf-a-stm32mp257d-bringup-mx-usb.stm32 0x1 -s 0x1 -d fip/fip-stm32mp257d-bringup-mx-ddr-optee-emmc.bin 0x2 -s 0x2

成功启动。

image.png

1.2.Optee-OS和Uboot启动

使用下列命令进行FIP文件的烧写和启动

myir@myir-vm:~/stm32mp25x-BringUp-bsp$ cd FIP_artifacts

myir@myir-vm:~/stm32mp25x-BringUp-bsp/FIP_artifacts$ STM32_Programmer_CLI -c port=usb1 -d arm-trusted-firmware/tf-a-stm32mp257d-bringup-mx-usb.stm32 0x1 -s 0x1 -d fip/fip-stm32mp257d-bringup-mx-ddr-optee-emmc.bin 0x2 -s 0x2 -d fip/fip-stm32mp257d-bringup-mx-optee-emmc.bin 0x3 -s 0x3

注:执行该命令时板卡重新上下电。

将生成的fip写到板子上,可以看到串口输出的optee-os的启动log如下:

1740741664480175.png

uboot的启动log如下

1740741680117483.png

2.eMMC烧录与启动

2.1.TF-a和fip文件烧录emmc

在FIP_artifacts文件夹下创建一个tsv后缀的文件,命名:FlashLayout_emmc_stm32mp25x-bringup-mx.tsv填入如下内容。

注意:这个TSV文件未定义内核和内核之后的内容

#Opt     Id     Name    Type      IP    Offset    Binary

-   0x01 fsbl-boot     Binary    none     0x0 arm-trusted-firmware/tf-a-stm32mp257d-bringup-mx-usb.stm32

-   0x02 fip-ddr  FIP  none     0x0 fip/fip-stm32mp257d-bringup-mx-ddr-optee-emmc.bin

-   0x03 fip-boot FIP  none     0x0 fip/fip-stm32mp257d-bringup-mx-optee-emmc.bin

P 0x04 fsbla1    Binary    mmc0    boot1    arm-trusted-firmware/tf-a-stm32mp257d-bringup-mx-optee-emmc.stm32

P 0x05 fsbla2    Binary    mmc0    boot2    arm-trusted-firmware/tf-a-stm32mp257d-bringup-mx-optee-emmc.stm32

P 0x06 metadata1   FWU_MDATA      mmc0    0x00080000 arm-trusted-firmware/metadata.bin

P 0x07 metadata2   FWU_MDATA      mmc0    0x00100000 arm-trusted-firmware/metadata.bin

P 0x08 fip-a      FIP  mmc0    0x00180000 fip/fip-stm32mp257d-bringup-mx-optee-emmc.bin

PED 0x09 fip-b      FIP  mmc0    0x00580000 none

PED 0x0A u-boot-env  ENV       mmc1    0x00980000 none

myir@myir-vm:~/stm32mp25x-BringUp-bsp$ cd FIP_artifacts

myir@myir-vm:~/stm32mp25x-BringUp-bsp/FIP_artifacts$ STM32_Programmer_CLI -c port=usb1 -d FlashLayout_emmc_stm32mp25x-bringup-mx.tsv

刷写log如下所示:

1740741752214667.png

1740741792554652.png

2.2.切换到emmc启动

断电,将拨码开关切换到B0~B3(0 1 0 0)模式,重新上电即可emmc启动,启动log如下

image.png

1740741819744847.png

可在uboot终端下进行操作,如获取emmc信息命令mmc info

image.png

2.3.系统的整体烧录和启动

由于时间原因,编译整个内核代码和文件系统需要的时间很多,我们就先体验下整个系统的烧录和启动过程,后续可以查阅的软件开发资料来详细了解Linux系统的启动过程。

在下载包里已经存在培训资料包里的myir-image-full文件夹里,使用STM32CubeProgrammer加载FlashLayout_emmc_myb-stm32mp257x-2GB-optee.tsv文件,后续的操作步骤在前面章节已经学会。

烧录时间较长(预计15分钟),完成后切换启动拨码开关到eMMC启动方式,即可上电进入整个Linux系统。

myir@myir-vm:~/myir-image-full$ STM32_Programmer_CLI -c port=usb1 -w ./flashlayout_myir-image-full/optee/FlashLayout_emmc_myb-stm32mp257x-2GB-optee.tsv



关键词: 米尔 STM32MP25

评论


相关推荐

技术专区

关闭