介绍
这次非常荣幸能够在第一时间拿到STM32MP257F-DK探索套件,迅速给大家分享一篇开箱贴。
首先复习一下ST目前的几款MPU产品:单A7可跑裸机的MP13,双A7+M4的MP15,以及这未来一段时间将要体验的MP2,包含双A35+单M33,首个64位处理器,内置1.35TOPS的NPU加速器。更多产品两点移步官网哈哈。
之前和大家分享过👉🏻MP13的裸机玩法、👉🏻MP15的核间通信,欢迎大家一起交流学习。除此之外,ST丰富完善的软件生态让MPU产品的使用门槛进一步降低,ST提供了三款不同规格的MPU软件包:开箱即用的Starter Package,面向大多开发者的Developer Package,以及面向企业及专业定制需求用户的Distribution Package。
Developer Package包含内核源码及SDK,可以满足大多数开发场景;Distribution Package也在之前文章中完整的构建过,见👉构建ST MPU官方Distribution Package;今天因为是拿到板子第一时间上手,就使用Starter Package直接烧录固件,点亮开发板。
想要玩转ST MPU,一定要先玩转ST MPU的WiKi,里面基本包含了工程师们面向不同水平开发者编写的标准文档,作者的分享大多是WiKi上面的经验总结,看WiKi收货无穷。本篇参考:STM32MP257x-DKx-硬件描述和STM32MP25 Discovery kits - Starter Package
熟悉硬件
拿到开发板先了解板上的硬件资源,要对整体框架有了认知之后,再动手操作。
板载接口:
- CSI:连接摄像头,选配件,没接
- HDMI:连接显示器,都认识
- GPIO:连接外设
- USB Type-C:烧录固件
- USB Type-A:可以外接键鼠
- 以太网口:必备接口,不能少
- USB-C Power:供电+调试,已连接板载ST-Link
- LVDS:连接屏幕的,官方触摸屏和摄像头一样都是选配
用户操作及指示:
-
2个2位拨码:设置启动模式,从eMMC启动/从microSD卡启动/USB烧录模式/调试模式
-
B1:RESET复位按键
-
B2:WAKEUP唤醒按键
-
B3:TAMPER按键,没见过,似乎有着特殊功能?研究后更新此处
-
B4、B5:2个用户按键
-
LED1:系统心跳灯,由内核驱动控制,代表Linux在A核上活动
-
LD5:ST-Link状态
-
LD6:电源指示灯
-
LD7、LD8:用户LED
-
LD9:用作STM32Cube示例判定LED
外围芯片:
- U40:蓝牙/WiFi
- U37:eMMC 8GB
- U2:LPDDR4 4GB
- U26:PMIC电源管理芯片
对板载资源有大概认识后我们开始烧录Starter Package。
官方烧录方法
与之前的MP13板子不同,这次STM32MP25x-DK板载了一块eMMC,接下来我想尝试通过CubeProgrammer直接烧录固件到eMMC并启动。
Ubuntu参考WiKi文档快速安装好CubeProgrammer和libusb并自行配置好STM32_Programmer_CLI
环境变量或链接,下载解压镜像后,拨码开关BOOT[0:3]拨至0000,连接好右下角Type-C烧录口,上电。
此时在终端中使用STM32_Programmer_CLI -l usb
查看已连接的烧录模式的STM32设备,这与之前的MP13和MP15都类似。
前往固件路径,使用STM32_Programmer_CLI
工具烧录,因为我向烧写到eMMC,所以选择的是flashlayout_st-image-weston/optee/FlashLayout_emmc_stm32mp257f-dk-optee.tsv
,完整命令如下:
STM32_Programmer_CLI -c port=usb1 -w flashlayout_st-image-weston/optee/FlashLayout_emmc_stm32mp257f-dk-optee.tsv
可以看到烧录正常进行,同时连接到ST-Link的串口也有内容输出,等待烧录完成。
烧录完成,拨码开关BOOT[0:3]拨至0100,从eMMC启动,串口终端正常,心跳灯闪烁。STM32MP257F-DK从eMMC启动非常迅速,首次启动耗时25秒。
由于未安装lvds屏幕,我使用HDMI采集卡连接到计算机,同样可以看到视频信号输出。
简单烧录方法
实测直接使用CubeProgrammer也可轻松完成烧录,右上角选择USB方式连接,找到USB DFU模式的STM32目标设备,打开csv烧录分区文件,选择固件路径点击Download按钮开始烧录。
常用设置
修改系统时间
开发板默认系统时间不正确会导致apt等命令运行异常,使用date命令即可修改系统时间
date -s "2024-12-15 23:23:26"
开启SSH服务
开发板默认未开启SSH远程连接功能,使用以下命令开启。
sudo apt update
sudo apt install openssh
修改SSH配置,使用VI编辑器修改/etc/ssh/sshd_config
- 允许root身份登录:将
#PermitRootLogin prohibit-password
修改为PermitRootLogin yes
- 允许无密码登录:将
#PermitEmptyPasswords no
改为PermitEmptyPasswords yes
总结
Starter Package烧录极其简单,可以实现快速上手体验ST MPU开发板。STM32MP2相比MP1有太多的新特性值得深入研究,包括M33侧调试与运行,核间通讯,Android等等,后续将继续更新,敬请期待。