你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32MP257-DK】01开发板开箱、ST MPU 生态资源使用、环境搭建以及镜像更新

[复制链接]
EPTmachine 发布时间:2025-3-15 22:43

最近得到了一块STM32MP257F-DK开发板。

STM32MP257_PACK.jpg

STM32MP257_deliver.jpgalt text

开发的主要特性如下:

  • 板载ST最新的MP257系列64位MPU,芯片型号为STM32MP257FAK3,搭载双核Cortex-A35(工作频率达1.5GHz)和Cortex-M33内核(工作频率达400MHz)。
  • 32-Gbit LPDDR4 DRRAM(约4GB内存)和64-Gbit eMMC V5.1(约8GB存储空间)可以满足运行复杂系统的需要。
  • 以太网、USB、CAMERA、HDMI等丰富的外设接口,可以适应多种应用。
  • 内嵌GPU、VPU、NPU硬件加速模块,减轻CPU负载,提高性能和能效
  • 独有的RIF(Resource Isolation Framework)模块,从硬件层面为系统安全增加保障

STM32MP257属于STM32MP2系列中的顶配芯片,配合开发板的板载资源和接口丰富,适合开发者体验的功能。

STM32MP25_Series.png

1.ST MPU生态资源

MPU使用Linux作为操作系统,其开发和使用复杂,为解决这一问题。ST提供STM32 MPU ecosystem为开发者提供信息和帮助的平台。

ST_MPU_ecosystem.png

在这里,从开发板入门操作、硬件特性查询、开发环境搭建、代码编译和镜像烧录、Linux模块添加和修改、内核调试等与MPU开发相关的信息,都可以在这里找到。内容介绍详细、对开发过程中容易出现的问题给出解决办法、外部资源链接,而且页面上有很多链接,方便查阅相关的文本,做到了一站式的开发流程学习。

2.开发板入门

对于初学者,在ST MPU生态中可以找到入门所需的绝大部分资料。

STM32MP25F-DK开发板硬件页面中,介绍STM32MP25F-DK如何连接外部设备和搭建硬件平台。

开发板的供电使用输出功率5V~3A的电源,在实际测试时,使用小米的65W充电插头和充电线是可以满足开发的供电需求的。使用两端都是Type-C的USB线连接到PC上的Type-C接口(Type-C接口支持3A的输出电流),这样就可以在PC端通过串口接收开发板的启动信息以及串口登录控制台。

了解如何供电后,需要知道开发板的启动模式。STM32MP257x-DK开发板有四种不同的启动模式。

Boot3 Boot2 Boot1 Boot0 Boot mode Cortex-A35
0 0 0 0 Forced USB boot for flash programming
0 0 0 1 microSD card on SDMMC1
0 0 1 0 eMMC card on SDMMC2
0 0 1 1 Development boot

上述不同模式下的开关位置如下图所示。

boot_swith_ps.png

在了解如何供电和选择启动模式后,就可以初步探索开发板的功能。

3.开发环境搭建

为满足开发者的不同需求,ST为MPU芯片提供三种不同的开发包:

  1. 为体验、功能验证准备的Starter Package,包含可供使用的镜像;
  2. 基于ST发布的BSP,进行功能开发的Developer Package,包含Uboot、Linux Kernel、TOPEE等源码,适用于基于开发板的个人开发者。
  3. 基于Yocto构建系统的Distribution Package,适用于基于STM32M257芯片进行定制化的团队开发,提供更多的定制化选项。

关于以上三种开发包的具体信息,可以查看如何选择适合的开发套件

作为入门,从Starer Package开始熟悉STM32MP257F-DK的性能是很好的开始。本文使用联想Y470笔记本(8GB)作为开发的主机(是官方推荐配置中的最低配置),安装Ubuntu22.04 LTS(ST官方推荐的)。

机器配置截图

参考开发包文件目录设置示例,在Ubuntu22.04的文件系统中创建用于存放STM32 MPU Package的文件夹,便于后续的管理。(一般存放在/home/xxx/目录中,这样可以避免读写权限限制带来的问题,如果是root用户,则根据自己的习惯进行管理。)

创建好的文件夹如下如图所示。

3.1 Starter Package安装

参考STM32 MPU ecosystem中MP25的Starter_Package使用指南

首先,在ST官方的MP2 Starter Package页面下载对应的Starter Package。

Get_Starter_Package.png

文件存放到之前创建的Starter-Package文件夹中。

执行命令行指令将文件解压到出来。

tar xvf en.FLASH-stm32mp2-openstlinux-6.6-yocto-scarthgap-mpu-v24.12.05.tar.gz

在实际操作中有时会遇到以下错误

starter_pack_error.png

通过使用桌面中的右键菜单可以解决该问题。

use_menu_extract.png

3.2 安装STM32CubeProgram tool

STM32CubeProg 页面下载Linux平台上的安装包。将下载的安装包解压后。

进入解压目录,执行以下命令行进行安装。

$> ./SetupSTM32CubeProgrammer-2.18.0.linux

