ESP-IDF 是 ESP32 晶片的官方開發框架。
有關設定 ESP-IDF 的詳細說明,請參閱設定指南:
除了設定指南中提到的 esp-idf-template 專案之外,ESP-IDF 在範例目錄中還附帶了一些範例專案。
找到要使用的項目後,請變更到其目錄,然後就可以配置和建置它。
make menuconfig
?
查看幫助畫面。 Enter 鍵退出說明畫面。Y
和N
鍵啟用(是)和停用(否)帶有複選框“ [*]
”的設定項?
反白顯示配置項時會顯示有關該項目的協助。/
搜尋配置項。配置完成後,多次按 Escape 鍵退出,並在出現提示時說「是」儲存新配置。
make all
...將編譯應用程式、引導程式並根據配置產生分區表。
當make all
完成後,它將列印一條命令列以使用 esptool.py 來刷新晶片。不過,您也可以透過執行以下命令從 make 執行此操作:
make flash
這會將整個專案(應用程式、引導程式和分區表)閃存到新晶片。可以使用make menuconfig
配置串行埠刷新的設定。
在執行 make make flash
之前,您不需要執行make all
, make flash
會自動重建需要它的任何內容。
make monitor
目標將使用已安裝的 miniterm(pyserial 的一部分)在終端控制台上顯示 ESP32 的串列輸出。
透過鍵入 Ctrl-] 退出小術語。
要一次刷新並監視輸出,您可以運行:
make flash monitor
初始刷新後,您可能只想建立和刷新您的應用程序,而不是引導程式和分區表:
make app
- 只建立應用程式。make app-flash
- 僅刷新應用程式。如果需要, make app-flash
將自動重建應用程式。
(在正常開發中,如果引導程式和分割區表沒有更改,每次都重新刷新它們並沒有什麼壞處。)
ESP-IDF 支援並行編譯多個文件,因此上述所有命令都可以作為make -jN
運行,其中N
是要運行的並行 make 進程的數量(通常 N 應等於或比 CPU 核心數多 1)在你的系統中。
多個 make 函數可以合併為一個。例如:要使用 5 個並行作業建立應用程式和引導程序,然後刷新所有內容,然後顯示 ESP32 運行的串行輸出:
make -j5 flash monitor
編譯專案後,「build」目錄將包含一個名稱類似「my_app.bin」的二進位。這是一個可由引導程式載入的 ESP32 映像二進位檔案。
單一 ESP32 的快閃記憶體可以包含多個應用程序,以及許多不同類型的資料(校準資料、檔案系統、參數儲存等)。因此,分區表被閃存到閃存中的偏移 0x4000。
分區表中的每個條目都有名稱(標籤)、類型(應用程式、資料或其他)、子類型以及載入分區的快閃記憶體中的偏移量。
使用分區表最簡單的方法是make menuconfig
並選擇簡單的預先定義分區表之一:
在這兩種情況下,工廠應用程式都會在偏移量 0x10000 處刷新。如果您make partition_table
,那麼它將列印分區表的摘要。
有關分區表以及如何建立自訂變體的更多詳細信息,請查看docs/partition-tables.rst
檔案。
make flash
目標不會擦除整個 flash 內容。然而,有時將裝置設定回完全擦除狀態很有用,特別是在更改分區表或更新 OTA 應用程式時。若要擦除整個閃存,請執行make erase_flash
。
這可以與其他目標結合使用,即make erase_flash flash
將擦除所有內容,然後重新刷新新的應用程式、引導程式和分區表。
最新版本的文件:http://esp-idf.readthedocs.io/。本文檔是從此儲存庫的 docs 目錄建置的。
esp32.com 論壇是一個提出問題和尋找社區資源的地方。
如果您發現錯誤或有功能請求,請檢查 github 上的問題部分。請在開啟新問題之前檢查現有問題。
如果您有興趣為 ESP-IDF 做出貢獻,請查看貢獻指南。