STM32MP157D-DK1开发板固件烧录

本篇介绍STM32MP157D-DK1开发板如何烧录官方固件。

1 开发板基础硬件介绍

1.1 常用接口

板子上的各种接口功如下,本篇固件烧录,主要用的接口包括:

  • CN6:供电接口
  • B2:复位按键
  • CN11:ST-LINK USB(用作串口查看信息)
  • CN9:HDMI显示器接口
  • CN7:Type-C数据烧录

1.2 Boot开关

烧录固件时,需要插入MicroSD卡,并切换板子上的BOOT开关。

注:此板子上的"Boot 1"连接GND,始终是0

Boot modeBoot 0Boot 1Boot 2
USB启动用于烧录固件000
不支持100
工程启动001
microSD卡启动101

烧录时,使用烧录固件模式,烧录完成后,使用microSD卡启动模式。

2 烧录准备工作

2.1 准备的必要的硬件

  • Ubuntu虚拟机:搭建烧录软件环境
  • STM32MP157D-DK1开发板
  • Micro SD卡:烧录到SD卡中
  • 5V/3A Type-C电源:供电
  • Typc-C数据线:烧录的数据线
  • 安卓数据线:串口查看烧录信息
  • HDMI显示器:烧录成功后,查看官方固件的Demo
  • 鼠标:查看Demo时的鼠标操作

2.2 安装软件STM32CubeProgrammer工具

有Windows和Linux两种,这里介绍在Ubuntu虚拟机的Linux系统中安装的操作步骤。

下载STM32CubeProgrammer软件:https://www.st.com/en/development-tools/stm32cubeprog.html#get-software

解压并安装,解压后会多出一个jre文件夹和两个文件,然后执行SetupSTM32CubeProgrammer-2.15.0.linux文件进行安装:

unzip en.stm32cubeprg-lin-v2-15-0.zip
ls
./SetupSTM32CubeProgrammer-2.15.0.linux

会有界面形式的安装提示:

安装完成后,设置环境变量(可以在准备烧录到时候再临时设置)

export PATH=/home/xxpcb/myTest/STM32MP157/tool/cubeprog/bin:$PATH

2.3 安装USB serial link for flashing

安装一个驱动用于识别开发板的USB烧录接口。

还是在Ubuntu虚拟机中操作:

sudo apt-get install libusb-1.0-0

然后将一些文件拷贝到/etc/udev/rules.d中:

cd ~/myTest/STM32MP157/tool/cubeprog/Drivers/rules
sudo cp *.* /etc/udev/rules.d/

2.4 下载镜像

下载STM32MP1 Starter Package镜像,地址https://www.st.com/en/embedded-software/stm32mp1starter.html#get-software

下载后名为:en.flash-stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21.tar.gz

然后拷贝到Ubuntu中并解压:

cd /home/xxpcb/myTest/STM32MP157/STM32MPU-Ecosystem-v5.0.0/Starter-Package
tar xvf en.flash-stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21.tar.gz

二进制文件和 Flash 布局文件位于stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/images/stm32mp1/ 目录中:

比如STM32MP157D-DK1开发板需要用的就是FlashLayout_sdcard_stm32mp157d-dk1-optee.tsv这个。

3 烧录

3.1 连接板子与电脑

步骤如下:

  • 板子插入SD卡
  • BOOT拨码开关都拨到0
  • 连接电源线(也可最后上电)
  • 连接Type-C数据线、安卓数据线
  • 按下复位键
  • 安卓数据线本篇是串口功能,连接Windows电脑的串口软件,用于查看信息
  • Type-C数据线是烧录线,连接Ubintu虚拟机,注意是DFU这一个,如下图

3.2 命令行烧录

进入到下载的固件目录,到达stm32mp1这一级

cd ~/myTest/STM32MP157/STM32MPU-Ecosystem-v5.0.0/Starter-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/images/stm32mp1

然后可以线查看烧录工具的版本和板子连接信息是否正常:

STM32_Programmer_CLI --h
STM32_Programmer_CLI -l usb

如下可正常打印出来,即为正常:

然后使用如下命令进行烧录:

STM32_Programmer_CLI -c port=usb1 -w flashlayout_st-image-weston/optee/FlashLayout_sdcard_stm32mp157d-dk1-optee.tsv

第一次烧录出现了错误提示:

查看串口打印,发现是电源供电电流不够(我第一次使用的是一个2A的电源):

换用3A的电源重新烧录,另外注意,在开始烧录的时候,板子会被自动重启(复位),需要在虚拟器的USB设置处重新连接USB download这个,否则还是会报错。

烧录需要几分钟时间,· 最后烧录成功后的打印信息如下:

4 演示

https://www.bilibili.com/video/BV1uN41157F7

5 总结

本篇介绍了STM32MP157D-DK1开发板烧录官方固件的详细过程,记录了烧录过程的实际操作结果和中间遇到的问题及解决方法,最后演示烧录后的效果。

  • 21
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值