/home/xxx/bin文件夹中创建指向STM32_Programmer_CLI程序的链接。这样就可以在命令行中调用STM32_Programmer_CLI的指令。

$> ln -s <my STM32CubeProgrammer install directory>/bin/STM32_Programmer_CLI /home/bin/STM32_Programmer_CLI

通过命令行检查STM32_Programmer_CLI是否运行成功

$> STM32_Programmer_CLI --h

3.3 设置USB转串口的驱动

参考如何设置USB转串口的驱动。在Linux安装libusb1.0包用于支持USB DFU mode。执行下列命令行即可

sudo apt-get install libusb-1.0-0

安装完毕后,执行以下指令允许STM32CubeProgrammer 访问USB端口。

cd <your STM32CubeProgrammer install directory>/Drivers/rules 

sudo cp *.* /etc/udev/rules.d/

4.开发板体验

开发板出厂自带烧写好的系统,接上外设并供电后即可进行体验。

STM32MP25&_setup.jpg

这里供电使用的是小米65W的充电器,标称输出中是有5V-3A的,是可以给开发板供电使用的。

其中演示功能中的3D图形演示效果很流畅。

3d_graphic.gif

通过网络SSH登录开发板,可以查看开发板上的资源。

boardresource.png

通过命令行指令可以查看当前的固件版本信息。

root@stm32mp2-e3-c3-d7:~# cat /etc/os-release
ID=openstlinux-weston
NAME="ST OpenSTLinux - Weston - (A Yocto Project Based Distro)"
VERSION="5.0.3-openstlinux-24-10-18 (scarthgap)"
VERSION_ID=5.0.3-openstlinux-24-10-18
VERSION_CODENAME="scarthgap"
PRETTY_NAME="ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 5.0.3-openstlinux-24-10-18 (scarthgap)"
CPE_NAME="cpe:/o:openembedded:openstlinux-weston:5.0.3-openstlinux-24-10-18"

4.1 镜像烧录

下载的Starter Package中包含有最新的出厂镜像,参考镜像烧录的介绍进行镜像的更新。

  1. 设置拨码开关到从UART/USB启动的位置;

    300px-STM32MP257x-DK_boot_switches_Force_USB_mode.jpg

  2. 使用Type-C的USB线连接PC和开发板的OTG端口;

  3. 在SD卡槽中插入SD卡

  4. 连接USB_PWR给开发板供电。

完成上述硬件连接后,在PC上切换到Starter-Package目录中包含镜像文件的文件夹中。

starter_stm32mp2_image.png

在文件夹中打卡命令行终端,运行STM32_Programmer_CLI -l usb来查看当前连接的DFU设备。可以看到开发板的信息。

USB_DFU_device.png

运行下列指令进行镜像的烧录

PC $> STM32_Programmer_CLI -c port=usb1 -w flashlayout_st-image-weston/optee/FlashLayout_sdcard_stm32mp257f-dk-optee.tsv

烧录的过程中可以看到串口输出的信息,uboot工作在USB DFU模式中。

usb_DFU_upgrade.png

烧录成功后,会有相应的提示信息

flash_image_success.png

4.2 重启开发板

将开发板的拨码开关设定为从SD卡启动,拨码开关的位置如下图所示。

300px-STM32MP257x-DK_boot_switches_microSD_card.jpg

接通电源后,系统重启完成,查看系统的版本信息

root@stm32mp2-e3-c3-d7:~# cat /etc/os-release
ID=openstlinux-weston
NAME="ST OpenSTLinux - Weston - (A Yocto Project Based Distro)"
VERSION="5.0.3-openstlinux-6.6-yocto-scarthgap-mpu-v24.12.05 (scarthgap)"
VERSION_ID=5.0.3-openstlinux-6.6-yocto-scarthgap-mpu-v24.12.05
VERSION_CODENAME="scarthgap"
PRETTY_NAME="ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 5.0.3-openstlinux-6.6-yocto-scarthgap-mpu-v24.12.05 (scarthgap)"
CPE_NAME="cpe:/o:openembedded:openstlinux-weston:5.0.3-openstlinux-6.6-yocto-scarthgap-mpu-v24.12.05"

与之前的信息对比可以,系统更新成功。

4.3 开发板使用

开发板上自带用于测试音频和视频的文件,参考Starter_Example中的指令。

登录开发板的命令行,执行以下指令,播放文件系统中的视频文件。

gst-play-1.0 /usr/local/demo/media/ST2297_visionv3.webm

gst-play.png

播放效果如下视频所示。

gst-play.mp4

gst-play.gif

5 总结

STM32MP257F-DK的资料全面,在调试时按照指导资料的步骤操作,除了会遇到Linux中的权限管理问题、电源供电不稳等因素,可以得到相应的效果。

ST提供的ST MPU ecosystem中包含了硬件组装、上手指南、开发环境搭建等基础功能、Linux内核驱动开发、调试等开发功能,定制化开发包管理等发布功能。帮助具有一定Linux开发经验的工程师快速上手开发板的使用和开发,是很不错的在线资源。

收藏 评论0 发布时间:2025-3-15 22:43

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版