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

零基础也能快速上手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跑起来。
( N, |8 D1 T7 l( I/ K) b
然而,很多STM32用户,虽然有着非常好的嵌入式开发能力,但并没有linux的PC环境或者linux的相关知识。在这种情况下 ,如果他们想学习STM32MP1或者评估是否应该在项目里使用STM32MP1,该怎么办?

7 `3 z, c. }5 Q7 L: i+ @3 n' y" p
显然,非常重要的第一步,是让STM32MP1开发板在用户手上动起来。那么,在不懂Linux,在没有Linux PC的情况下,是否有可能借助STM32生态系统,让这些用户快速并轻松迈出第一步?

7 W6 d3 D" d% q3 X
答案是肯定的 。STM32用户可以在Windows上借助STM32CubeProgrammer图形界面编程工具以及STM32MP1官方预集成的入门开发包(STM32MP1 Starter kit)轻轻松松将STM32MP1开发板点亮。
# [) v$ n: b7 K
开发板点亮的全过程,不需要记忆命令,也不需要手工输入命令。开发板点亮之后,意味着你拥有了一台运行在STM32上的微型PC。用户可以外接鼠标与键盘,外接显示器或者直接使用开发板所带的触摸屏进行STM32MP1的人工智能,3D GPU等演示,甚至输入Linux命令。

$ a( \6 e7 d/ i5 ]* ?0 {
本文将重点描述用户如何快速入手STM32MP1所需要的工具,软件包以及操作,不仅适合linux零基础的STM32用户,也适合其它有一定linux基础的用户,基于Windows PC独立快速搭建STM32MP1平台。

1 I  `1 c6 m6 `& y, o# s, b8 N  S- E( a* D7 O( n* A4 u
工具
) G+ ~4 q- L8 ~. U  y
我们用来下载固件的工具是 STM32CubeProgrammer。很多STM32用户的电脑都装有这款工具。如果还没有安装的用户,可以从http://www.st.com/en/development-tools/stm32cubeprog.html进行下载。这里使用的版本如下:
1.jpg
: J* P8 Q5 X6 T; h

6 r$ p/ g8 I. e& O) q3 p6 m- E$ W) P3 D
STM32MP157C-DK2开发板
4 v* O) L% n3 G0 F( k- |
本文假定用户已经得到STM32MP157C-DK2开发板。如果用户得到其它类型开发板,软件与操作会有一些细微的不同。本文会描述这些细微的不同点,供有其它开发板的人参考。
2.jpg
5 O5 J+ L1 X2 |) l3 V% h: }. n# [
随着开发板一同装箱应该还有MicroSD 卡。这张存储卡需要插在板子相应的接口上(插座CN15)。它是用来存储后面将要从PC下载的固件。在实际产品中,用户可以使用其它的外接Flash,不一定需要MicroSD卡。但MicroSD卡用来进行功能演示或者评估无疑是最方便的。

  \1 G; E+ |: g9 ~. ]
! V! |, @: W: r% M) K4 F$ |% K, _- ]2 d; d! E1 e% z/ L, y
STM32MP157C-DK2连线

2 y- N0 B$ r; F" v* i
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
1 g/ P3 u% L4 w; h% D, R
如果你的开发板不是STM32MP157C-DK2,连线也是这三部分,但可能不是USB Type-C供电。例如对于STM32MP157C-EV1,则连接如下。同样,ST-Link连接对于固件下载不是必需的。
4.jpg

* e" |- M- G- U, N! x
! v) K* {( a' e# _# X
* U7 P/ K6 A+ ?' P* ~
预编译的固件包
0 f- A3 K, f% T
在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 R: A9 C% F1 y! \* B
直接双击后就可以看到文件包
6.jpg
  {% i; |) [( E5 O
这个时候你就可以将该目录固件整体解压到任意目录。可以看到固件包中images目录包含了对所有STM32MP1开发板的支持。如果你的开发板不是STM32MP157C-DK2而是STM32MP157C-EV1,该固件包也只需要下载一次。
7.jpg
' S) x+ d( n( N' Y3 X" |
' M" F+ l( l, G7 O' {3 J

5 l* a) E  }, w5 Z" T
开发板跳线
8 I" M1 B& t6 A2 p8 b
使用DFU功能,我们需要将STM32MP157C-DK2跳线配置为从DFU启动。跳线开关位于STM32MP157C-DK2的背面。我们将其跳线到OFF,样子如下:
8.jpg

/ x4 L; D. n! Z" R3 ]
对于其他开发板,例如STM32MP157C-EV1,也是将启动模式跳线至OFF,样子如下:
9.jpg
( U9 U% k3 f4 u5 H+ Q  C8 w' U- Q

& N( U" {. W) n. X) ?8 ^1 k, p1 o- F- R+ v. T1 X$ _0 d
下载固件到STM32MP1

0 W) T$ z! ?4 M4 g$ C; q
如果跳线按照以上的方式调整完毕,重新上电并连上用于DFU的Type-C线缆,打开STM32CubeProgrammer,可以使用USB连接开发板。
11.jpg

8 h6 E2 r" q* H9 b
当USB连接成功后,用户可使用STM32CubeProgrammer菜单选择开发板所对应的tsv文件如下。
12.jpg

+ q( M* p. W$ W  q; n' F) B
我们通常选择FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv(tsv在\images\stm32mp1\flashlayout_st-image-weston目录下,binary则在上一级目录\images\stm32mp1),则画面如下:
13.jpg

  [/ K/ ^! }9 E, e3 r. |( k
这个时候我们选择下载Download,则固件就会被下载至STM32MP157C-DK2的MicroSD卡。整个固件大约500M字节,下载时间大约需要20分钟。下载成功提示如下:
14.jpg
+ H4 {# {' G& q& g; R/ |
注意:如果使用其它开发板,例如stm32mp157c-ev1,则应该选择其他tsv文件,但是固件所在的目录以及其他操作不变。
15.jpg

( b* \+ {# U1 k" Q2 y2 p- J7 ?+ Z9 b" C; \) i0 Y/ O
启动

' Z: k) v- o  b. h# z1 d
拔掉电源,将背面的启动设置跳线恢复,跳至ON位置,如下:
16.jpg

& m; H/ M5 w8 q+ r0 J$ A9 q
如果你使用其它开发板,例如STM32MP157C-EV1,则将除了2之外的1,3都跳至ON。
17.jpg

) g% F$ b8 |9 E1 N/ Q4 m
正常启动后,就可以在屏幕上看到:
18.jpg
1 B3 ?4 n3 i; A9 c4 C( s- d5 d
+ X* a1 k+ Q& P; A3 b) {
1 K3 \5 E' _4 {. e9 Y0 H' e' i
总结
本文描述了在Windows上使用STM32CubeProgrammer将STM32MP1 Starter Kit固件烧录进MicroSD卡,适合没有Linux基础又需要了解评估STM32MP1的功能、性能以及功耗的人员。有经验的开发人员也可以利用本文快速搭建STM32MP1平台进行功能演示或者进行Linux应用开发,例如可以继续使用STM32CubeMx生成DeviceTree,从而进行硬件资源的配置修改。更进一步的学习与开发,欢迎访问
http://wiki.st.com/stm32mpu
4 L3 a0 C( `- Z8 J8 R4 \  f, k( \. @% y! _3 |1 W
推荐阅读:使用USB虚拟网线(USB Ethernet gadget)直连STM32MP1和Windows PC
# J8 o, i* e- m) ^/ T# _) ^: ^1 d( L% i: R
收藏 评论0 发布时间:2019-10-2 12:03

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版