ESP32开发环境建立小结(传统 GNU Make)

1. 在页面https://docs.espressif.com/projects/esp-idf/zh_CN/latest/get-started-legacy/windows-setup.html下载工具链文件https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20190611.zip

2. 解压esp32_win32_msys2_environment_and_toolchain-20190611.zip到磁盘根目录,比如d盘,下载esp-idf

cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
  • 本地签出至 master 分支:
cd $IDF_PATH
git checkout master
git pull
git submodule update --init --recursive
  • 更新至v3.3版本
cd $IDF_PATH
git fetch
git checkout release/v3.1
git pull
git submodule update --init --recursive

 

3. 找到esp-idf目录下的tools/windows/windows_install_prerequisites.sh文件,执行,可能报错:

*** fatal error - cygheap base mismatch detected - 0x612E5408/0x612E4408

解决办法:关掉当前窗口,重新打开一个新窗口重新执行windows_install_prerequisites.sh命令即可。

参考页面:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/get-started-legacy/windows-setup-scratch.html

 

4. 设置环境变量 参考页面:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/get-started-legacy/add-idf_path-to-profile.html

1> 在 d:/msys32/etc/profile.d/ 目录下创建一个新的脚本文件,并将其命名为 export_idf_path.sh。

指定您的 ESP-IDF 保存路径,这通常与您的系统配置有关,比如 d:\msys32\home\user-name\esp\esp-idf。

2> 在脚本文件中加入下方 export 命令行,例:

export IDF_PATH="D:/msys32/home/user-name/esp/esp-idf"
注意请将反斜杠替换为 Windows 操作系统路径要求的正斜杠。

3> 保存脚本文件。

4> 关闭 MSYS2 窗口,并重新打开。运行以下命令,检查 IDF_PATH 是否成功设置:

printenv IDF_PATH
如果设置成功,则此时将打印之前在脚本中输入的路径。

5. 安装requirements.txt

报如下错误:将python改为python2.7(D:\msys32\mingw32\bin\python2.7.exe)

/bin/sh: python: 未找到命令
make[1]: *** [/home/Administrator/esp/esp-idf/components/esptool_py/Makefile.projbuild:67:/home/Administrator/esp/simple_sniffer/build/bootloader/bootloader.bin] 错误 127
make: *** [/home/Administrator/esp/esp-idf/components/bootloader/Makefile.projbuild:41:/home/Administrator/esp/simple_sniffer/build/bootloader/bootloader.bin] 错误 2
Administrator@HTUP5CBSH4CS5YS MINGW32 ~/esp
# python2.7 -m pip install --user -r $IDF_PATH/requirements.txt
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Requirement already satisfied: setuptools in d:/msys32/mingw32/lib/python2.7/site-packages (from -r D:/msys32/home/Administrator/esp/esp-idf/requirements.txt (line 4)) (41.4.0)
Requirement already satisfied: pyserial>=3.0 in d:/msys32/mingw32/lib/python2.7/site-packages (from -r D:/msys32/home/Administrator/esp/esp-idf/requirements.txt (line 8)) (3.4)
Requirement already satisfied: future>=0.15.2 in d:/msys32/mingw32/lib/python2.7/site-packages (from -r D:/msys32/home/Administrator/esp/esp-idf/requirements.txt (line 9)) (0.17.1)
Requirement already satisfied: cryptography>=2.1.4 in d:/msys32/mingw32/lib/python2.7/site-packages (from -r D:/msys32/home/Administrator/esp/esp-idf/requirements.txt (line 10)) (2.8)
Collecting pyparsing<2.4.0,>=2.0.3
  Downloading https://files.pythonhosted.org/packages/de/0a/001be530836743d8be6c2d85069f46fecf84ac6c18c7f5fb8125ee11d854/pyparsing-2.3.1-py2.py3-none-any.whl (61kB)
     |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒| 71kB 43kB/s
Requirement already satisfied: six>=1.4.1 in d:/msys32/mingw32/lib/python2.7/site-packages (from cryptography>=2.1.4->-r D:/msys32/home/Administrator/esp/esp-idf/requirements.txt (line 10)) (1.13.0)
Requirement already satisfied: cffi!=1.11.3,>=1.8 in d:/msys32/mingw32/lib/python2.7/site-packages (from cryptography>=2.1.4->-r D:/msys32/home/Administrator/esp/esp-idf/requirements.txt (line 10)) (1.13.2)
Requirement already satisfied: enum34 in d:/msys32/mingw32/lib/python2.7/site-packages (from cryptography>=2.1.4->-r D:/msys32/home/Administrator/esp/esp-idf/requirements.txt (line 10)) (1.1.6)
Requirement already satisfied: ipaddress in d:/msys32/mingw32/lib/python2.7/site-packages (from cryptography>=2.1.4->-r D:/msys32/home/Administrator/esp/esp-idf/requirements.txt (line 10)) (1.0.23)
Requirement already satisfied: pycparser in d:/msys32/mingw32/lib/python2.7/site-packages (from cffi!=1.11.3,>=1.8->cryptography>=2.1.4->-r D:/msys32/home/Administrator/esp/esp-idf/requirements.txt (line 10)) (2.19)
Installing collected packages: pyparsing
Successfully installed pyparsing-2.3.1

