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

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

[复制链接]
aimejia 发布时间:2018-5-30 15:14
本帖最后由 aimejia 于 2018-5-30 15:16 编辑
! K) {+ {- T4 B4 `, `" j
- J4 O0 o/ x2 l9 M8 C' y前言9 g0 j; O! e! Y/ a$ f+ E
7 r: R1 }# O; N0 ]3 ]7 k6 P
ESP8266玩了很久了,一直都听说出了ESP32。最近就买了两块该开发板。要玩ESP32,首先就要搭建好开发环境。
& n+ k4 z9 y& f* F1 z
% r$ h( U, r( }# X% q  u; {那么这篇文章就是主要讲解如何在Windows下搭建ESP32的开发环境。
' ?( {! w1 q* x5 A1 j) G$ \& d$ F; K7 M; h
开发平台和工具4 R7 ]$ u; A7 H! D$ W" T" p6 [

; l4 o' P  x" D6 GWindows 10 x64
* ?. u- G$ ~6 B2 O. }0 TAiThinkerIDE_V0.5 * f. F0 C+ S& T" T# m; X7 }$ D
cygwin8 U. w6 B/ d- c5 H) [' v7 A7 P: n/ n
eclipse
6 |$ s1 m7 q# E2 X. f- \) Mesp-idf8 E9 o& O  [+ W9 |
Flash 下载工具 V3.4.8
0 Z! c5 x5 d- z5 m* v  R, L, K2 hIDE环境使用安信可的IDE,目前最新版本是AiThinkerIDE_V0.5
/ u" q8 V+ u* G7 i6 r/ P- f
7 H8 ]9 Z0 \7 b4 \% G: Y环境下载和安装
  V+ i9 Z1 x8 s' _4 i3 w+ p: b; x. a7 F( r+ {
首先需要下载AiThinkerIDE_V0.5。解压后主目录有一份说明文件:6 p- D- l8 @! T# |) E; c
+ j# w6 U! a1 c
1 打开 ConfigTool.exe,点击 Default 可以检测当前所在路径,或手动进行路径配置;7 y$ q3 z4 H& b6 i! n  S9 ^: G
; _: H( U; I4 ]
2 配置后点击 Save 进行保存;1 c$ Q# c' ]$ Q# V' h1 q, ?

' {% x9 `) l$ b: }; m3 打开 AiThinker_IDE.exe,可以直接进行固件的编译;2 x/ b* h8 f: l: [: m9 z

8 k7 Q7 V) j" o- _  P6 ^; `4 点击 OpenWorkSpace.bat 可以快速打开默认的 project 目录;$ g+ p4 R& S' E4 b8 o  X* b
. z. G4 D, d3 w7 G: W
5 点击 Register 可注册 Cygwin Here 快捷方式到鼠标右键,可实现在当前目录打开终端。
* a0 s9 j  G: H3 e1 Y, z5 o: @7 B+ `; |+ G- o, |! O. o
在主目录下找到 cygwin 文件夹和 eclipse 文件夹,进行配置即可。
0 Y% H8 {) ?: f
4 `; b; A  J; u, z9 ]1 w注意!cygwin 文件夹所在路径不可以有空格或中文!!!7 W: \4 J, _' h1 l9 A$ U
) M# @# o3 ?5 a- a
1.jpg

0 P7 R; r6 Q$ t5 m配置好后打开 AiThinker_IDE.exe 即可。
( w, i- S# l* o3 L  g* c+ Y- _, F! X4 [9 V
如果打不开 ConfigTool.exe ,打开 DotNetFx40 Framework 快捷方式下载安装 dotNetFx40_Full_x86_x64.exe。
( H, X& R' z; p* Q! d, P/ Z7 O4 }9 Q4 |: Q# i5 y" G, z! P
IDE 默认配置保存在同目录下的 config 文件夹内。  N# N( K6 C$ [4 l: A

: s0 x# y  G! J7 H& tESP-IDF 下载2 @# d( l; o  `6 g
) [5 z& l; l, ]4 Z( \; v8 }6 d0 u
esp-idf 和 esp-idf-template可以到github下载,下载后请执行 git pull 进行更新。
- P* U2 ]( P+ O) o; u+ E  d" }+ b0 d$ q* `3 a" T
另外,如果是从 github 下载的 idf 似乎会编译报错,不知道是什么原因,所以 idf 用安信可提供的即可。
5 f5 X  p& m# d' \4 I; ~1 G( c0 S7 r% k. B+ n+ [( F6 z. k
导入项目) I0 U7 y- ^" x- D) @

