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

【经验分享】零基础快速入手 STM32MP1

[复制链接]
STMCU小助手 发布时间:2022-3-4 19:49
前言
STM32MP1 多核微处理器,带有 650Mhz 主频的 cortex-A7 双核以及一个主频为 209Mhz 的 cortex-M4 核,即片内拥有三核。很多 STM32 新老用户对 STM32MP1 表现出浓厚的兴趣,纷纷从 ST 或者其它渠道购买到了STM32MP1 的开发板。当用户拿到开发板之后,如果本身就有丰富的 linux 经验,自然可以按照的指南,先安装运行 linux 操作系统的 PC,再一步一步使用 linux 上的命令行,将STM32MP1 跑起来。
然而,很多 STM32 用户,虽然有着非常好的嵌入式开发能力,但并没有 linux 的 PC 环境或者 linux 的相关知识。在这种情况下 ,如果他们想学习 STM32MP1 或者评估是否应该在项目里使用 STM32MP1,该怎么办?
显然,非常重要的第一步,是让 STM32MP1 开发板在用户手上动起来。那么,在不懂 Linux,在没有 Linux PC的情况下,是否有可能借助 STM32 生态系统,让这些用户快速并轻松迈出第一步?
答案是肯定的 。STM32 用户可以在 Windows 上借助 STM32CubeProgrammer 图形界面编程工具以及STM32MP1 官方预集成的入门开发包(STM32MP1 Starter kit)轻轻松松将 STM32MP1 开发板点亮。
开发板点亮的全过程,不需要记忆命令,也不需要手工输入命令。开发板点亮之后,意味着你拥有了一台运行在STM32 上的微型 PC。用户可以外接鼠标与键盘,外接显示器或者直接使用开发板所带的触摸屏进行STM32MP1 的人工智能,3D GPU 等演示,甚至输入 Linux 命令。
本文将重点描述用户如何快速入手 STM32MP1 所需要的工具,软件包以及操作,不仅适合 linux 零基础的STM32 用户,也适合其它有一定 linux 基础的用户,基于 Windows PC 独立快速搭建 STM32MP1 平台。
工具
我们用来下载固件的工具是 STM32CubeProgrammer。很多 STM32 用户的电脑都装有这款工具。如果还没有安
装的用户。这里使用的版本如下:

P`N%QEU(UGIPXG77))P20KD.png

STM32MP157C-DK2 开发板
本文假定用户已经得到 STM32MP157C-DK2 开发板。如果用户得到其它类型开发板,软件与操作会有一些细微的不同。本文会描述这些细微的不同点,供有其它开发板的人参考。

7%R9_TCREEORX59WX~1DO22.png

随着开发板一同装箱应该还有 MicroSD 卡。这张存储卡需要插在板子相应的接口上(插座 CN15)。它是用来存储后面将要从 PC 下载的固件。在实际产品中,用户可以使用其它的外接 Flash,不一定需要 MicroSD 卡。但MicroSD 卡用来进行功能演示或者评估无疑是最方便的。

STM32MP157C-DK2 连线
STM32MP157C-DK2 开发板的基本连线主要分三个部分,使用一根 USB Type-C 线缆给板子供电,使用另外一根 USB Type-C 线缆以 DFU 方式给板子下载固件,使用一根 MicroUSB 线缆连接 ST-Link。这里使用两根 TypeC 线缆来供电+DFU 是必须的,因为我们需要使用 STM32 DFU 模式下载固件。而 ST-Link 连接不是必须的。
如果连接了 ST-Link,用户可以在 ST-Link 虚拟串口上得到一个 STM32MP1 的终端。用户可以从该终端观察启动
日志,输入 Linux 命令(例如配置网口)等操作。
具体的 连接示意图如下:

[Q1D7Z4UR6@O$$B7SJ58MFC.png

如果你的开发板不是 STM32MP157C-DK2,连线也是这三部分,但可能不是 USB Type-C 供电。例如对于STM32MP157C-EV1,则连接如下。同样,ST-Link 连接对于固件下载不是必需的。

{IOIE{A(SY$M~C]J(`T{$I0.png

预编译的固件包
固件包是个压缩包,名字为 en.FLASH-stm32mp1-openstlinux-4.19-thud-mp1-19-02-20.tar.xz。 该类型压缩文件在 Linux 上可以直接使用 tar 命令解开。在 windows 上也不用担心,可用 7-zip 解压缩。如果你的电脑使已经安装了 7-zip,则直接使用右键选择 7-zip 打开。

WOO7_O{}0CG4$US[X}4{_1T.png

直接双击后就可以看到文件包

33Y2EX}Y2$GWOLWN2EDNHC4.png

这个时候你就可以将该目录固件整体解压到任意目录。可以看到固件包中 images 目录包含了对所有 STM32MP1开发板的支持。如果你的开发板不是 STM32MP157C-DK2 而是 STM32MP157C-EV1,该固件包也只需要下载一次。

V)GD`40WEG@2~ZS5T3U@KY7.png

开发板跳线
使用 DFU 功能,我们需要将 STM32MP157C-DK2 跳线配置为从 DFU 启动。跳线开关位于 STM32MP157CDK2 的背面。我们将其跳线到 OFF,样子如下:

D(_84C0SX%]4UBSSCFMAJDO.png

对于其他开发板,例如 STM32MP157C-EV1,也是将启动模式跳线至 OFF,样子如下:

8~LU3LXJB_3X1U%6]4PCQ75.png

下载固件到 STM32MP1
如果跳线按照以上的方式调整完毕,重新上电并连上用于 DFU 的 Type-C 线缆,打开STM32CubeProgrammer,可以使用 USB 连接开发板。

VQPPDZI@`O6P]OTYJX032XP.png

当 USB 连接成功后,用户可使用 STM32CubeProgrammer 菜单选择开发板所对应的 tsv 文件如下。


C)DCM457{6N1K{82[98DF]O.png

我们通常选择 FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv(tsv 在\images\stm32mp1\flashlayout_stimage-weston 目录下binary 则在上一级目录\images\stm32mp1),则画面如下:


SH%VHTDU52I66BA@G_(JO$H.png

这个时候我们选择下载 Download,则固件就会被下载至 STM32MP157C-DK2 的 MicroSD 卡。整个固件大约500M 字节,下载时间大约需要 20 分钟。下载成功提示如下:


HBQ18}XW[F}{D{ZB_H@EK%D.png

注意:如果使用其它开发板,例如 stm32mp157c-ev1,则应该选择其他 tsv 文件,但是固件所在的目录以及其他操作不变。


6`%1[U61T`XB{34]092~Z2P.png


启动
拔掉电源,将背面的启动设置跳线恢复,跳至 ON 位置,如下:

9J{@LX857`{OTS9}]WYCD}7.png

如果你使用其它开发板,例如 STM32MP157C-EV1,则将除了 2 之外的 1,3 都跳至 ON。

LKNNU)GO)GY}{(1[3Z3W79Q.png

正常启动后,就可以在屏幕上看到:

07~%NKR3}CA${[[F8PL@[5U.png

总结
本文描述了在 Windows 上使用 STM32CubeProgrammer 将 STM32MP1 Starter Kit 固件烧录进 MicroSD 卡,适合没有 Linux 基础又需要了解评估 STM32MP1 的功能、性能以及功耗的人员。有经验的开发人员也可以利用本文快速搭建 STM32MP1 平台进行功能演示或者进行 Linux 应用开发,例如可以继续使用 STM32CubeMx 生成DeviceTree,从而进行硬件资源的配置修改。


收藏 评论0 发布时间:2022-3-4 19:49

举报

0个回答

所属标签

相似技术帖

官网相关资源

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