【STM32MP257-DK】01 ST MPU 生态资源使用、环境搭建以及镜像更新
1.产品资料
STM32MP257F-DK是一款基于STM32MP257F MPU的探索套件,作为STM32MP257FAK3(基于Arm® Cortex® A35和M33)的完整演示与开发平台。 该产品充分利用STM32MP2系列微处理器的功能,支持用户通过主处理器(Arm®双核Cortex®-A35)的STM32 MPU OpenSTLinux发行版软件及协处理器(Arm® Cortex®-M33)的STM32CubeMP2软件开发应用程序。 该产品包含嵌入式ST-LINK调试工具、LED指示灯、按键开关、 1 Gbit/s以太网、1个USB3 Type-C® PD接口、2个叠加式USB 2.0高速Type-A接口、1个LCD LVDS显示连接器、1个HDMI连接器、1个摄像头接口、microSD™卡槽、Wi‑Fi® 802.11b/g/n、蓝牙®低功耗v4.1及eMMC存储。 为扩展STM32MP257F-DK功能,另配备一个适用于Raspberry Pi®扩展板的通用输入输出扩展接口。
2.产品特点
- STM32MP257FAK3 MPU基于Arm®双核架构:Cortex®-A35主频1.5GHz,Cortex®-M33主频400MHz
- ST电源管理芯片STPMIC25,32Gbit LPDDR4 DRAM
- 64Gbit eMMC v5.1,1Gbit/s 以太网(RGMII),两个 USB 2.0 高速接口,USB 3.0 超高速 PD(DRP/DRD)
- Wi‑Fi® 802.11b/g/n、蓝牙® 低功耗 v4.1、四个用户指示灯
- 两个用户按钮、一个防拆按钮、一个复位按钮、唤醒按钮、四个启动引脚开关
- 板载接口:以太网RJ45、2个叠层USB 2.0高速A型接口、USB 3.0 USB Type-C® PD、HDMI®、LVDS
- 板载接口:microSD™卡槽、双通道MIPI CSI-2®摄像头模块扩展、GPIO扩展接口
- 板载STLINK-V3EC:带USB重新枚举功能的调试器:虚拟COM端口和调试端口
- 主线开源Linux® STM32 MPU OpenSTLinux发行版及STM32CubeMP2软件(含示例)
- Linux® Yocto Project®、Buildroot 及 STM32CubeIDE 开发环境
stm32mp257f-dk简介.pdfhttps://bbs.eeworld.com.cn/elecplay.php?action=show&op=download&id=557&did=1详情了解stm32mp257f
https://bbs.eeworld.com.cn/elecplay.php?action=show&op=download&id=557&did=23.供电
使用输出功率5V~3A的电源,测试使用的是华为的100W充电插头和充电线
4.启动模式
| 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 |
5.开发环境搭建
为满足开发者的不同需求,ST为MPU芯片提供三种不同的开发包:
- 为体验、功能验证准备的Starter Package,包含可供使用的镜像;
- 基于ST发布的BSP,进行功能开发的Developer Package,包含Uboot、Linux Kernel、TOPEE等源码,适用于基于开发板的个人开发者。
- 基于Yocto构建系统的Distribution Package,适用于基于STM32M257芯片进行定制化的团队开发,提供更多的定制化选项。
关于以上三种开发包的具体信息,可以查看如何选择适合的开发套件
作为入门,从Starer Package开始熟悉STM32MP257F-DK的性能是很好的开始。本文使用联想笔记本(32GB)作为开发的主机,安装Ubuntu22.04 LTS(ST官方推荐的)。
参考开发包文件目录设置示例,在Ubuntu22.04的文件系统中创建用于存放STM32 MPU Package的文件夹,便于后续的管理。(一般存放在/home/xxx/目录中,这样可以避免读写权限限制带来的问题,如果是root用户,则根据自己的习惯进行管理。)
创建好的文件夹如下如图所示。
5.1.Starter Package安装
参考STM32 MPU ecosystem中MP25的Starter_Package使用指南。
首先,在ST官方的MP2 Starter Package页面下载对应的Starter Package。
文件存放到之前创建的
Starter-Package文件夹中。执行命令行指令将文件解压到出来。
$> tar xvf en.FLASH-stm32mp2-openstlinux-6.6-yocto-scarthgap-mpu-v24.12.05.tar.gz也可以选择使用右键菜单解压。
5.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
5.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/
6.开发板体验通过网络SSH登录开发板,可以查看开发板上的资源。
通过命令行指令可以查看当前的固件版本信息。
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"
6.1.镜像烧录
下载的Starter Package中包含有最新的出厂镜像,参考镜像烧录的介绍进行镜像的更新。
设置拨码开关到从UART/USB启动的位置;
使用Type-C的USB线连接PC和开发板的OTG端口;
在SD卡槽中插入SD卡
连接USB_PWR给开发板供电。
完成上述硬件连接后,在PC上切换到Starter-Package目录中包含镜像文件的文件夹中。
在文件夹中打卡命令行终端,运行
STM32_Programmer_CLI -l usb来查看当前连接的DFU设备。可以看到开发板的信息。
运行下列指令进行镜像的烧录
PC $> STM32_Programmer_CLI -c port=usb1 -w flashlayout_st-image-weston/optee/FlashLayout_sdcard_stm32mp257f-dk-optee.tsv烧录的过程中可以看到串口输出的信息,uboot工作在USB DFU模式中。
烧录成功后,会有相应的提示信息。
4.2.重启开发板
将开发板的拨码开关设定为从SD卡启动,拨码开关的位置如下图所示。
接通电源后,系统重启完成,查看系统的版本信息
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"与之前的信息对比可以,系统更新成功。
