vscode + ESP-IDF 搭建ESP32开发环境,以搭建完成点亮一个led灯为例
前言
伴随着AI小智的大火,不少发烧友也想制作一个AI小智,但苦于开发环境的搭建,本文旨在介绍如何搭建环境,学识有限,如有不妥之处,望各位斧正。
1.下载安装ESP-IDF
ESP-IDF 是乐鑫科技为其 ESP32 系列芯片提供的官方开发框架。想了解具体内容的可以问一下AI。
可在这里https://dl.espressif.cn/dl/esp-idf/下载ESP-IDF的安装包。
也可以往下翻,有更多的版本选择,版本区别如下图,可根据实际情况下载。
本文使用了5.1.2 的版本,如下图
安装ESP-IDF
下载完成安装包后以管理员身份运行
打开安装程序后选择简体中文安装,如下图所示:
往下走就是许可协议,勾选“我同意此协议”,单击下一步,如下图所示:
点击下一步之后,会跳出安装前系统检查界面,如下图所示:
安装程序会检查你当前系统有没有打开"长路径支持",因为 GNU 编译器产生的编译文件会有非常深的目录结构,如果不支持长路径,编译可能出现文件不存在,目录不存在等奇怪的错误。这里单击应用修复按钮,可以修复这个问题。在弹出的确认对话框中,选择是,开始修复。
修复完成如图
如果修复失败可以手动修改注册表来支持长路径(具体百度一下,我没有遇到)
提示修复完成后,点击下一步进入配置安装路径,如下图所示:
记住该路径,后续需要用到,路径不能有中文!!!
设置安装路径后点击 “下一步”选项,进入确认安装组件界面,这里全部打勾,默认完全安装时 ESP32C2 是不打勾的(如下图所示),看需要自己选择。然后单击下一步。
我们选择全部安装。点击下一步再次确认安装目录信息,然后单击安装。安装完成,三个全部勾选,1、2 用于测试环境安装是否成功,3 是将 ESP-IDF 工具链加入杀毒工具排除项,以加快编译速度,如下图所示:
安装成功后,桌面自动生成 ESP-IDF 5.1 PowerShell 和 ESP-IDF 5.1 CMD 命令提示符终端,PowerShell 提供了更强大的脚本和自动化功能,适合需要执行复杂任务或管理复杂环境的用户;
而CMD则更适合进行基础的命令行操作和简单的脚本执行。用户可以根据自己的需求和偏好选择使用其中一个工具。打开其中一个终端,如果终端提示“idf.py build”指令时,说明我们的环境已经安装成功了。如下图所示:
为了让系统能够找到和识别 ESP-IDF 的相关工具和库,从而能够顺利地进行编译、构建和调试 ESP32 或其他 Espressif 芯片的项目,我们必须设置 ESP-IDF 的环境变量,设置方法如下: 按照此过程(此电脑→属性→高级系统→环境变量)打开,如下图所示:
上图的环境变量有就不用添加,没有添加即可。到此ESP-IDF安装完成。
2.下载VScode
在浏览器下载即可,版本随意。不做过多赘述。可安装Chinese插件显示。(安装路径不要有中文)
3.安装与配置 ESP-IDF 插件
打开VScode按下键盘的ctrl + shift + x 打开插件库,搜索ESP-IDF插件,安装即可,如下图
4.配置插件
快捷键 ctrl+shift+p 呼出命令栏,在弹如下提示框后,搜索“配置 ESP-IDF 插件”,或者在使用快捷键 ctrl+shift+p 呼出命令栏后,在搜索框输入配置命令:Configure ESP-IDF。不要把“>”删掉,不然搜索不到
回车后,进入配置 ESP-IDF 插件界面,如下图所示:
在上图中,点击“ADVANCED”进入高级配置界面,如下图所示:
配置 ESP-IDF 插件完成后,点击上图“Configure Tools”选项执行配置操作,此时需要等待系统配置成功,如下图所示:
从上图可以看到,配置 ESP-IDF 插件需要进行三个流程,等待第一个流程配置完成,此时进入 ESP-IDF Tools 配置流程,如下图所示:
接着点击 “Download Tools”
系统提示如下信息,搭建完成,如下图所示:
设置烧录方式
5.新建工程
按下“Ctrl+Shift+P”快捷键打开命令面板,并在搜索栏内输入“新建项目”,如下图所示:
点击
配置工程参数
我手里的ESP32是ESP32-WROOM-32,选择如下图都可以,任选,推荐选最后一个,后续需要其他功能再配置即可
接下来是选择模板,选第三个即可,有其他需求的也可以选别的
点击“Create project using template sample_project”选项新建工程,点击完成后在此界面的右下角跳出以下信息,点击yes即可,别的东西可不必理会,如下所示:
到此工程建立完成,可以先跑一遍程序看能不能使用。扳手是编译,闪电是烧录,火苗是编译烧录。其他功能自己摸索一下,com一定要选对。
在编译时,时间超过5分钟的可以参考一下这位博主的方法,一般编译在2分钟左右。
https://blog.csdn.net/m0_63152093/article/details/150008828?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-150008828-blog-145306317.235v43control&spm=1001.2101.3001.4242.1&utm_relevant_index=3
编译完成如下图
接下来需要根据开发板的实际情况配置一些东西,当然默认的也能使用,点击设置进入
进入后如下图
在上图“Search parameter”搜索框下输入“Flash”进去 flash 配置界面,配置内容如下所示:
这几个参数默认即可,Flash size需要根据自己的板子来设置,我们打开ESP-IDF(不是vscode上的)在终端下敲命令并回车(命令:esptool.py flash_id),一定要以管理员身份运行,如下图
接下来搜索FreeRTOS,把滴答定时器的计数值调成1000,为了使用滴答定时器延时时能够准确,默认是100,如果不调的话 使用这个延时时不准确,vTaskDelay(1000);
6.点灯
大家可以参考一下我的目录结构
自己在工程文件夹里新建即可。\components\BSP\CMakeLists文件内容如下
点灯代码让AI写一个即可,这里就不分享了。
7.烧录
烧录出现以下即为超过,出现烧录不进去的可以看一下是不是没有装CH340的驱动,或者长按BOOT键等烧录成功再松开。
完成上述内容,诸位即是精通ESP32了