全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

STM32MP25x开发板Bring Up培训课程(下)

时间:2025-02-27 08:03

人气:

作者:admin

标签: 米尔电子  STM32  开发板 

导读:STM32MP25x开发板BringUp培训课程(上)STM32MP25x开发板BringUp培训课程(中)米尔基于STM32MP257核心板及开发板3.USB启动USB启动用于烧录镜像到外部flash,例如NAND,SD卡等,从PC端烧录镜像到外部Flas...

41a2bf3c-f49e-11ef-9434-92fbcf53809c.jpg

米尔基于STM32MP257核心板及开发板

3.USB启动

USB启动用于烧录镜像到外部flash,例如NAND,SD卡等,从PC端烧录镜像到外部 Flash是由U-Boot结合STM32CubeProgrammer完成的,配置并编译U-Boot是烧录的前提,根据STM32MPU的启动顺序:

TF-A->OP-TEE->U-BOOT->Linux Kernel

基本的启动流程如下图所示:

41b0fa98-f49e-11ef-9434-92fbcf53809c.png

  • 上电冷启动,加载ROM Code;

  • ROM Code:初始化基本时钟,从选定的启动设备中加载FSBL,鉴权、启动FSBL;

  • FSBL:TF-A程序,完成整个时钟树初始化,初始化DDR,从选定的启动设备中加载SSBL,启动SSBL;

  • OP-TEE: 启动可信的安全环境;

  • SSBL:u-boot,存储器、网络、USB各种方式加载Linux Kernel,启动kernel;

  • Linux 内核:内核初始化、挂载根文件系统,启动用户空间的init程序;

Linux 用户空间:应用程序。

3.1.TF-A的启动

进入到FIP_artifacts目录下

myir@myir-vm:~/stm32mp25x-BringUp-bsp/FIP_artifacts$ tree arm-trusted-firmware/ -L 1arm-trusted-firmware/├── bl31├── debug├── fwconfig├── metadata.bin├── tf-a-stm32mp257d-bringup-mx-optee-emmc.stm32└── tf-a-stm32mp257d-bringup-mx-usb.stm32

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

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

41c670da-f49e-11ef-9434-92fbcf53809c.png

串口线连接J15接口

41e303e4-f49e-11ef-9434-92fbcf53809c.png

41f6c0c8-f49e-11ef-9434-92fbcf53809c.png

手动连接虚拟机

42144b3e-f49e-11ef-9434-92fbcf53809c.png

配置STM32cubeprogrammer环境

测试烧写环境

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

42276c78-f49e-11ef-9434-92fbcf53809c.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_artifactsmyir@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

成功启动。

423b7272-f49e-11ef-9434-92fbcf53809c.png

3.2.Optee-OS和Uboot启动

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

myir@myir-vm:~/stm32mp25x-BringUp-bsp$ cd FIP_artifactsmyir@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如下:

424ffb3e-f49e-11ef-9434-92fbcf53809c.png

uboot的启动log如下

42615eec-f49e-11ef-9434-92fbcf53809c.png

4.eMMC烧录与启动

4.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.binP 0x04 fsbla1 Binary mmc0 boot1 arm-trusted-firmware/tf-a-stm32mp257d-bringup-mx-optee-emmc.stm32P 0x05 fsbla2 Binary mmc0 boot2 arm-trusted-firmware/tf-a-stm32mp257d-bringup-mx-optee-emmc.stm32P 0x06 metadata1 FWU_MDATA mmc0 0x00080000 arm-trusted-firmware/metadata.binP 0x07 metadata2 FWU_MDATA mmc0 0x00100000 arm-trusted-firmware/metadata.binP 0x08 fip-a FIP mmc0 0x00180000 fip/fip-stm32mp257d-bringup-mx-optee-emmc.binPED 0x09 fip-b FIP mmc0 0x00580000 nonePED 0x0A u-boot-env ENV mmc1 0x00980000 nonemyir@myir-vm:~/stm32mp25x-BringUp-bsp$ cd FIP_artifactsmyir@myir-vm:~/stm32mp25x-BringUp-bsp/FIP_artifacts$ STM32_Programmer_CLI -c port=usb1 -d FlashLayout_emmc_stm32mp25x-bringup-mx.tsv

刷写log如下所示:

4270e2a4-f49e-11ef-9434-92fbcf53809c.png

429e4870-f49e-11ef-9434-92fbcf53809c.png

4.2.切换到emmc启动

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

42b6f8c0-f49e-11ef-9434-92fbcf53809c.png

42ca8296-f49e-11ef-9434-92fbcf53809c.png

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

42de03e8-f49e-11ef-9434-92fbcf53809c.png

4.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-cport=usb1-w./flashlayout_myir-image-full/optee/FlashLayout_emmc_myb-stm32mp257x-2GB-optee.tsv

42ec7338-f49e-11ef-9434-92fbcf53809c.png

米尔电子最新“明星产品”速报

42fb6d34-f49e-11ef-9434-92fbcf53809c.png

430f4e94-f49e-11ef-9434-92fbcf53809c.png

43221cf4-f49e-11ef-9434-92fbcf53809c.png


4334d04c-f49e-11ef-9434-92fbcf53809c.png

43560442-f49e-11ef-9434-92fbcf53809c.jpg

43617dcc-f49e-11ef-9434-92fbcf53809c.png

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信