vscode arduino esp32开发环境搭建

确定最新arduino-esp32版本号

ESP32组件仓库 https://components.espressif.com/components?q=arduino-esp32

 

 

目前最新版为3.0.5:https://components.espressif.com/components/espressif/arduino-esp32/versions/3.0.5

复制添加组件的命令后面要用

idf.py add-dependency "espressif/arduino-esp32^3.0.5"

 

确定对应的esp-idf sdk版本号

https://github.com/espressif/arduino-esp32/tags 找到3.05版本的标签

这里能确定3.0.5版本使用的是ESP-IDF v5.1.4 

一般他会支持指定范围的版本号,可以进入arduino-esp32 3.0.5仓库中看CMakeLists.txt的代码

https://github.com/espressif/arduino-esp32/blob/3.0.5/CMakeLists.txt

这里可以可以确定他支持的是 5.1.0~5.1.99

 

 

vscode安装ESP-IDF插件及下载对应版本的ESP-IDF sdk

插件安装完成后,他会让你安装esp-idf sdk,如果略过了 可以从图2位置位置进入, 选择对应的版本,这里选前面查看到的5.1.4,安装即可

注:插件支持安装多个不同的sdk版本,idf-tools在各版本间可以共用一个文件夹,esp-idf也可共用, sdk他会安装到子文件夹中且不可修改;

有好几个G,慢慢等….

如果出错就重来,重来再出错,就把刚才选择的两个文件夹删掉再重新来过.

 

 

 

 

新建工程,esp-idf原生c++开发模式,但能够高用arduino-esp32中的所有类库函数

选择arduino-as-component,从这个模板创建项目

 

.

 

进入新项目工作空间后.用下面状态栏的命令进入ESP-IDF终端

执行前面复制保留下来的那个添加arduino-esp32组件的命令idf.py add-dependency “espressif/arduino-esp32^3.0.5”

如果是后期添加组件,可能需要再执行重新配置组件命令:idf.py reconfigure

使用状态栏命令进行第一次构建(要下载100多MB的依赖项,有那么一点慢)

.

.

.

然后会出现这个错误,需要修改项目文件夹中的sdkconfig,找到CONFIG_FREERTOS_HZ修改为1000,重新构建

(如果不能重新构建先执行清除构建命令或者删除build文件夹,重新打开工作文件夹,再行构建)

 

 

 

.

到这里的时候就是编译了.环境已经没问题了.

 

(之后如果出现错误的构建环境问题, 都可以删掉build文件夹重新来过)

(删除build 没有解决不了的问题)

 

.

现在下来可以看源代码了,main.cpp中

#include "Arduino.h"

extern "C" void app_main()
{
    initArduino();
    pinMode(4, OUTPUT);
    digitalWrite(4, HIGH);
    // Do your own thing
}

这里面已经可以调用arduino-esp32的代码了,只不过是c/c++开发模式,没有setup,没有loop,你要自己while(){}

 

完全用arduino习惯开发

要修改一下sdk配置,以及找份setup,loop代码替换掉就行了

 

 

 

 

 

 

.

将arduino-esp32组件及依赖项保存起来,不用每新建个工程都重新下载

前面工程下载下来的组件是保存在项目根目录的managed_components文件夹中,

只要将该文件夹复制到其它位置,比如:d:/managed_components

 

 

 

在以后的工程中只需在CMakelists.txt添加一行代码(包含外部组件库)即可list(APPEND EXTRA_COMPONENT_DIRS “d:/managed_components”)

不用要执行这行命令了:idf.py add-dependency “espressif/arduino-esp32^3.0.5”

 

同时也可修改插件项目模板 CMakelists.txt文件,以后arduino-as-component模板新建工程时不需要重复修改了.

%USERPROFILE%\.vscode\extensions\espressif.esp-idf-extension-1.8.1\templates\arduino-as-component

 

 

 

但结果不如人意,理论上是不用再下载了, 但结果他还是下载了9个组件

不过构建速度确实快了不少, 不知道是这些组件有特殊配置,还是构建工具有bug

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注