3 M. P7 H: h! [0 B0 Q打开IDE后可能需要导入下载好的 IDF。那么就要进行工程导入。下面步骤是参考安信可官网旧版IDE的导入教程。
1 B1 \% e  A/ _" S3 \; Z& J5 t, X: |7 M! H( H
1.选择 File→Import, w' }" [2 F0 s0 ~, ^" K9 a/ b. ^) `
6 S: Z4 X5 I( I" Q. X' q
2.png

6 e! c2 c. T' \3 k" |- M2.点开C/C++分支,并选中Existing Code as Makefile Project
* F% L6 X  u& N" j0 S. Z0 B; x! c: F* D; o8 W% P
3.png

/ L  o0 k" ~# c* Z/ e6 [* X' U3.去除 C++ 支持,选中 Cygwin GCC0 Z: Y4 |5 V2 l" z* T2 c
点击Browser,选中 esp-idf 所在的目录
7 [# R' L" i4 M& P3 p# x8 y$ M7 `+ c
; G1 V& _# F! w9 W/ O3 K
4.png

' T, \9 T0 ?; H8 }- F4.点击 Finish 完成 esp-idf 的导入
2 h) h) E: u5 Z# d* J% ^, m
2 ?" c( \) _7 a8 ~5 {& ~/ m7 c
5.png

$ f; b) t. B( T/ K3 d4 P# R3 l配置项目
! L2 G; z/ R8 V% x4 |  a' i9 ]7 L& m" Y
因为 make 只能从 app 目录启动,故我们需要修改整个项目 build 的位置
, r7 C8 a) `4 q+ ~* b
& I1 a3 n6 b& K) n) K2 z右键项目→Properties ,单击 C/C++ Build,修改如下图
% }+ v( C7 c/ v0 j/ E6 @9 N6 t1 v& o- V0 |
6.png

" F- m; X4 y0 B$ Y! Y3 M. V* r此时,已经具备了编译的基础。
3 ]/ m  x  A$ q: O% P2 O7 W2 h- n$ Q. U
下面我们配置 make menuconfig 和 make flash 两条指令
5 \! k( I7 j7 J, I, N0 p4 H+ v0 q$ U
) T  T5 q+ B4 _6 O3 ], C首先新建target,右键项目名称→Make targets ,选择 Creat. F+ W5 P7 n3 ^/ ?2 w- P- b; w/ Q
! j: A9 F8 f9 j: d: C3 e
7.png
/ F4 Z$ ]$ |* \& ^$ X
给该 Target 新建一个名称:MenuConfig,
( o$ `& `2 ^6 Q; z: D' d( x  _. N
在弹出的页面中取消勾选 Use builder setting ,取消勾选 Same as the target name 并清空 Make target 的内容。$ e+ }' {+ o$ F; G' X% F: h5 o/ m6 {
9 F9 z1 E" Q8 ]- z1 z
在下面 command 中输入 mintty.exe -e make menuconfig。0 H3 e( U: e/ Q, a& Z& {1 e0 Z

# L6 M( f; z1 L* u  \6 i% `) s
8.png

" b% z0 m6 w: [7 w0 l7 y( U点击 OK 保存) F' D* f! P. Q9 [/ n7 _3 T( R' u

" a0 s, k% X( V  g4 u重复上一步骤,新建一个Download的 Target 。
) [& t, z" M- d
3 T! m( b: p) V, {2 U在弹出的页面中取消勾选 Use builder setting ,取消勾选 Same as the target name 并清空 Make target 的内容。# z' |- S- Z  [) \( R1 D

9 e* s% q% S# G4 t在下面command 中输入 make flash。8 ]8 f% A) w2 J% r3 Q6 B; [7 `7 L

. a# T3 T/ d& B. j% h
9.png
% T3 Y1 L. Z, h) ]- X
点击 OK 保存) x$ L$ S1 E; }

