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

【ESP32】在Windows下搭建ESP32开发环境

[复制链接]
aimejia 发布时间:2018-5-30 15:14
本帖最后由 aimejia 于 2018-5-30 15:16 编辑
/ D# y% E. V0 r& S1 Y; y
1 T2 A# e8 @0 F9 G& a前言4 e: Z) v7 e0 P1 q+ J( A- K

- R' _! q, T+ X# dESP8266玩了很久了,一直都听说出了ESP32。最近就买了两块该开发板。要玩ESP32,首先就要搭建好开发环境。
, w8 g7 p/ K) W# K
- K" F7 R- v1 _8 l/ ?那么这篇文章就是主要讲解如何在Windows下搭建ESP32的开发环境。
. G3 V# T, b- M: F/ |4 C
6 @8 B4 ^. l2 g, h开发平台和工具( U: }. L' Y3 {" G
( c8 ?1 Z) O# w: X% N( G/ T& D
Windows 10 x644 X4 |4 u  S9 z7 n% C
AiThinkerIDE_V0.5
, a6 E0 L7 q" a% ccygwin
1 k1 `3 k0 C% h6 ?3 g6 W7 A# _eclipse2 O: @' m6 w4 B% _# x
esp-idf
8 l1 Z3 o4 n1 n4 aFlash 下载工具 V3.4.8
! S: ]1 {1 L( q& i  R" NIDE环境使用安信可的IDE,目前最新版本是AiThinkerIDE_V0.5
* W  a# B! V( e3 k' w$ V  i; q4 D2 R  L
. s5 Q* r8 i- U/ }" W  t* A& D, ]环境下载和安装1 e! }2 g8 d' c0 R/ Y
8 G+ p2 F! R2 g/ _/ ~
首先需要下载AiThinkerIDE_V0.5。解压后主目录有一份说明文件:
3 a) h2 D' Q0 Z7 t* H7 p  ?& w+ x2 I
1 打开 ConfigTool.exe,点击 Default 可以检测当前所在路径,或手动进行路径配置;
3 |2 `' [4 J" }8 a+ e: j. U; S, N1 ~. I
2 配置后点击 Save 进行保存;5 `# D  c' \6 i! s% t
$ h& K& _5 H, e* w6 }& h2 e
3 打开 AiThinker_IDE.exe,可以直接进行固件的编译;# M& n: [- c) B3 }6 S

7 V! X) k+ L1 A/ @. k4 点击 OpenWorkSpace.bat 可以快速打开默认的 project 目录;$ Y( Y2 p4 z6 J/ ~3 t& T7 u2 J
, v) \5 \$ D' ~: _& x0 J7 u
5 点击 Register 可注册 Cygwin Here 快捷方式到鼠标右键,可实现在当前目录打开终端。
  D6 C+ ^8 ^' e! F+ w, r2 x7 O7 b5 P& b! m
在主目录下找到 cygwin 文件夹和 eclipse 文件夹,进行配置即可。
8 s' D$ W9 o# P$ F& G8 c% U3 D0 N$ p  w; w! g! L
注意!cygwin 文件夹所在路径不可以有空格或中文!!!! y$ _4 W- L9 b4 N

: o/ R# t# g; |) ~& Q8 e! s! S
1.jpg
9 g* N& m  N4 @' v
配置好后打开 AiThinker_IDE.exe 即可。
& r* _1 _3 N6 a7 B& Y* R' f0 K$ Q" [8 P- q) H
如果打不开 ConfigTool.exe ,打开 DotNetFx40 Framework 快捷方式下载安装 dotNetFx40_Full_x86_x64.exe。
$ T. `& J$ @" u! h* |" `9 n* |: A0 `6 A2 y+ h8 @6 m
IDE 默认配置保存在同目录下的 config 文件夹内。  z' E2 A' ?4 z$ r

