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

如何快速入手STM32MP1所需要的工具?

[复制链接]
gaosmile 发布时间:2020-4-1 18:28
STM32MP1多核微处理器,带有650Mhz主频的cortex-A7双核以及一个主频为209Mhz的cortex-M4核,即片内拥有三核。很多STM32新老用户对STM32MP1表现出浓厚的兴趣,纷纷从ST或者其它渠道购买到了STM32MP1的开发板。当用户拿到开发板之后,如果本身就有丰富的linux经验,自然可以按照
http://wiki.st.com/stm32mpu的指南,先安装运行linux操作系统的PC,再一步一步使用linux上的命令行,将STM32MP1跑起来。
) M9 n5 }% }7 w9 W
然而,很多STM32用户,虽然有着非常好的嵌入式开发能力,但并没有linux的PC环境或者linux的相关知识。在这种情况下 ,如果他们想学习STM32MP1或者评估是否应该在项目里使用STM32MP1,该怎么办?

/ o5 ~# g0 O& W) _6 Y
显然,非常重要的第一步,是让STM32MP1开发板在用户手上动起来。那么,在不懂Linux,在没有Linux PC的情况下,是否有可能借助STM32生态系统,让这些用户快速并轻松迈出第一步?
/ D6 k# \1 n( b2 \
答案是肯定的 。STM32用户可以在Windows上借助STM32CubeProgrammer图形界面编程工具以及STM32MP1官方预集成的入门开发包(STM32MP1 Starter kit)轻轻松松将STM32MP1开发板点亮。

1 X3 w" J: C- T/ b0 G
开发板点亮的全过程,不需要记忆命令,也不需要手工输入命令。开发板点亮之后,意味着你拥有了一台运行在STM32上的微型PC。用户可以外接鼠标与键盘,外接显示器或者直接使用开发板所带的触摸屏进行STM32MP1的人工智能,3D GPU等演示,甚至输入Linux命令。

' {5 y3 J/ \3 m8 d* c
本文将重点描述用户如何快速入手STM32MP1所需要的工具,软件包以及操作,不仅适合linux零基础的STM32用户,也适合其它有一定linux基础的用户,基于Windows PC独立快速搭建STM32MP1平台。

* p3 O! @! u% v; B
工具
我们用来下载固件的工具是 STM32CubeProgrammer。很多STM32用户的电脑都装有这款工具。如果还没有安装的用户,可以从http://www.st.com/en/development-tools/stm32cubeprog.html进行下载。这里使用的版本如下:
微信图片_20200401182351.png

+ f8 S, E' N3 H2 \6 _; `) {6 u3 U

# E% d! d- H" W$ d+ F4 D
STM32MP157C-DK2开发板
本文假定用户已经得到STM32MP157C-DK2开发板。如果用户得到其它类型开发板,软件与操作会有一些细微的不同。本文会描述这些细微的不同点,供有其它开发板的人参考。
微信图片_20200401182355.png

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

