深入淺出ESP32開發之二ESP-IDF下載、編譯與執行
一、ESP-IDF下載
ESP-IDF全稱Espressif IoT Development Framework是樂鑫基於ESP32推出的新一代SDK,基於FreeRTOS系統,在上一代SDK基礎上做了眾多更新和改進,集合了眾多元件。支援在Windows、Linux和MacOS下基於ESP-IDF開發。
ESP-IDF原始碼已託管在github上,可在https://github.com/espressif/esp-idf下載,
在命令列輸入git clone --recursive https://github.com/espressif/esp-idf下載,注意git clone必須新增--recursive,否則無法拉取components目錄下的全部模組。
下載完成後,我們可以看到ESP-IDF的目錄結構如下:
l components:ESP-IDF的核心元件
l docs:ESP-IDF相關文件
l examples:ESP-IDF提供的示例程式,包括眾多外設、Wi-Fi、藍芽等demo
l make:EPS-IDF工程管理目錄
l tools:ESP-IDF提供的工具集
二、編譯
ESP-IDF的example目錄下提供了眾多的示例程式,我們先編譯“get-started”下的“hello_world”
如果直接在該目錄下執行make,會提示出錯
Makefile:8: /make/project.mk: No such file or directory
make: *** No rule to make target '/make/project.mk'. Stop.
這是因為Makefile裡的變數IDF_PATH沒有設定
這裡有2種方法:
方法1:
在當前Demo工程內修改Makefile,新增IDF_PATH=/home/share/samba/espressif/esp-idf,輸入的路徑為ESP-IDF目錄
這個方法,換個Demo工程就需要手工新增IDF_PATH變數,想要一次性搞定就使用方法2吧。
方法2:
修改/etc/profile檔案,新增export IDF_PATH=/home/share/samba/espressif/esp-idf
並使用source /etc/profile使環境變數生效。
完成以上配置後,執行make命令,第一次執行make命令預設會進入configuration介面。我們可以使用預設設定直接退出。
make將繼續執行編譯直至完成。
本次編譯總共生成了3個檔案,分別為:
位於build/bootloader目錄下的bootloader.bin
位於build目錄下的partitions_singleapp.bin
位於build目錄下的hello-world.bin
三、開發板下載
我使用的是樂鑫原廠出的基於ESP-WROOM-32模組做的ESP32_Core_borad_V2開發板,自帶USB-TTL(CP2102),該開發板類似NodeMCU,可自動進入boot模式,下載程式極其方便。
本次測試沒有使用在Ubuntu下下載程式碼,使用的是在Windows版串列埠下載程式“ESPFlashDownloadTool_v3.4.4.exe”
設定完成後,點選“START”後開始下載,進入boot模式後,“Download Panel”將顯示各裝置的MAC地址。
四、執行測試
ESP32預設日誌通過串列埠輸出,串列埠波特率設定為:115200
復位開發板後,日誌輸出串列埠可看到Hello_world已經正常執行。
Demo程式還列出當前ESP32晶片相關資訊:
1:當前demo運行於app cpu
2:當前ESP32晶片為雙核
3:具有WIFI/BT/BEL功能
4:4MB外部FLASH