' I( r. ]6 a2 U! P6 E* t; f- Y- `ESP-IDF 下载
2 j2 s7 W2 W  z/ R$ O; @& E
1 c) K" C1 n6 x5 Eesp-idf 和 esp-idf-template可以到github下载,下载后请执行 git pull 进行更新。
0 f; l: [4 `" X5 t4 g0 m) W2 f2 f3 @# O2 j  S" L
另外,如果是从 github 下载的 idf 似乎会编译报错,不知道是什么原因,所以 idf 用安信可提供的即可。2 v& ~5 O4 w1 z% J) \( n2 O7 X

: x2 d5 X* O8 E  p% K* l导入项目
0 Q! [5 B3 e1 q& h
1 U4 O' \+ w; d6 F  @% Z打开IDE后可能需要导入下载好的 IDF。那么就要进行工程导入。下面步骤是参考安信可官网旧版IDE的导入教程。
! B& k9 ?1 k& Y' }- k" q
' p/ I8 s5 q3 ^8 g1.选择 File→Import
8 o# `) v" ?- k+ A9 Z2 q0 n' ?$ F- r0 m
2.png

: T. O& j. m7 ^" i& e$ G2.点开C/C++分支,并选中Existing Code as Makefile Project- K8 g# u7 o; l2 O2 S  V( _

