1.安装编译工具链ESP-IDF
三种安装方式:
- 官方在线安装包(不推荐,因默认在桌面创建安装路径,个人不喜欢,应该可以手动设置,但懒得花时间深究)。
- 官方离线安装包(推荐)。
- 使用
VSCode
安装(不推荐,基于中国的网络环境,因网络无响应安装失败概率99%或更高🤬,用这种方式最后大概率你会骂骂咧咧的找别的安装方式)。
2.安装ESP-IDF
插件
在VSCode
里面搜索ESP-IDF
插件并安装,安装完成后点击插件图标,需要初始化设置,选择本地安装好的ESP-IDF
即可,不用在重新下载安装了。
3.新建项目
新建项目文件夹HelloWorld(可自定义)
并创建文件CMakeLists.txt
添加内容:
# The following lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(HelloWorld)
此处的CMakeLists.txt
为项目文件,project(HelloWorld)
指定了项目名称。
建议参考安装好的ESP-IDF目录下的示例项目,可能版本不同,内容会有所变动。
4.源码
在项目文件夹下 新建源码文件夹main(可自定义)
并创建文件CMakeLists.txt
添加内容:
idf_component_register(SRCS "Main.c"
INCLUDE_DIRS "")
此处的CMakeLists.txt
为源码组织结构配置文件,编译器会根据该配置查找并链接源码文件,其中的Main.c(可以自定义)
即为新建的源码文件。
5.主函数
在Main.c
中添加主函数
#include <stdio.h>
void app_main()
{
printf("Hello World!\n");
}
PS:为啥是void app_main()
而不是void main()
🤨,可能芯片内部或者编译后的bin会生成void main()
吧,设计者 暴露出void app_main()
是为了我们更加方便开发应用业务。
6.设置目标芯片
VSCode
按F1
输入device
,从结果列表中选择ESP-IDF:Device Configuration
image
设置芯片之后,
IDF
插件会自动在 项目文件夹HelloWorld
下生成sdkconfig
文件,该文件即为目标芯片相关的API
接口和一些其他配置。
7.编译、下载、监视程序运行情况
点击VSCode
左下角相应的菜单即可执行 编译、下载、监视运行等,鼠标移动到按钮上可显示菜单功能,如果VSCode
左下角没有显示这一排菜单,点击左侧IDF
插件图标即可。
image
温馨提示:在切换芯片之后记得点击 清理 菜单(上面垃圾桶图标),否则可能会编译失败。
8.干掉#include
波浪线提示
点击黄色小灯泡,点击编辑"includePath"设置
image
在
高级设置--浏览:路径
下添加:
${workspaceFolder}
D:/VSCode/Cache/esp-idf/components
D:/VSCode/Cache/.espressif
其中第1行为项目源码路径,第2,3行为ESP-IDF
安装路径,注意使用左斜线
然后点击下面的勾选
image
回到源码波浪线处,点击小灯泡,点击
添加到***
即可修复。image
9.注意
- 源码文件夹名称字母必须小写,否则编译可能会出现找不到***的错误
- 建议参考安装好的ESP-IDF目录下的示例项目,可能版本不同,CMakeLists.txt 内容会有所变动
- 修正错误后仍然编译失败,可尝试点击 清理 菜单(上面垃圾桶图标),然后再执行编译