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

零基础也能快速上手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跑起来。
+ d0 O; @' g2 e" F  L' w8 S
然而,很多STM32用户,虽然有着非常好的嵌入式开发能力,但并没有linux的PC环境或者linux的相关知识。在这种情况下 ,如果他们想学习STM32MP1或者评估是否应该在项目里使用STM32MP1,该怎么办?

) Y4 i$ @0 |7 }) T9 o) n, n" K9 B
显然,非常重要的第一步,是让STM32MP1开发板在用户手上动起来。那么,在不懂Linux,在没有Linux PC的情况下,是否有可能借助STM32生态系统,让这些用户快速并轻松迈出第一步?

; _4 X' w. [5 A, u* M% o% O% ?
答案是肯定的 。STM32用户可以在Windows上借助STM32CubeProgrammer图形界面编程工具以及STM32MP1官方预集成的入门开发包(STM32MP1 Starter kit)轻轻松松将STM32MP1开发板点亮。

" h) P5 D+ H# n1 P& U6 l4 b
开发板点亮的全过程,不需要记忆命令,也不需要手工输入命令。开发板点亮之后,意味着你拥有了一台运行在STM32上的微型PC。用户可以外接鼠标与键盘,外接显示器或者直接使用开发板所带的触摸屏进行STM32MP1的人工智能,3D GPU等演示,甚至输入Linux命令。
/ ]# t' g8 V  v9 G" Z
本文将重点描述用户如何快速入手STM32MP1所需要的工具,软件包以及操作,不仅适合linux零基础的STM32用户,也适合其它有一定linux基础的用户,基于Windows PC独立快速搭建STM32MP1平台。
1 _+ r9 n( o/ j" x9 X4 J

" N& `7 [: o/ o* V
工具
, l: \9 p( P$ [) J  G% s
我们用来下载固件的工具是 STM32CubeProgrammer。很多STM32用户的电脑都装有这款工具。如果还没有安装的用户,可以从http://www.st.com/en/development-tools/stm32cubeprog.html进行下载。这里使用的版本如下:
1.jpg

% V& i5 v  _/ a2 N* E/ x: J' B: }- U8 ^6 ^6 |
( h9 ?1 Z: ~# K8 X
STM32MP157C-DK2开发板

1 a% z% F: \1 h6 H
本文假定用户已经得到STM32MP157C-DK2开发板。如果用户得到其它类型开发板,软件与操作会有一些细微的不同。本文会描述这些细微的不同点,供有其它开发板的人参考。
2.jpg
" U2 y* D; r- k1 n
随着开发板一同装箱应该还有MicroSD 卡。这张存储卡需要插在板子相应的接口上(插座CN15)。它是用来存储后面将要从PC下载的固件。在实际产品中,用户可以使用其它的外接Flash,不一定需要MicroSD卡。但MicroSD卡用来进行功能演示或者评估无疑是最方便的。

: A; @6 t! \; m; U" o7 X+ Q, V$ g0 j. k
) v* L2 ]9 ?- V" R) i& r, U0 ?
STM32MP157C-DK2连线
. ]( o( x% ]# w/ ^4 m
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
$ b3 j/ ^  H* |/ P0 B
如果你的开发板不是STM32MP157C-DK2,连线也是这三部分,但可能不是USB Type-C供电。例如对于STM32MP157C-EV1,则连接如下。同样,ST-Link连接对于固件下载不是必需的。
4.jpg
5 u: {. E' f: q/ F, M0 Y
( w+ E1 v5 @- l& z& ?2 `

: z! {0 Q3 ]. G3 Y* e# K: t" ?5 x
预编译的固件包

+ o7 W9 n7 L* B/ y9 @$ [
在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

! F9 U3 ?1 S1 G7 W1 r; @
直接双击后就可以看到文件包
6.jpg
; N8 V1 a2 \, a2 ?1 l
这个时候你就可以将该目录固件整体解压到任意目录。可以看到固件包中images目录包含了对所有STM32MP1开发板的支持。如果你的开发板不是STM32MP157C-DK2而是STM32MP157C-EV1,该固件包也只需要下载一次。
7.jpg

; L; [' P- L/ N+ \1 N2 p" _* P8 K2 B1 ~' O/ D* o# O& v
' J# z! ]& N2 k: E8 Y
开发板跳线
0 K# j. {+ l1 H1 r; U% J
使用DFU功能,我们需要将STM32MP157C-DK2跳线配置为从DFU启动。跳线开关位于STM32MP157C-DK2的背面。我们将其跳线到OFF,样子如下:
8.jpg

4 u8 Y' U8 ]) |. b4 c
对于其他开发板,例如STM32MP157C-EV1,也是将启动模式跳线至OFF,样子如下:
9.jpg
' p/ W6 i- `; {4 q6 }
: G* R( d6 w* `2 G

8 F& n- c& y. R6 Q) T) l/ D! v; B+ ?: [
下载固件到STM32MP1
0 K2 |# G$ O) M  B, C' C
如果跳线按照以上的方式调整完毕,重新上电并连上用于DFU的Type-C线缆,打开STM32CubeProgrammer,可以使用USB连接开发板。
11.jpg
% t! F7 _# w+ J$ R
当USB连接成功后,用户可使用STM32CubeProgrammer菜单选择开发板所对应的tsv文件如下。
12.jpg

+ V4 y1 h) x# h# `
我们通常选择FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv(tsv在\images\stm32mp1\flashlayout_st-image-weston目录下,binary则在上一级目录\images\stm32mp1),则画面如下:
13.jpg

- j4 W5 k! M& W4 m- N! c
这个时候我们选择下载Download,则固件就会被下载至STM32MP157C-DK2的MicroSD卡。整个固件大约500M字节,下载时间大约需要20分钟。下载成功提示如下:
14.jpg

$ V3 j0 ^; M8 A. s& f6 ]9 l0 Q( M
注意:如果使用其它开发板,例如stm32mp157c-ev1,则应该选择其他tsv文件,但是固件所在的目录以及其他操作不变。
15.jpg
6 R/ w; T3 t6 r( [

/ E8 \& W6 o" V' V- z. X3 v" e* x
启动
0 t- |. j4 q& h9 e1 m3 w
拔掉电源,将背面的启动设置跳线恢复,跳至ON位置,如下:
16.jpg
1 W0 |1 u; Y+ m  C
如果你使用其它开发板,例如STM32MP157C-EV1,则将除了2之外的1,3都跳至ON。
17.jpg
$ \* _9 H% H! [: D) `& B' S8 H4 e6 `
正常启动后,就可以在屏幕上看到:
18.jpg
+ n1 \7 P4 y% z6 H4 |* C
7 E9 V" O2 P3 K8 e! Q' j

  k2 [; K7 X# J4 @
总结
本文描述了在Windows上使用STM32CubeProgrammer将STM32MP1 Starter Kit固件烧录进MicroSD卡,适合没有Linux基础又需要了解评估STM32MP1的功能、性能以及功耗的人员。有经验的开发人员也可以利用本文快速搭建STM32MP1平台进行功能演示或者进行Linux应用开发,例如可以继续使用STM32CubeMx生成DeviceTree,从而进行硬件资源的配置修改。更进一步的学习与开发,欢迎访问
http://wiki.st.com/stm32mpu& Y7 Z+ g' i; X5 t' n

3 c5 ~) q, J: B- V/ b, P2 t推荐阅读:使用USB虚拟网线(USB Ethernet gadget)直连STM32MP1和Windows PC
! }# Z2 p% {( @8 j3 L) N/ A; j7 z' p! o% q( G; S' {
赞 收藏 评论0 发布时间:2019-10-2 12:03

举报

0个回答

所属标签

相似技术帖

官网相关资源

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