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

零基础也能快速上手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跑起来。

! {: v. l7 Y; [& l
然而,很多STM32用户,虽然有着非常好的嵌入式开发能力,但并没有linux的PC环境或者linux的相关知识。在这种情况下 ,如果他们想学习STM32MP1或者评估是否应该在项目里使用STM32MP1,该怎么办?
6 Q) a1 J9 F- ?% `/ N4 D
显然,非常重要的第一步,是让STM32MP1开发板在用户手上动起来。那么,在不懂Linux,在没有Linux PC的情况下,是否有可能借助STM32生态系统,让这些用户快速并轻松迈出第一步?

2 V6 n" M2 Z/ v
答案是肯定的 。STM32用户可以在Windows上借助STM32CubeProgrammer图形界面编程工具以及STM32MP1官方预集成的入门开发包(STM32MP1 Starter kit)轻轻松松将STM32MP1开发板点亮。

. S, b+ D8 U, P- _' }: ]
开发板点亮的全过程,不需要记忆命令,也不需要手工输入命令。开发板点亮之后,意味着你拥有了一台运行在STM32上的微型PC。用户可以外接鼠标与键盘,外接显示器或者直接使用开发板所带的触摸屏进行STM32MP1的人工智能,3D GPU等演示,甚至输入Linux命令。
: x/ x) m8 [: `: Y7 y( Y2 [
本文将重点描述用户如何快速入手STM32MP1所需要的工具,软件包以及操作,不仅适合linux零基础的STM32用户,也适合其它有一定linux基础的用户,基于Windows PC独立快速搭建STM32MP1平台。
! R1 O1 E+ D+ a8 V

4 d: w5 _, I: Z9 i
工具
& x% ~% N; P$ o7 u' `2 `6 h2 V
我们用来下载固件的工具是 STM32CubeProgrammer。很多STM32用户的电脑都装有这款工具。如果还没有安装的用户,可以从http://www.st.com/en/development-tools/stm32cubeprog.html进行下载。这里使用的版本如下:
1.jpg
7 D4 g! g. l3 @8 m. H6 d
; j/ ~) }8 J7 f: [; ^5 O' W
( G3 Y) |: ~8 v8 U( y9 L/ q, t
STM32MP157C-DK2开发板
+ d2 K0 a/ s. S' \8 y
本文假定用户已经得到STM32MP157C-DK2开发板。如果用户得到其它类型开发板,软件与操作会有一些细微的不同。本文会描述这些细微的不同点,供有其它开发板的人参考。
2.jpg
. A! Y$ X# A$ v6 d* c
随着开发板一同装箱应该还有MicroSD 卡。这张存储卡需要插在板子相应的接口上(插座CN15)。它是用来存储后面将要从PC下载的固件。在实际产品中,用户可以使用其它的外接Flash,不一定需要MicroSD卡。但MicroSD卡用来进行功能演示或者评估无疑是最方便的。
' w3 w! p8 }! k
) P2 y9 g. w6 o, U3 D
8 H9 v7 x0 |: V% P2 F) N. }7 {
STM32MP157C-DK2连线

# N; s( G1 J$ L
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
/ W8 |4 n0 e, u- C
如果你的开发板不是STM32MP157C-DK2,连线也是这三部分,但可能不是USB Type-C供电。例如对于STM32MP157C-EV1,则连接如下。同样,ST-Link连接对于固件下载不是必需的。
4.jpg
+ n- ^& I5 H1 c

6 ~: u- l# u6 d' d8 f; a
& B1 Y0 Q: V$ W, K
预编译的固件包

0 S/ W- G% C6 v; v/ p$ l* d
在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

2 N6 p' Q* ~. V
直接双击后就可以看到文件包
6.jpg
/ S! _- _* d" c+ }7 W& c
这个时候你就可以将该目录固件整体解压到任意目录。可以看到固件包中images目录包含了对所有STM32MP1开发板的支持。如果你的开发板不是STM32MP157C-DK2而是STM32MP157C-EV1,该固件包也只需要下载一次。
7.jpg
9 K- V7 h" a* c7 n

4 o/ B9 E  `9 d! E- s. Q0 y+ Y
5 Z3 F  b  o0 Q  {  w5 ]* F
开发板跳线

+ X6 M* F6 O4 p1 W
使用DFU功能,我们需要将STM32MP157C-DK2跳线配置为从DFU启动。跳线开关位于STM32MP157C-DK2的背面。我们将其跳线到OFF,样子如下:
8.jpg
) l+ C3 E3 _! C1 d
对于其他开发板,例如STM32MP157C-EV1,也是将启动模式跳线至OFF,样子如下:
9.jpg
5 e! |7 |* v. Y: u& p  S! g
' W" Q/ }/ u+ T

  t' y2 V5 S* N6 A* S% W
下载固件到STM32MP1

$ E7 u$ n" q# q3 H
如果跳线按照以上的方式调整完毕,重新上电并连上用于DFU的Type-C线缆,打开STM32CubeProgrammer,可以使用USB连接开发板。
11.jpg
$ |6 c7 g, h. c+ p0 L) j! B
当USB连接成功后,用户可使用STM32CubeProgrammer菜单选择开发板所对应的tsv文件如下。
12.jpg
& d8 f7 h# N5 s0 k- {' W
我们通常选择FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv(tsv在\images\stm32mp1\flashlayout_st-image-weston目录下,binary则在上一级目录\images\stm32mp1),则画面如下:
13.jpg

5 s2 e6 ]* f! T+ r
这个时候我们选择下载Download,则固件就会被下载至STM32MP157C-DK2的MicroSD卡。整个固件大约500M字节,下载时间大约需要20分钟。下载成功提示如下:
14.jpg

$ n8 `# ^5 D) s$ C% e" a+ r  p; c
注意:如果使用其它开发板,例如stm32mp157c-ev1,则应该选择其他tsv文件,但是固件所在的目录以及其他操作不变。
15.jpg

  Q) V% Z6 t$ M1 o4 V4 ~; Z1 T, A9 u& X9 f% q6 Z1 m
启动
6 D$ z* B- {% ~8 d+ f( Y
拔掉电源,将背面的启动设置跳线恢复,跳至ON位置,如下:
16.jpg
6 \4 S3 J, H" P% J. r6 l& ?. S
如果你使用其它开发板,例如STM32MP157C-EV1,则将除了2之外的1,3都跳至ON。
17.jpg

: w) {5 Z# v# w& i# }( v
正常启动后,就可以在屏幕上看到:
18.jpg

& N; A' H# X  Q+ M# s
/ v8 s; B& S5 V' J$ p' b* h
+ m" z" T" f3 a
总结
本文描述了在Windows上使用STM32CubeProgrammer将STM32MP1 Starter Kit固件烧录进MicroSD卡,适合没有Linux基础又需要了解评估STM32MP1的功能、性能以及功耗的人员。有经验的开发人员也可以利用本文快速搭建STM32MP1平台进行功能演示或者进行Linux应用开发,例如可以继续使用STM32CubeMx生成DeviceTree,从而进行硬件资源的配置修改。更进一步的学习与开发,欢迎访问
http://wiki.st.com/stm32mpu
6 X- H& u6 K/ K' R0 g# t" H- f
$ ?' v/ H" h8 g+ b# o6 A推荐阅读:使用USB虚拟网线(USB Ethernet gadget)直连STM32MP1和Windows PC6 Z. S# W  F) o2 `
+ {! \" S% W/ E, m
收藏 评论0 发布时间:2019-10-2 12:03

举报

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