- b3 \/ y9 I/ a( o( @$ F: c8 a
8 t8 _' v, @# Z* [
STM32MP157C-DK2连线
STM32MP157C-DK2开发板的基本连线主要分三个部分,使用一根USB Type-C线缆给板子供电,使用另外一根USB Type-C线缆以DFU方式给板子下载固件,使用一根MicroUSB线缆连接ST-Link。这里使用两根Type-C线缆来供电+DFU是必须的,因为我们需要使用STM32 DFU模式下载固件。而ST-Link连接不是必须的。
如果连接了ST-Link,用户可以在ST-Link虚拟串口上得到一个STM32MP1的终端。用户可以从该终端观察启动日志,输入Linux命令(例如配置网口)等操作。
具体的 连接示意图如下:
微信图片_20200401182359.jpg
  r& `( T5 G" F# u, j. M
如果你的开发板不是STM32MP157C-DK2,连线也是这三部分,但可能不是USB Type-C供电。例如对于STM32MP157C-EV1,则连接如下。同样,ST-Link连接对于固件下载不是必需的。
微信图片_20200401182403.jpg

2 F7 z' |) q9 ]
- h$ s/ C  s; ~3 Q+ {2 o
预编译的固件包
在STM32MP157C-DK2开发板运行的预编译固件包可以从
http://www.st.com/content/st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32-mpu-openstlinux-distribution/stm32mp1starter.html获得。如果链接失效,可直接在www.st.com 搜索STM32MP1Starter得到下载入口。
固件包是个压缩包,名字为en.FLASH-stm32mp1-openstlinux-4.19-thud-mp1-19-02-20.tar.xz。该类型压缩文件在Linux上可以直接使用tar命令解开。在windows上也不用担心,可用7-zip解压缩。如果你的电脑使已经安装了7-zip,则直接使用右键选择7-zip打开。
微信图片_20200401182406.png

7 N3 s5 t2 X2 b: ^4 I
直接双击后就可以看到文件包
微信图片_20200401182409.png

5 e5 |; m- m8 O$ R
这个时候你就可以将该目录固件整体解压到任意目录。可以看到固件包中images目录包含了对所有STM32MP1开发板的支持。如果你的开发板不是STM32MP157C-DK2而是STM32MP157C-EV1,该固件包也只需要下载一次。
微信图片_20200401182412.jpg
" G6 [& K, P8 i% u: D) W6 \

9 ]# D' q) E, ~" }$ l# v3 ]$ M
开发板跳线
使用DFU功能,我们需要将STM32MP157C-DK2跳线配置为从DFU启动。跳线开关位于STM32MP157C-DK2的背面。我们将其跳线到OFF,样子如下:
微信图片_20200401182415.jpg
( J' V" g# R  i- q( B
对于其他开发板,例如STM32MP157C-EV1,也是将启动模式跳线至OFF,样子如下:
微信图片_20200401182419.jpg

- L! O; c! S# N8 [8 m! I
3 G0 }' d: i! x/ `# W* r
下载固件到STM32MP1
如果跳线按照以上的方式调整完毕,重新上电并连上用于DFU的Type-C线缆,打开STM32CubeProgrammer,可以使用USB连接开发板。
微信图片_20200401182423.png

$ Y# q; A$ S' Q( u: z. T2 m
当USB连接成功后,用户可使用STM32CubeProgrammer菜单选择开发板所对应的tsv文件如下。
微信图片_20200401182427.png

9 F, [) K9 v: X) K" Y( B) r
我们通常选择FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv(tsv在\images\stm32mp1\flashlayout_st-image-weston目录下,binary则在上一级目录\images\stm32mp1),则画面如下:
微信图片_20200401182430.png

! T0 z& Y6 g0 B( y: e/ d9 M( d
这个时候我们选择下载Download,则固件就会被下载至STM32MP157C-DK2的MicroSD卡。整个固件大约500M字节,下载时间大约需要20分钟。下载成功提示如下:
微信图片_20200401182434.jpg

7 q  u+ Y/ h% j% E/ D; l
注意:如果使用其它开发板,例如stm32mp157c-ev1,则应该选择其他tsv文件,但是固件所在的目录以及其他操作不变。
微信图片_20200401182436.png
* ~8 [" O7 s1 S3 ~1 q& j

1 o% O0 B$ e* E0 \; K# q" Y) t
启动
3 l; J, S6 ]2 s# t8 }- d8 u
拔掉电源,将背面的启动设置跳线恢复,跳至ON位置,如下:
微信图片_20200401182440.jpg

5 Q4 W/ C) S3 ]8 D0 E. L
如果你使用其它开发板,例如STM32MP157C-EV1,则将除了2之外的1,3都跳至ON。
微信图片_20200401182443.jpg
! p( j; z( Q# l- b2 _
正常启动后,就可以在屏幕上看到:
微信图片_20200401182447.jpg

& A- u& j1 Q0 G# K0 O/ ^' v2 X- e2 B

; v- t4 w# d( V2 D
7 x8 ]1 n5 m5 W; a1 M1 }! j
总结
本文描述了在Windows上使用STM32CubeProgrammer将STM32MP1 Starter Kit固件烧录进MicroSD卡,适合没有Linux基础又需要了解评估STM32MP1的功能、性能以及功耗的人员。有经验的开发人员也可以利用本文快速搭建STM32MP1平台进行功能演示或者进行Linux应用开发,例如可以继续使用STM32CubeMx生成DeviceTree,从而进行硬件资源的配置修改。

1 W, V0 t2 P7 i* i- A" v* a3 l" }0 Y
赞 收藏 评论0 发布时间:2020-4-1 18:28

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版