ESP32学习笔记(51)——搭建环境、编译烧写(Windows
VS Code 环境搭建参看 ESP32学习笔记(1)——搭建环境、编译烧写(Windows+VS Code)
一、搭建环境
1.1 官方资料
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 CMD
和 ESP-IDF 4.4 PowerShell
1.3 设置环境变量
打开 ESP-IDF 4.4 PowerShell
和 ESP-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编译
-
切换对应芯片类型和项目
-
选择ESP目标
- 查看串口号
开发板连接电脑。设备管理器
查看开发板的端口号COM22
-
点击编译
2.2 使用ESP-IDF CMD编译
- 打开
ESP-IDF 4.4 CMD
- 进入例程目录:
cd examples\get-started\hello_world
- 进行编译
idf.py build
- 编译完成
三、烧写
3.1 使用Eclipse烧写
-
点击烧录
这将编译应用程序和所有 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
之后就能下载了
- 下载完成
-
串口调试
点击打开调试窗口
查看打印:
3.2 使用ESP-IDF CMD烧写
- 烧录前先配置模组的flash大小:
输入命令idf.py menuconfig
打开配置界面
进入Serial flasher config
,按需将 Flash size
改为自己的大小。比较常用的两个模组:安信可ESP-32S
、乐鑫ESP32-WROOM-32
,flash 都是 4MB
。连续按 Esc 退出,按 s 保存。
-
查看端口号
开发板连接电脑。设备管理器
查看开发板的端口号COM22
-
烧录执行
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........_____....._____....._____....._____....._____....._____....._____
- 下载完成
- 串口调试
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 日