ESP32学习笔记(50)——搭建环境编译烧写(Windows+Espressif-IDE)

Posted Leung_ManWah

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ESP32学习笔记(50)——搭建环境编译烧写(Windows+Espressif-IDE)相关的知识,希望对你有一定的参考价值。


VS Code 环境搭建参看 ESP32学习笔记(1)——搭建环境、编译烧写(Windows+VS Code)


一、搭建环境

1.1 官方资料

ESP-IDF 编程指南

1.2 下载Espressif-IDE安装器

官网下载:https://dl.espressif.cn/dl/esp-idf/?idf=4.4

百度网盘:https://pan.baidu.com/s/1cXP7lRmmohUu-PkNdxYHVw?pwd=g33x
提取码:g33x

  • 打开 espressif-ide-setup-espressif-ide-2.5.0-with-esp-idf-4.4.exe

  • 安装前系统检测,如果需要应用修复,则点击应用修复完成后点击下一步

  • 选择安装目标位置
    不要安装在带有空格的路径

  • 选择安装组件

  • 准备安装

  • 安装完成

桌面出现 ESP-IDF 4.4 CMDESP-IDF 4.4 PowerShell

1.3 设置环境变量

打开 ESP-IDF 4.4 PowerShellESP-IDF 4.4 CMD 即自动完成环境变量设置


或者在当下命令提示符窗口手动输入

%userprofile%\\esp\\esp-idf\\export.bat

1.4 更换ESP-IDF版本(可跳过)

官方Github代码库:https://github.com/espressif/esp-idf/tree/master

下载主分支 master 或其他稳定版

百度网盘:https://pan.baidu.com/s/133YOGC9KzbmUYLAbOrplZQ?pwd=u5n1 提取码:u5n1

解压到 Espressif\\frameworks 路径下

1.5 创建工程

  • 打开 Espressif-IDE
  • 创建IDF工程
  • 点击 Next,选择模板

二、编译

2.1 使用Eclipse编译

  1. 切换对应芯片类型和项目
  2. 选择ESP目标

  3. 查看串口号
    开发板连接电脑。设备管理器查看开发板的端口号 COM22
  4. 点击编译

2.2 使用ESP-IDF CMD编译

  1. 打开 ESP-IDF 4.4 CMD
  2. 进入例程目录:
cd examples\\get-started\\hello_world
  1. 进行编译
idf.py build
  1. 编译完成

三、烧写

3.1 使用Eclipse烧写

  1. 点击烧录

    这将编译应用程序和所有 ESP_IDF 组件,生成引导加载程序,分区表和应用程序二进制文件,并将这些二进制文件闪存到 ESP32 板上。
[1/5] cmd.exe /C "cd /D D:\\Espressif\\frameworks\\esp-idf-v4.4\\workspace\\hello_world\\build\\esp-idf\\esptool_py && python D:/Espressif/frameworks/esp-idf-v4.4/components/partition_table/check_sizes.py --offset 0x8000 partition --type app D:/Espressif/frameworks/esp-idf-v4.4/workspace/hello_world/build/partition_table/partition-table.bin D:/Espressif/frameworks/esp-idf-v4.4/workspace/hello_world/build/hello_world.bin"
hello_world.bin binary size 0x29740 bytes. Smallest app partition is 0x100000 bytes. 0xd68c0 bytes (84%) free.
[2/5] Performing build step for 'bootloader'
[1/1] cmd.exe /C "cd /D D:\\Espressif\\frameworks\\esp-idf-v4.4\\workspace\\hello_world\\build\\bootloader\\esp-idf\\esptool_py && python D:/Espressif/frameworks/esp-idf-v4.4/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 D:/Espressif/frameworks/esp-idf-v4.4/workspace/hello_world/build/bootloader/bootloader.bin"
Bootloader binary size 0x62c0 bytes. 0xd40 bytes (12%) free.
[2/3] cmd.exe /C "cd /D D:\\Espressif\\frameworks\\esp-idf-v4.4\\components\\esptool_py && D:\\Espressif\\tools\\cmake\\3.20.3\\bin\\cmake.exe -D IDF_PATH="D:/Espressif/frameworks/esp-idf-v4.4" -D SERIAL_TOOL="python D:/Espressif/frameworks/esp-idf-v4.4/components/esptool_py/esptool/esptool.py --chip esp32" -D SERIAL_TOOL_ARGS="--before=default_reset --after=hard_reset write_flash @flash_args" -D WORKING_DIRECTORY="D:/Espressif/frameworks/esp-idf-v4.4/workspace/hello_world/build" -P D:/Espressif/frameworks/esp-idf-v4.4/components/esptool_py/run_serial_tool.cmake"
esptool.py esp32 -p COM4 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 2MB 0x1000 bootloader/bootloader.bin 0x10000 hello_world.bin 0x8000 partition_table/partition-table.bin
esptool.py v3.2-dev
Serial port COM4
Connecting......

