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

零基础也能快速上手STM32MP1

[复制链接]
eefishing 发布时间:2019-10-2 12:03
STM32MP1多核微处理器,带有650Mhz主频的cortex-A7双核以及一个主频为209Mhz的cortex-M4核,即片内拥有三核。很多STM32新老用户对STM32MP1表现出浓厚的兴趣,纷纷从ST或者其它渠道购买到了STM32MP1的开发板。当用户拿到开发板之后,如果本身就有丰富的linux经验,自然可以按照
http://wiki.st.com/stm32mpu的指南,先安装运行linux操作系统的PC,再一步一步使用linux上的命令行,将STM32MP1跑起来。
1 C, z$ t( P% @: M$ _) k
然而,很多STM32用户,虽然有着非常好的嵌入式开发能力,但并没有linux的PC环境或者linux的相关知识。在这种情况下 ,如果他们想学习STM32MP1或者评估是否应该在项目里使用STM32MP1,该怎么办?
' a7 n) u$ e. K' g- o0 A
显然,非常重要的第一步,是让STM32MP1开发板在用户手上动起来。那么,在不懂Linux,在没有Linux PC的情况下,是否有可能借助STM32生态系统,让这些用户快速并轻松迈出第一步?
( D( k; w% l  s; `0 W
答案是肯定的 。STM32用户可以在Windows上借助STM32CubeProgrammer图形界面编程工具以及STM32MP1官方预集成的入门开发包(STM32MP1 Starter kit)轻轻松松将STM32MP1开发板点亮。
9 H4 i( E. _- T! b
开发板点亮的全过程,不需要记忆命令,也不需要手工输入命令。开发板点亮之后,意味着你拥有了一台运行在STM32上的微型PC。用户可以外接鼠标与键盘,外接显示器或者直接使用开发板所带的触摸屏进行STM32MP1的人工智能,3D GPU等演示,甚至输入Linux命令。

2 V( O5 x; N4 _2 w# b7 e, Q
本文将重点描述用户如何快速入手STM32MP1所需要的工具,软件包以及操作,不仅适合linux零基础的STM32用户,也适合其它有一定linux基础的用户,基于Windows PC独立快速搭建STM32MP1平台。

8 Y2 m' @1 `' D# z( \+ [- S4 r$ t3 N+ E" M. l* o0 C" P
工具

$ {4 P) z! c; m+ V
我们用来下载固件的工具是 STM32CubeProgrammer。很多STM32用户的电脑都装有这款工具。如果还没有安装的用户,可以从http://www.st.com/en/development-tools/stm32cubeprog.html进行下载。这里使用的版本如下:
1.jpg

- b# w& u6 U5 A( M5 ^) r! V, N& n* X
$ v% i$ |* }* V
STM32MP157C-DK2开发板

& N1 C6 E- d6 v6 P( ~6 i
本文假定用户已经得到STM32MP157C-DK2开发板。如果用户得到其它类型开发板,软件与操作会有一些细微的不同。本文会描述这些细微的不同点,供有其它开发板的人参考。
2.jpg

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

' H1 V7 d9 a! B* @$ P
6 ~; @# F$ R7 Z. y7 n! k7 c9 b, c3 g( a) H0 T/ \
STM32MP157C-DK2连线
  j+ J; ?0 u# F; G. V
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命令(例如配置网口)等操作。
具体的 连接示意图如下:
3.jpg

' P' s# g; {8 _$ g# p6 h# M, _
如果你的开发板不是STM32MP157C-DK2,连线也是这三部分,但可能不是USB Type-C供电。例如对于STM32MP157C-EV1,则连接如下。同样,ST-Link连接对于固件下载不是必需的。
4.jpg
( P) I- x. {( V8 }$ O% |* J9 [

* S; ?' @; x1 ^# t% d0 D& I" }" z" J& B' ], k) p
预编译的固件包

5 x" n1 V- _& Y8 ?9 K4 _' P
在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打开。
5.jpg
" ]8 `) m5 a9 M, @) g$ b
直接双击后就可以看到文件包
6.jpg

: `# A, S. w$ ?  P1 |9 @
这个时候你就可以将该目录固件整体解压到任意目录。可以看到固件包中images目录包含了对所有STM32MP1开发板的支持。如果你的开发板不是STM32MP157C-DK2而是STM32MP157C-EV1,该固件包也只需要下载一次。
7.jpg
2 e8 `4 i+ V  x% L& v1 |7 f
! P  D9 W( Y: m
) J1 X; j2 Y( `: ?! u9 ]1 P
开发板跳线

: @$ d1 J# l9 u& z( M0 ]
使用DFU功能,我们需要将STM32MP157C-DK2跳线配置为从DFU启动。跳线开关位于STM32MP157C-DK2的背面。我们将其跳线到OFF,样子如下:
8.jpg
/ V+ K, n5 A) s6 q
对于其他开发板,例如STM32MP157C-EV1,也是将启动模式跳线至OFF,样子如下:
9.jpg
3 a5 ?6 H6 ]4 \

/ a: Q3 E* [4 o1 H- M' e7 c; s/ L
' O/ w) R0 [6 Z
下载固件到STM32MP1
: c0 e! _" x' q
如果跳线按照以上的方式调整完毕,重新上电并连上用于DFU的Type-C线缆,打开STM32CubeProgrammer,可以使用USB连接开发板。
11.jpg
' k5 W3 X, y) Z2 o' T
当USB连接成功后,用户可使用STM32CubeProgrammer菜单选择开发板所对应的tsv文件如下。
12.jpg

5 Q9 J' r* ?& F$ ]: T9 y
我们通常选择FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv(tsv在\images\stm32mp1\flashlayout_st-image-weston目录下,binary则在上一级目录\images\stm32mp1),则画面如下:
13.jpg
' b  \5 d# m" C( o7 a& q
这个时候我们选择下载Download,则固件就会被下载至STM32MP157C-DK2的MicroSD卡。整个固件大约500M字节,下载时间大约需要20分钟。下载成功提示如下:
14.jpg

4 f* r; ~( x$ \# B
注意:如果使用其它开发板,例如stm32mp157c-ev1,则应该选择其他tsv文件,但是固件所在的目录以及其他操作不变。
15.jpg

- F# ~2 o9 c$ n0 Z( k( o9 p# R# e: @6 V& R0 r2 c" F6 W5 R
启动

& h' J+ }; Y9 L8 R% g
拔掉电源,将背面的启动设置跳线恢复,跳至ON位置,如下:
16.jpg
/ @5 s% Z; U" N5 d0 a; _0 m
如果你使用其它开发板,例如STM32MP157C-EV1,则将除了2之外的1,3都跳至ON。
17.jpg

: H: a8 x* e; r5 b, N
正常启动后,就可以在屏幕上看到:
18.jpg
1 L# |6 a8 n; R  J" V) j) d) R
# Y) L: o6 C, _/ b' T+ }* c9 }
: B$ c0 p4 f1 O% u$ t8 j' L% O  q
总结
本文描述了在Windows上使用STM32CubeProgrammer将STM32MP1 Starter Kit固件烧录进MicroSD卡,适合没有Linux基础又需要了解评估STM32MP1的功能、性能以及功耗的人员。有经验的开发人员也可以利用本文快速搭建STM32MP1平台进行功能演示或者进行Linux应用开发,例如可以继续使用STM32CubeMx生成DeviceTree,从而进行硬件资源的配置修改。更进一步的学习与开发,欢迎访问
http://wiki.st.com/stm32mpu1 x1 K$ ^6 Q* Y
, @: V' K; h2 t6 f8 n2 H: w" n
推荐阅读:使用USB虚拟网线(USB Ethernet gadget)直连STM32MP1和Windows PC. A1 H2 P5 [( b3 }, j
- f+ N- t+ a$ j  t$ o
收藏 评论0 发布时间:2019-10-2 12:03

举报

0个回答

所属标签

相似分享

官网相关资源

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