9 y: f/ S$ r) E2 u8 `7 R选中项目,按下快捷键 Shift + F9,弹出刚才新建的两个 Target* a. M, \+ j! B/ C+ X

! z, H# I6 ~9 [! V
10.png

0 W! N* Z+ P* K9 ]" j鼠标选中需要编译的 Target, 点击 Build 即可实现在 Eclipse 中下载和配置 idf0 B2 j7 m9 ~; B' n5 g" z# t

" r! A! N/ J; ]8 Z( [6 ]& b
11.png

/ s0 T+ h+ H) x) ?5 k7 c0 U, E编译项目& b( O8 q' _& U
- ^# n) R; V% `3 _- S% J
首次使用请先执行 make menuconfig
* s! p4 r" _  Z) I: n3 m5 v8 D  ]" @/ G& n
鼠标选中项目名称,点击右键出现菜单:
" |0 H/ F: E4 a, K
3 l9 n3 n# I, a9 h" A1 m0 @" {
12.png
0 Z0 g# v. c) V! o4 S" R  p
Build Project :编译项目* l% \9 \  w9 y% }
Clean Project:清理项目! p7 z7 D& h$ S) F: V. Q5 e
之后到esp-idf\examples\get-started目录下把 hello_world 文件夹拷贝到 esp-idf 主目录,同时修改名称为 app 。与前面 C/C++ Build 的配置相对应。
- j4 y9 G" X" a( l  k4 m3 B* S5 m+ f. p# y$ \( c
编译之前clean一下,然后编译,
- b2 [2 n+ E# ?  E% y' ^7 w+ P6 l. o/ y2 e* A* S- u
当控制台最后输出如下信息即编译成功。(这里为了阅读方便手动换行了一下)7 F0 R, l% W0 ~; r. N8 s& ]9 Y8 H
  1. python /cygdrive/f/ESP32/esp-idf/esp-idf_20170410/components/esptool_py/esptool/esptool.py --chip esp32 --port /dev/ttyUSB0
    ' J( b( ~, f; I6 ?( L& E  X7 j* M5 b

  2. " n. A# p  a+ P4 s
  3. --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect) U& B+ T0 j" I5 V7 i

  4. % _; R: v/ L' _* I
  5. 0x1000 /cygdrive/f/ESP32/esp-idf/esp-idf_20170410/app/build/bootloader/bootloader.bin4 W, t" r1 C1 E9 `8 O. b9 C

  6. ! m1 b! r  N! J  w/ |+ Q
  7. 0x10000 /cygdrive/f/ESP32/esp-idf/esp-idf_20170410/app/build/hello-world.bin
    + w2 [+ R9 u# e+ m8 p+ ~2 k6 ^: K

  8. ( h) @( M# m- \- v1 T
  9. 0x8000 /cygdrive/f/ESP32/esp-idf/esp-idf_20170410/app/build/partitions_singleapp.bin1 s+ f. Q/ e; O/ b: ^9 P3 z

  10. ( ]. r& Z0 \1 [
复制代码
Build Project 是执行 make all命令。其实,bootloader.bin编译烧写一次即可,所以只需要编译用户程序,编译命令:$ D( y) r$ I% U5 _: C
  1. make app
复制代码
按照上一小结配置 make menuconfig 命令的方法添加进去即可。
$ Q* u) j  g: L0 g1 j- ~
/ P/ e; Z$ S1 N5 P4 F
烧写固件$ O( s+ U, r# g  l/ i! ]: j

% v! k/ {6 N. F1 ?. q7 T5 K- ?编译后由控制台输出信息可知各个烧录bin文件的地址。
$ V2 g8 _2 }$ r4 o- I0 K% z9 P6 T' L
15.png

/ O3 h: W! }: A4 n$ i4 \到官网的工具栏目那里下载Flash下载工具,目前最新版本是V3.4.8,支持ESP32。启动后根据提示选择 ESP32 即可。1 y& L& B5 v* @+ D( _" e0 c
, B& n. K. X$ Y  H
13.jpg

) b: n9 p% A6 j. a0 @) T" A之后打开串口,波特率115200,复位ESP32,可以看到下面信息。
* {* C& [8 G) f$ j6 i! a2 j  a
  1. ……) ]4 F$ Y8 _8 Z! ~: v6 |. S3 n: ?

  2. ( y: d, e4 G* }4 @# |
  3. Hello world!
    9 Q* |$ [' B- R! E& B0 h) E7 u

  4. 9 w3 Z9 R: r8 u6 t4 R
  5. Restarting in 10 seconds...5 h) t8 U+ U4 t

  6. 6 T0 ^2 m6 ?6 a- i7 {
  7. Restarting in 9 seconds...
    & W4 K  h  }: a9 z9 F7 x4 C7 w1 p7 ~, `

  8. ( R  Z. P3 I9 g3 k: O" U/ j9 d' X3 t
  9. Restarting in 8 seconds...2 G: L% e) y$ }! |6 `

  10. 4 ]* w3 a/ i$ x4 L- w
  11. Restarting in 7 seconds...$ {) h7 F: _7 a% P4 R: Q$ m
  12.   T8 t% T% O& S: D; O1 i7 @
  13. Restarting in 6 seconds...* L0 {9 F- B& ]) |6 W

  14. 3 n+ |' Q, _0 `0 _  v2 Z
  15. Restarting in 5 seconds..., K& I- b: |0 F3 q5 n* z
  16. 8 B4 [* P5 T! S5 V+ o
  17. Restarting in 4 seconds..." A$ Y% u* r" _1 H9 p3 R- d- q

  18. . b. X+ v; y. I
  19. Restarting in 3 seconds...
    - M2 m) g) x3 N2 |0 u- f8 ~

  20. 5 D2 X1 r. }# q
  21. Restarting in 2 seconds...
    8 h/ H! s8 o% H5 l" W
  22. 8 j0 y( |3 n1 ?1 l  Y
  23. Restarting in 1 seconds...5 m; X5 G; `% o7 P( g
  24. 3 Y3 h8 Q1 g: g/ y5 S
  25. Restarting in 0 seconds...& C/ w6 Y9 h5 B$ o) T- ^) z

  26. * S0 L" O: G5 S0 {7 d6 P* r* d
  27. Restarting now.
复制代码
如果看到上面的信息说明我们的 hello_world 工程烧录成功。5 N" T$ C0 K3 F- O0 J
& n2 E- |- J& x* Z9 G
如果没有看到上面的信息,说明没有进入 hello_world 代码,可能原因是 bin 文件烧写的路径不对。旧版本的partitions_singleapp.bin是烧写在0x4000的(输出信息也是说明烧录在0x4000,很坑人),这一点必须要注意。
& \% |, D9 S6 i. ~, T6 u6 N' ^* p& b) H9 d  j; y5 \
其他9 g% C* O& B) f0 i$ u8 w5 O; W" B
/ I3 ?. m' N$ w: O/ C% E
打开 ConfigTool.exe 之后如果出现下面对话框(访问被拒绝),试一下以管理员身份运行。2 |0 T& ~; Z9 q" ^+ d# i

  p; u4 k9 V: i
14.jpg

8 [" X' W) a( c- q. @! O1 n% d
. \- h% W: ~  c0 q$ P9 g+ y0 P6 @' s+ C" v

3 u4 i2 V2 F' t
转载自阏男秀

6 W& ~+ H2 ~+ J6 N; H+ L; W& V- L* i2 y1 a+ t: G6 s+ w, G* O: a

2 B! {6 x, ~2 W, L) ]
' ^* v- q; O! J0 ^0 B- _0 o7 b- e& i
收藏 2 评论0 发布时间:2018-5-30 15:14

举报

0个回答

所属标签

相似分享

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