一、簡介
ESP-ADF 以最全面的方式支持 Espressif 系統 SoC 音頻應用程式的開發,使用 ESP-ADF ,您可以輕松地添加功能,開發從簡單到復雜的音頻應用程式:
- 音樂播放器或錄音機支持音頻格式:如MP3、AAC、FLAC、WAV、OGG、OPUS、AMR、TS、EQ、Downmixer、Sonic、ALC、G.711等,
- 播放音樂來源:HTTP,HLS(HTTPLive流),SPASS,SD Card,A2DP-Source,A2DP-Sink,HFP等等,
- 整合媒體服務:如DLNA、VoIP等,
- 網路收音機
- 語音識別和與在線服務的集成:如Alexa,DuerOS等,
ESP-ADF 提供一系列 API 組件,包括音頻流、編解碼器和以音頻管道組織的服務,所有這些組件都通過媒體 HAL 與音頻硬體集成,并與 ESP32 上的外圍設備集成,

1.1 官方資料
樂鑫音頻應用開發指南
二、安裝ESP-IDF
查看 ESP32學習筆記(1)——搭建環境、編譯燒寫(Windows+VS Code)
如果已安裝,可跳過
三、安裝ESP-ADF
3.1 獲取ESP-ADF
打開命令提示符并運行以下命令:
cd %userprofile%\esp
git clone --recursive https://github.com/espressif/esp-adf.git
等待clone完成后,再打開esp-adf目錄下的.gitsubmodules檔案,可以看到該目錄下有三個子模塊倉庫:
- idf模塊
- esp-adf-libs模塊:adf音頻庫
- esp-sr模塊:識別語音庫
[submodule "esp-idf"]
path = esp-idf
url = https://gitclone.com/github.com/espressif/esp-idf
[submodule "components/esp-adf-libs"]
path = components/esp-adf-libs
url = https://gitclone.com/github.com/espressif/esp-adf-libs
[submodule "components/esp-sr"]
path = components/esp-sr
url = https://gitclone.com/github.com/espressif/esp-sr.git
在 %userprofile%\esp\esp-adf\components 目錄下執行:
git clone https://gitclone.com/github.com/espressif/esp-adf-libs
git clone https://gitclone.com/github.com/espressif/esp-sr.git
3.2 設定ESP-ADF的路徑
工具鏈程式使用 ADF_PATH 環境變數訪問 ESP-ADF ,此變數應在您的 PC 上設定,否則專案將無法構建,
set ADF_PATH=%userprofile%\esp\esp-adf

需要注意的是,在每次打開cmd之后要設定ADF_PATH
還有一勞永逸的方法:
右鍵電腦屬性→高級系統設定→環境變數→添加ADF_PATH

要確保 ADF_PATH 已正確設定,請運行:
echo %ADF_PATH%
應該回傳 ESP-ADF 目錄的路徑:

四、編譯
- 打開
ESP-IDF Command Prompt (cmd.exe) - 進入例程目錄:
cd esp\esp-adf\examples\get-started\play_mp3_control
- 進行編譯
idf.py build
- 編譯完成

五、燒寫
5.1 編譯環境中燒寫
- 燒錄前先配置模組的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........_____....._____....._____....._____....._____....._____....._____
我用的是 ESP32-LyraT V4.3 開發板,出現Connecting的時候按住 Boot 鍵,再按一下 RST 鍵,進入燒錄模式,
然后,出現了超時,一直燒錄不成功:

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

- 下載完成

- 串口除錯
idf.py -p PORT monitor
其中PORT是連接開發板的埠,如COM22,命令為idf.py -p COM22 monitor,

5.2 燒錄工具燒寫
flash_download_tool_v3.8.5
鏈接:https://www.espressif.com/zh-hans/support/download/other-tools
然后按照 idf.py -p COM22 monitor 中提示的檔案和燒錄地址



? 由 Leung 寫于 2021 年 7 月 22 日
? 參考:ESP32 ADF windows開發環境搭建 適配ADF到ESP32A1S
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/289796.html
標籤:其他
