
最近得到了一块STM32MP257F-DK开发板。 开发的主要特性如下:
STM32MP257属于STM32MP2系列中的顶配芯片,配合开发板的板载资源和接口丰富,适合开发者体验的功能。 1.ST MPU生态资源MPU使用Linux作为操作系统,其开发和使用复杂,为解决这一问题。ST提供STM32 MPU ecosystem为开发者提供信息和帮助的平台。 在这里,从开发板入门操作、硬件特性查询、开发环境搭建、代码编译和镜像烧录、Linux模块添加和修改、内核调试等与MPU开发相关的信息,都可以在这里找到。内容介绍详细、对开发过程中容易出现的问题给出解决办法、外部资源链接,而且页面上有很多链接,方便查阅相关的文本,做到了一站式的开发流程学习。 2.开发板入门对于初学者,在ST MPU生态中可以找到入门所需的绝大部分资料。 STM32MP25F-DK开发板硬件页面中,介绍STM32MP25F-DK如何连接外部设备和搭建硬件平台。 开发板的供电使用输出功率5V~3A的电源,在实际测试时,使用小米的65W充电插头和充电线是可以满足开发的供电需求的。使用两端都是Type-C的USB线连接到PC上的Type-C接口(Type-C接口支持3A的输出电流),这样就可以在PC端通过串口接收开发板的启动信息以及串口登录控制台。 了解如何供电后,需要知道开发板的启动模式。STM32MP257x-DK开发板有四种不同的启动模式。
上述不同模式下的开关位置如下图所示。 在了解如何供电和选择启动模式后,就可以初步探索开发板的功能。 3.开发环境搭建为满足开发者的不同需求,ST为MPU芯片提供三种不同的开发包:
关于以上三种开发包的具体信息,可以查看如何选择适合的开发套件 作为入门,从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。 文件存放到之前创建的 执行命令行指令将文件解压到出来。
在实际操作中有时会遇到以下错误 通过使用桌面中的右键菜单可以解决该问题。 3.2 安装STM32CubeProgram tool在STM32CubeProg 页面下载Linux平台上的安装包。将下载的安装包解压后。 进入解压目录,执行以下命令行进行安装。
在
通过命令行检查
3.3 设置USB转串口的驱动参考如何设置USB转串口的驱动。在Linux安装
安装完毕后,执行以下指令允许STM32CubeProgrammer 访问USB端口。
4.开发板体验开发板出厂自带烧写好的系统,接上外设并供电后即可进行体验。 这里供电使用的是小米65W的充电器,标称输出中是有5V-3A的,是可以给开发板供电使用的。 其中演示功能中的3D图形演示效果很流畅。 通过网络SSH登录开发板,可以查看开发板上的资源。 通过命令行指令可以查看当前的固件版本信息。
4.1 镜像烧录下载的Starter Package中包含有最新的出厂镜像,参考镜像烧录的介绍进行镜像的更新。
完成上述硬件连接后,在PC上切换到Starter-Package目录中包含镜像文件的文件夹中。 在文件夹中打卡命令行终端,运行 运行下列指令进行镜像的烧录
烧录的过程中可以看到串口输出的信息,uboot工作在USB DFU模式中。 烧录成功后,会有相应的提示信息 4.2 重启开发板将开发板的拨码开关设定为从SD卡启动,拨码开关的位置如下图所示。 接通电源后,系统重启完成,查看系统的版本信息
与之前的信息对比可以,系统更新成功。 4.3 开发板使用开发板上自带用于测试音频和视频的文件,参考Starter_Example中的指令。 登录开发板的命令行,执行以下指令,播放文件系统中的视频文件。
播放效果如下视频所示。 5 总结STM32MP257F-DK的资料全面,在调试时按照指导资料的步骤操作,除了会遇到Linux中的权限管理问题、电源供电不稳等因素,可以得到相应的效果。 ST提供的ST MPU ecosystem中包含了硬件组装、上手指南、开发环境搭建等基础功能、Linux内核驱动开发、调试等开发功能,定制化开发包管理等发布功能。帮助具有一定Linux开发经验的工程师快速上手开发板的使用和开发,是很不错的在线资源。 |
基于STM32MP1和STM32MP2在嵌入式Linux平台上部署有效的安全保护机制
直播回顾 | STM32MP2x资源隔离架构(RIF)介绍与使用
兔哥的初代M33【002】-H503Nucleo 内部flash操作
利用STM32MP1和STM32MP2为嵌入式Linux提供有效的安全措施:供当今决策者参考的3条宝贵经验
有奖直播 | STM32MP2x 资源隔离架构 (RIF) 介绍与使用
拷打cubemx【001】——艰难的选型路
兔哥的杂谈【002】——如何性价比更高地去编译STM32
汇编浮点库qfplib移植STM32F769I-DISCO开发板与硬件浮点运算性能测试对比
【STM32MP257】轻松搭建A35 Linux编译及调试环境
【STM32MP257】🥳STM32MP257-DK-开发板开箱体验