ESP32學(xué)習(xí)筆記(51)——搭建環(huán)境、編譯燒寫(xiě)(Windows+Espressif-IDE)


VS Code 環(huán)境搭建參看 ESP32學(xué)習(xí)筆記(1)——搭建環(huán)境、編譯燒寫(xiě)(Windows+VS Code)


一、搭建環(huán)境

1.1 官方資料

ESP-IDF 編程指南

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 CMDESP-IDF 4.4 PowerShell

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

打開(kāi) ESP-IDF 4.4 PowerShellESP-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編譯

  1. 切換對(duì)應(yīng)芯片類(lèi)型和項(xiàng)目


  2. 選擇ESP目標(biāo)



  3. 查看串口號(hào)
    開(kāi)發(fā)板連接電腦。設(shè)備管理器查看開(kāi)發(fā)板的端口號(hào) COM22
  4. 點(diǎn)擊編譯


2.2 使用ESP-IDF CMD編譯

  1. 打開(kāi) ESP-IDF 4.4 CMD
  2. 進(jìn)入例程目錄:
cd examples\get-started\hello_world
  1. 進(jìn)行編譯
idf.py build
  1. 編譯完成

三、燒寫(xiě)

3.1 使用Eclipse燒寫(xiě)

  1. 點(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 之后就能下載了

  1. 下載完成
  1. 串口調(diào)試
    點(diǎn)擊打開(kāi)調(diào)試窗口



    查看打?。?/p>

3.2 使用ESP-IDF CMD燒寫(xiě)

  1. 燒錄前先配置模組的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 保存。

  1. 查看端口號(hào)
    開(kāi)發(fā)板連接電腦。設(shè)備管理器查看開(kāi)發(fā)板的端口號(hào) COM22

  2. 燒錄執(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........_____....._____....._____....._____....._____....._____....._____
  1. 下載完成
  1. 串口調(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 日

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容