. G- \" i6 ?' k  L9 j# ?
3.png
: R! Z2 C5 [" m7 Y, C6 W; ]+ C
3.去除 C++ 支持,选中 Cygwin GCC* W" o3 g0 y2 m+ ~( G
点击Browser,选中 esp-idf 所在的目录
1 D: b( Z$ R. m; ^
0 P& s# J7 F: u! P
4.png

' z7 |6 b, E! b/ ~5 Y5 W: M- A4.点击 Finish 完成 esp-idf 的导入
7 a% b. X+ H- r6 `
9 Y* A( s0 i) r; n$ K
5.png
' D  Z  a1 a/ A: V9 h8 w9 f
配置项目
0 G, _3 i2 B6 Y
6 b- W  S; O2 c% c# J因为 make 只能从 app 目录启动,故我们需要修改整个项目 build 的位置
3 t; s6 z7 X( R9 U4 n$ p  [) q$ P# M- K
右键项目→Properties ,单击 C/C++ Build,修改如下图
- q$ Z. Z2 V3 u1 x9 R, h- f/ K" U5 s' U
6.png

+ K; A( i# D- z, X1 g( \* n此时,已经具备了编译的基础。4 r( u- Y- Z7 Q8 U9 j
# z7 e  E+ \1 r, D2 E2 |; H* o
下面我们配置 make menuconfig 和 make flash 两条指令
) a3 {+ h& c6 u% [( v9 E" a& O9 X. v
首先新建target,右键项目名称→Make targets ,选择 Creat8 [8 n7 U( D: H" l8 J
  U/ r! Z2 c9 r* Y
7.png
! W/ L6 @5 {1 h. x
给该 Target 新建一个名称:MenuConfig,( A8 `5 f" }+ `( p( s

' Q0 \$ V$ F9 G. u3 K0 h8 ^在弹出的页面中取消勾选 Use builder setting ,取消勾选 Same as the target name 并清空 Make target 的内容。  f$ `8 A3 C$ V) O+ `4 j8 e
' L& c7 j' d2 U+ f& F7 L, ^! E
在下面 command 中输入 mintty.exe -e make menuconfig。- Z' Q4 q) I0 g% {! r

. o* L0 u( [. D0 W% u+ r
8.png
; R9 c. f" c0 W. Q5 p0 H7 ^2 K) `- R
点击 OK 保存& b$ q. z( t9 |9 ^# v0 Q

" _, V" E9 q; R# J/ X' m重复上一步骤,新建一个Download的 Target 。
- }5 C$ V& l' K0 V. [
- B0 ?3 W/ [: I. \0 i在弹出的页面中取消勾选 Use builder setting ,取消勾选 Same as the target name 并清空 Make target 的内容。
1 c  m7 {  m2 f2 d8 d
) m: B. b) m; C: Z% v/ ~- e5 D在下面command 中输入 make flash。
/ q3 E( T$ V" N# {$ L  v
6 X7 y5 r) w8 T( S$ m- _: l
9.png

6 @; H. M- V: K& b点击 OK 保存% S# d1 _- X' A4 V* \
1 g, _- m* C9 u! {7 E/ w8 s( f% I
选中项目,按下快捷键 Shift + F9,弹出刚才新建的两个 Target" ^& K$ W# Y! y5 x5 e
+ r! S' w  b! o, a1 z
10.png
; P  J* q- V: ?7 }: k- {
鼠标选中需要编译的 Target, 点击 Build 即可实现在 Eclipse 中下载和配置 idf
5 n5 F& P* u& ?9 [) S" Q& x+ |
# {" k% \$ ^  b
11.png
, z3 Y1 g: T& t; T" l
编译项目
1 w$ |6 p2 _1 L1 S% h
/ X0 n, B& \# O. N首次使用请先执行 make menuconfig# K/ l' m) X' E( B
, K8 [4 F$ \; D
鼠标选中项目名称,点击右键出现菜单:5 h" r. _" [: o9 J6 G( L
0 Q( O! U( ~/ J! D3 `7 n, S
12.png

# F) W& Z: B: z4 z2 P" L/ p% |8 G' hBuild Project :编译项目# J# N3 V& V" N) K' J+ l. ]3 g
Clean Project:清理项目) i+ F" T2 v! q. U
之后到esp-idf\examples\get-started目录下把 hello_world 文件夹拷贝到 esp-idf 主目录,同时修改名称为 app 。与前面 C/C++ Build 的配置相对应。6 Q8 {% x# G2 [0 Y8 n7 n5 K3 j
; R) r3 H6 R1 D4 v; t6 v) z' N8 b" Q, q
编译之前clean一下,然后编译,
' x  V7 W2 E1 v9 i
; ~9 V2 y+ O3 ^- f; u当控制台最后输出如下信息即编译成功。(这里为了阅读方便手动换行了一下)
4 f. b& H% r& q7 c2 U
  1. python /cygdrive/f/ESP32/esp-idf/esp-idf_20170410/components/esptool_py/esptool/esptool.py --chip esp32 --port /dev/ttyUSB0; ]- i" N' f/ V+ j
  2. ) ]) z8 f. ?0 D: I
  3. --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect
    + |) H  t$ S8 x  k
  4. ' p# N* m* ?+ {8 s7 {6 j9 B
  5. 0x1000 /cygdrive/f/ESP32/esp-idf/esp-idf_20170410/app/build/bootloader/bootloader.bin2 a4 O1 v1 E2 S+ M# K  F& h

  6. 6 ^: l2 t4 o; K$ p' \; g3 `/ [
  7. 0x10000 /cygdrive/f/ESP32/esp-idf/esp-idf_20170410/app/build/hello-world.bin
    / q) e" t9 N& i6 d

  8.   M7 z) y) Q6 Q& X+ {/ G
  9. 0x8000 /cygdrive/f/ESP32/esp-idf/esp-idf_20170410/app/build/partitions_singleapp.bin, R6 ~5 g& c+ R! P3 o

  10. ; x% b6 G7 y% q8 N, D6 h
复制代码
Build Project 是执行 make all命令。其实,bootloader.bin编译烧写一次即可,所以只需要编译用户程序,编译命令:
0 g. N( @7 w0 y" w: j, y! f
  1. make app
复制代码
按照上一小结配置 make menuconfig 命令的方法添加进去即可。. I  u! s1 [5 q4 j  E( A* f
' ^+ y: ~* c6 r2 E9 J* F' V
烧写固件
9 b* j. t$ d  W9 B4 U  f/ _5 B8 U  s8 r' W1 ]: i! E  Q6 e9 @; {+ {
编译后由控制台输出信息可知各个烧录bin文件的地址。! z/ ?9 w* ~. C$ [3 S. _

+ R; w, r; q$ N. M/ q
15.png
- S4 O  p" z* }5 K, u! @
到官网的工具栏目那里下载Flash下载工具,目前最新版本是V3.4.8,支持ESP32。启动后根据提示选择 ESP32 即可。
* n: ?  v+ s' j6 y; ?
& u0 i' p& ~" A# o5 ]
13.jpg
$ d. H0 b1 L8 y: y" J" n
之后打开串口,波特率115200,复位ESP32,可以看到下面信息。
; g# n( [6 {, Q; ^
  1. ……' k1 H6 e" H1 V! G7 B. J

  2. # j  |+ `+ q* z% S4 P
  3. Hello world!2 f" K2 f; S! d& x; Y' F

  4. % ~# f, }& ?2 S7 ]: _# i
  5. Restarting in 10 seconds...; E/ m; i, I3 f

  6. 2 F9 ]9 p3 _$ _  A& j& D( z5 E8 j
  7. Restarting in 9 seconds...! `$ V, }/ z- s' D3 F8 G

  8. 1 R, T! F: I) Y! W2 I1 D( G
  9. Restarting in 8 seconds...& o* A" _& {  r0 t- A+ K3 ?% |# b
  10. 4 p9 H  D/ E, T
  11. Restarting in 7 seconds...
    ; ~& }" P* U8 V: M4 a* E

  12. 4 P$ U) m0 {$ f  e, @
  13. Restarting in 6 seconds...
    * j. r/ j' i6 M$ E
  14. & H- p" O! |5 j# l2 O
  15. Restarting in 5 seconds...
    , P0 x% E. E" j* E# X* X% }& x' a

  16. 7 ~  |# L. e+ s/ u9 K2 y
  17. Restarting in 4 seconds...
    , o% ?8 S' b0 R- \" N( I4 K5 w4 l! }8 Z

  18. ' ~7 v/ `" f7 t( ?5 u
  19. Restarting in 3 seconds...
    # E9 N$ v+ v" ]: @! p
  20. " g4 C3 {+ e" g* v( W7 H8 e
  21. Restarting in 2 seconds...
    * |' ^- H2 y  r
  22. ( `% c$ D& C2 [
  23. Restarting in 1 seconds...! p7 ?- ]& O4 p3 a9 `
  24. $ }4 j, S: ^( j! ]  g# G
  25. Restarting in 0 seconds...3 j: Z/ R* q. X+ p* a

  26. ) ^: N$ q& f; g8 Q
  27. Restarting now.
复制代码
如果看到上面的信息说明我们的 hello_world 工程烧录成功。* U( e" U4 ~, n$ ^0 ^

' J) o4 A+ e7 S" q  ~5 u如果没有看到上面的信息,说明没有进入 hello_world 代码,可能原因是 bin 文件烧写的路径不对。旧版本的partitions_singleapp.bin是烧写在0x4000的(输出信息也是说明烧录在0x4000,很坑人),这一点必须要注意。
% F6 A% `+ S7 ]+ H8 U- ~$ B' W: n7 f# x, U; X8 G8 `
其他
0 S. Q& m: M% v! \* P3 Z- ]1 `! D- ]9 n
打开 ConfigTool.exe 之后如果出现下面对话框(访问被拒绝),试一下以管理员身份运行。
% e5 b2 v" t3 Y) N8 _
% k! w% Y* Z6 c
14.jpg
- Q: _) O: d: u& j
4 K/ ^1 ]8 D& i; }% F. O( W
& j) {' g7 F( a( B

: ]: }7 l) M. p
转载自阏男秀
% ?6 `  m( M5 z8 {( L/ y4 @" R

6 {9 w3 _& {5 w% v# ]4 d; c; o6 j5 D" u3 o! [' X! v. D* |
* Q+ H, |: c0 L" I) E! y7 B. j& y
收藏 2 评论0 发布时间:2018-5-30 15:14

举报

0个回答

所属标签

相似分享

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