Administrator@HTUP5CBSH4CS5YS MINGW32 ~/esp
#
# make flash
Toolchain path: /opt/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Toolchain version: crosstool-ng-1.22.0-80-g6c4433a5
Compiler version: 5.2.0
make[2]: *** 没有规则可制作目标“E:/e/esp32_win32_msys2_environment_and_toolchain-20181001/msys32/home/Administrator/esp/esp-idf/components/bootloader_support/src/bootloader_random.c”,由“src/bootloader_random.o” 需求。 停止。
make[1]: *** [/home/Administrator/esp/esp-idf/make/project.mk:552:component-bootloader_support-build] 错误 2
make: *** [/home/Administrator/esp/esp-idf/components/bootloader/Makefile.projbuild:41:/home/Administrator/esp/simple_sniffer/build/bootloader/bootloader.bin] 错误 2

6. 建工程并配置

 将get-started/hello_world 复制至您本地的 ~/esp 目录下,

cd ~/esp/hello_world
make menuconfig
Windows 操作系统: COM1 等
Linux 操作系统: 以 /dev/tty 开始
MacOS 操作系统: 以 /dev/cu. 开始

工程配置 — 主窗口

 

7. 编译及下载

make flash

报如下错误修改方法:将【/opt/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc】目录的文件全部替换为esp32_win32_msys2_environment_and_toolchain-20181001.rar压缩包中同目录的文件即可。

Administrator@HTUP5CBSH4CS5YS MINGW32 ~/esp/hello_world
# make flash
Toolchain path: /opt/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
WARNING: Toolchain version is not supported: esp-2019r2
Expected to see version: crosstool-ng-1.22.0-80-g6c4433a
Please check ESP-IDF setup instructions and update the toolchain, or proceed at your own risk.
WARNING: Compiler version is not supported: 8.2.0
Expected to see version(s): 5.2.0
Please check ESP-IDF setup instructions and update the toolchain, or proceed at your own risk.
WARNING: Toolchain version is not supported: esp-2019r2
Expected to see version: crosstool-ng-1.22.0-80-g6c4433a
Please check ESP-IDF setup instructions and update the toolchain, or proceed at your own risk.
WARNING: Compiler version is not supported: 8.2.0
Expected to see version(s): 5.2.0
Please check ESP-IDF setup instructions and update the toolchain, or proceed at your own risk.
esptool.py v2.8
Python requirements from D:/msys32/home/Administrator/esp/esp-idf/requirements.txt are satisfied.
Building partitions from /home/Administrator/esp/simple_sniffer/partitions_example.csv...

CC build/app_trace/app_trace.o
CC build/app_trace/host_file_io.o
CC build/app_trace/app_trace_util.o
CC build/app_trace/gcov/gcov_rtio.o
AR build/app_trace/libapp_trace.a
Project is not inside a git repository, will not use 'git describe' to determine PROJECT_VER.
App "simple_sniffer" version: 1
CC build/app_update/esp_app_desc.o
CC build/app_update/esp_ota_ops.o
AR build/app_update/libapp_update.a
CXX build/asio/asio/asio/src/asio.o
In file included from d:\msys32\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c++\8.2.0\cstdlib:75,
                 from d:\msys32\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c++\8.2.0\ext\string_conversions.h:41,
                 from d:\msys32\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c++\8.2.0\bits\basic_string.h:6391,
                 from d:\msys32\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c++\8.2.0\string:52,
                 from D:/msys32/home/Administrator/esp/esp-idf/components/asio/asio/asio/include/asio/impl/error.ipp:19,
                 from D:/msys32/home/Administrator/esp/esp-idf/components/asio/asio/asio/include/asio/impl/src.hpp:22,
                 from D:/msys32/home/Administrator/esp/esp-idf/components/asio/asio/asio/src/asio.cpp:11:
d:\msys32\opt\xtensa-esp32-elf\xtensa-esp32-elf\sys-include\stdlib.h:155:44: error: expected initializer before '__result_use_check'
 void *reallocarray(void *, size_t, size_t) __result_use_check __alloc_size(2)
                                            ^~~~~~~~~~~~~~~~~~
d:\msys32\opt\xtensa-esp32-elf\xtensa-esp32-elf\sys-include\stdlib.h:340:52: error: expected initializer before '__alloc_align'
 void * aligned_alloc(size_t, size_t) __malloc_like __alloc_align(1)
                                                    ^~~~~~~~~~~~~
make[1]: *** [/home/Administrator/esp/esp-idf/make/component_wrapper.mk:290:asio/asio/src/asio.o] 错误 1
make: *** [D:/msys32/home/Administrator/esp/esp-idf/make/project.mk:552:component-asio-build] 错误 2

Administrator@HTUP5CBSH4CS5YS MINGW32 ~/esp/hello_world

 

 

ESP32开发板驱动下载:https://www.ftdichip.com/Drivers/D2XX.htm

 

开发板USB 驱动备注
ESP32-DevKitCCP210x 
ESP32-LyraTCP210x 
ESP32-LyraTD-MSCCP210x 
ESP32-PICO-KITCP210x 
ESP-WROVER-KITFTDI 
ESP32 Demo 板FTDI 
ESP-ProgFTDI编程板 (w/o ESP32)
ESP32-MeshKit-Sensen/a搭配 ESP-Prog 使用
ESP32-Sense Kitn/a搭配 ESP-Prog 使用

链接:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/get-started-legacy/establish-serial-connection.html

7. 完成

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值