我用的是 ESP32-LyraT V4.3 开发板,出现Connecting的时候按住 Boot 键,再按一下 RST 键,进入烧录模式。

然后,出现了超时,一直烧录不成功:

然后我到 CP210x USB to UART Bridge VCP Drivers 上,下载安装驱动 CP210x Universal Windows Driver v10.1.10 之后就能下载了

  1. 下载完成

  1. 串口调试
    点击打开调试窗口

    查看打印:

3.2 使用ESP-IDF CMD烧写

  1. 烧录前先配置模组的flash大小:
    输入命令 idf.py menuconfig 打开配置界面

进入Serial flasher config,按需将 Flash size 改为自己的大小。比较常用的两个模组:安信可ESP-32S乐鑫ESP32-WROOM-32,flash 都是 4MB。连续按 Esc 退出,按 s 保存。

  1. 查看端口号
    开发板连接电脑。设备管理器查看开发板的端口号 COM22

  2. 烧录执行

idf.py -p PORT flash

其中PORT是连接开发板的端口。如COM22,命令为idf.py -p COM22 flash

这将编译应用程序和所有 ESP_IDF 组件,生成引导加载程序,分区表和应用程序二进制文件,并将这些二进制文件闪存到 ESP32 板上。

esptool.py v3.0
Generated C:/Users/neldtv/esp/esp-idf/examples/get-started/hello_world/build/bootloader/bootloader.bin
[783/784] Generating binary image from built executable
esptool.py v3.0
Generated C:/Users/neldtv/esp/esp-idf/examples/get-started/hello_world/build/hello-world.bin
[783/784] cmd.exe /C "cd /D C:\\Users\\neldtv\\esp\\esp-idf\\co...eldtv/esp/esp-idf/components/esptool_py/run_esptool.cmake"
esptool.py --chip esp32 -p COM22 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 4MB 0x8000 partition_table/partition-table.bin 0x1000 bootloader/bootloader.bin 0x10000 hello-world.bin
esptool.py v3.0
Serial port COM22
Connecting........_____....._____....._____....._____....._____....._____....._____
  1. 下载完成

  1. 串口调试
idf.py -p PORT monitor

其中PORT是连接开发板的端口。如COM22,命令为idf.py -p COM22 monitor

3.3 烧录工具烧写

flash_download_tool_v3.8.5
链接:https://www.espressif.com/zh-hans/support/download/other-tools
然后按照 idf.py -p COM22 monitor 中提示的文件和烧录地址

四、常用命令(ESP-IDF CMD中使用)

功能命令
配置界面idf.py menuconfig
清理工程idf.py clean
编译idf.py build
烧录下载idf.py -p PORT flash PORT改成实际COM口
监视端口idf.py -p PORT monitor PORT改成实际COM口
擦除整个flash并烧录下载idf.py (-p PORT) erase_flash PORT改成实际COM口
编译+烧录+监视idf.py (-p PORT) build flash monitor PORT改成实际COM口

• 由 Leung 写于 2022 年 7 月 28 日

以上是关于ESP32学习笔记(50)——搭建环境编译烧写(Windows+Espressif-IDE)的主要内容,如果未能解决你的问题,请参考以下文章

ESP8266学习笔记——搭建环境编译烧写(NONOS SDK)

GD32F303学习笔记——搭建环境编译烧写

GD32F103学习笔记——搭建环境编译烧写

GD32F303学习笔记——搭建环境编译烧写

GD32F103学习笔记——搭建环境编译烧写

MT7688学习笔记——搭建环境编译烧写