ESP32 ADF windows开发环境搭建 适配ADF到ESP32A1S
2025-09-10 来源:cnblogs
搭建ESP32A1S的ADF开发环境
ADF安装指南
首先下载esp-idf,如果是第一次使用idf,可以在官网下载一个idf工具安装器,通过这个安装器直接安装idf,同时还可以安装编译工具链。下载的速度也还可以接受。大概三十分钟就可以搞定。本安装器可为您安装所需的交叉编译器、OpenOCD、cmake 和 Ninja 编译工具,以及一款 mconf-idf 配置工具。此外,本安装器还可在有需要时下载、运行 Python 3.7 和 Git For Windows 的安装器。本安装器还可用于下载任意 ESP-IDF 发布版本。
本安装器可为您安装所需的交叉编译器、OpenOCD、cmake 和 Ninja 编译工具,以及一款 mconf-idf 配置工具。此外,本安装器还可在有需要时下载、运行 Python 3.7 和 Git For Windows 的安装器。本安装器还可用于下载任意 ESP-IDF 发布版本。
下载完安装器后直接运行如下(安装器运行时需要python3和git的支持):

选择要安装的idf的3.3版本,记住路径不要有空格。使用ADF开发时最好用3.3的idf,比较稳定不会出错
接下来是选择idf-tool的安装路径:
等个半小时左右安装完成。测试工具链能不能正常工作。我们的桌面会生成这一个cmd
双击运行后它会自动为我们设置idf_path等编译需要的环境变量,我们直接cd到idf里examples里一个工程,例如:
D:ESPidf3.3examplesget-startedhello_world
然后执行idf.py build
如果编译成功的话就说明编译工具和idf安装成功。
二,安装ADF
乐鑫把ADF放在了github,仓库地址是:https://github.com/espressif/esp-adf;
这是一个带子模块的仓库,如何加速下载请参考博客提升github下载速度里带子模块的下载。
步骤:创建ESP文件夹,然后cmd,执行以下命令克隆仓库:
git clone https://gitclone.com/github.com/espressif/esp-adf.git
等待clone完成后,再打开esp-adf目录下的.gitsubmodules文件,可以看到该目录下有三个子模块仓库:
idf模块,esp-adf-libs模块:adf音频库,esp-sr:识别语音库
在esp-adf-libs目录下执行:
git clone https://gitclone.com/github.com/espressif/esp-adf-libs
在esp-sr目录下执行:
git clone https://gitclone.com/github.com/espressif/esp-sr.git
在esp-idf目录下执行:
git clone https://gitclone.com/github.com/espressif/esp-idf
1
以上仓库下载完成后,修改adf目录下.gitsubmodules的内容如下:
[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
当两个仓库下载完成后 在adf目录下cmd执行git submodule update --init,这一步将两个子模块切换到当前ADF要求的版本。至此ADF已经完成安装,这时要测试一下ADF是否能编译成功。打开之前的桌面cmd,需要注意的是,在每次打开cmd之前要设置ADF_PATH
在cmd执行set ADF_PATH=你的ADF目录例如我的是:set ADF_PATH=D:ESPesp-adf,(路径不要有空格
或者在ESP.espressif目录下添加该语句,如图,一劳永逸:
然后cd到随便ADF目录下examples下随意一个工程,与之前一样idf.py build测试能否成功通过编译。
下载ai_thinker_audio_kit_v2_2,添加ai_thinker_audio_kit_v2_2文件夹到esp-adfcomponentsaudio_board目录下,board.c是板子的初始化代码,board_def.h是对板子IO口的定义, board_pins_config.c是配置iis和iic的IO
引脚的代码。
2,添加音频驱动文件,修改esp-adfcomponentsaudio_hal文件夹下的CMakeLists.txt和compoment.mk
2.1 CMakeLists.txt 修改后如下
2.2 compoment.mk 添加以下内容:
COMPONENT_ADD_INCLUDEDIRS += ./driver/ac101 COMPONENT_SRCDIRS += ./driver/ac101
2.3 在driver文件夹下新建ac101文件夹,并添加ac101.c和ac101.h驱动文件。ac101驱动下载
至此,移植完成!接下来就是测试了。老套路打开cmd,设置ADF_PATH,然后cd到测试项目,先执行idf.py menuconfig叫出配置菜单来切换A1S开发板。在Audio HAL选项中选择安信可的板子,然后save保存配置,最后idf.py build.(第一次编译大概5分钟把)
出现以下画面时就是编译通过:
最后进行烧录,插入开发板,查看开发板的端口号 例如我的是COM4,接着执行idf.py -p COM4 flash monitor烧录进开发板的同时开启了串口监视器,可以看到串口打印
四,使用asr语音识别例程
由于asr例程的app固件大于2M,所以需要修改项目分区表使app固件在flash有足够的内存空间,否则烧录后会出现以下错误:
步骤:
1,首先设置menuconfig->Serial Flash config,配置如下:
2,设置项目使用本地分区表:
menuconfig->Partition Table->,如下
3,修改项目根目录下的partitions.csv,如下
修改factory的size为2M或者更大的内存。
# Espressif ESP32 Partition Table
# Name, Type, SubType, Offset, Size
nvs, data, nvs, 0x9000, 0x6000,
phy_init, data, phy, 0xf000, 0x1000,
factory, app, factory, 0x10000, 0x200000,
- ESP32/8266固件备份方法
- upyOS:基于 MicroPython 的模块化操作系统,兼容 ESP32、RP2040 等微控制器
- ESP32与STM32哪个更适合初学者?问题解析与对比
- STM32与ESP32核心应用场景解析及PCB设计实践(深度探讨)
- ESP32与STM32:比较并非明智之举
- ESP32与STM32:性能对比分析及选型指南
- STM32与ESP32:核心差异详解
- 串口、并口、USB、UART及RS232/RS485接口与ESP32、STM32的应用解析
- ESP32音频输入-MAX4466,MAX9814,SPH0645LM4H,INMP441
- ESP32学习笔记(37)——搭建ESP-ADF(乐鑫音频开发框架)
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




