VS Code 環(huán)境搭建參看 ESP32學(xué)習(xí)筆記(1)——搭建環(huán)境、編譯燒寫(xiě)(Windows+VS Code)
一、搭建環(huán)境
1.1 官方資料
1.2 下載Espressif-IDE安裝器
官網(wǎng)下載:https://dl.espressif.cn/dl/esp-idf/?idf=4.4

百度網(wǎng)盤(pán):https://pan.baidu.com/s/1cXP7lRmmohUu-PkNdxYHVw?pwd=g33x
提取碼:g33x
打開(kāi)
espressif-ide-setup-espressif-ide-2.5.0-with-esp-idf-4.4.exe安裝前系統(tǒng)檢測(cè),如果需要
應(yīng)用修復(fù),則點(diǎn)擊應(yīng)用修復(fù)完成后點(diǎn)擊下一步

-
選擇安裝目標(biāo)位置
不要安裝在帶有空格的路徑

- 選擇安裝組件

-
準(zhǔn)備安裝
安裝完成
桌面出現(xiàn) ESP-IDF 4.4 CMD 和 ESP-IDF 4.4 PowerShell

1.3 設(shè)置環(huán)境變量

打開(kāi) ESP-IDF 4.4 PowerShell 和 ESP-IDF 4.4 CMD 即自動(dòng)完成環(huán)境變量設(shè)置


或者在當(dāng)下命令提示符窗口手動(dòng)輸入
%userprofile%\esp\esp-idf\export.bat
1.4 更換ESP-IDF版本(可跳過(guò))
官方Github代碼庫(kù):https://github.com/espressif/esp-idf/tree/master
下載主分支 master 或其他穩(wěn)定版


百度網(wǎng)盤(pán):https://pan.baidu.com/s/133YOGC9KzbmUYLAbOrplZQ?pwd=u5n1 提取碼:u5n1
解壓到 Espressif\frameworks 路徑下

1.5 創(chuàng)建工程
- 打開(kāi)
Espressif-IDE
-
創(chuàng)建IDF工程
- 點(diǎn)擊
Next,選擇模板
二、編譯
2.1 使用Eclipse編譯
-
切換對(duì)應(yīng)芯片類(lèi)型和項(xiàng)目
-
選擇ESP目標(biāo)
- 查看串口號(hào)
開(kāi)發(fā)板連接電腦。設(shè)備管理器查看開(kāi)發(fā)板的端口號(hào)COM22
-
點(diǎn)擊編譯
2.2 使用ESP-IDF CMD編譯
- 打開(kāi)
ESP-IDF 4.4 CMD - 進(jìn)入例程目錄:
cd examples\get-started\hello_world
- 進(jìn)行編譯
idf.py build
- 編譯完成

三、燒寫(xiě)
3.1 使用Eclipse燒寫(xiě)
-
點(diǎn)擊燒錄
這將編譯應(yīng)用程序和所有 ESP_IDF 組件,生成引導(dǎo)加載程序,分區(qū)表和應(yīng)用程序二進(jìn)制文件,并將這些二進(jìn)制文件閃存到 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 開(kāi)發(fā)板,出現(xiàn)Connecting的時(shí)候按住 Boot 鍵,再按一下 RST 鍵,進(jìn)入燒錄模式。
然后,出現(xiàn)了超時(shí),一直燒錄不成功:

然后我到 CP210x USB to UART Bridge VCP Drivers 上,下載安裝驅(qū)動(dòng) CP210x Universal Windows Driver v10.1.10 之后就能下載了

- 下載完成

-
串口調(diào)試
點(diǎn)擊打開(kāi)調(diào)試窗口
查看打?。?/p>
3.2 使用ESP-IDF CMD燒寫(xiě)
- 燒錄前先配置模組的flash大小:
輸入命令idf.py menuconfig打開(kāi)配置界面
進(jìn)入Serial flasher config,按需將 Flash size 改為自己的大小。比較常用的兩個(gè)模組:安信可ESP-32S、樂(lè)鑫ESP32-WROOM-32,flash 都是 4MB。連續(xù)按 Esc 退出,按 s 保存。

-
查看端口號(hào)
開(kāi)發(fā)板連接電腦。設(shè)備管理器查看開(kāi)發(fā)板的端口號(hào)COM22
燒錄執(zhí)行
idf.py -p PORT flash
其中PORT是連接開(kāi)發(fā)板的端口。如COM22,命令為idf.py -p COM22 flash。
這將編譯應(yīng)用程序和所有 ESP_IDF 組件,生成引導(dǎo)加載程序,分區(qū)表和應(yīng)用程序二進(jìn)制文件,并將這些二進(jìn)制文件閃存到 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........_____....._____....._____....._____....._____....._____....._____
- 下載完成

- 串口調(diào)試
idf.py -p PORT monitor
其中PORT是連接開(kāi)發(fā)板的端口。如COM22,命令為idf.py -p COM22 monitor。

3.3 燒錄工具燒寫(xiě)
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改成實(shí)際COM口
|
| 監(jiān)視端口 | idf.py -p PORT monitor PORT改成實(shí)際COM口
|
| 擦除整個(gè)flash并燒錄下載 | idf.py (-p PORT) erase_flash PORT改成實(shí)際COM口
|
| 編譯+燒錄+監(jiān)視 | idf.py (-p PORT) build flash monitor PORT改成實(shí)際COM口
|
? 由 Leung 寫(xiě)于 2022 年 7 月 28 日













