VSCode + ESP-IDF 项目搭建及配置

ops/2024/10/21 18:34:07/

一、安装ESP-IDF

1、乐鑫官网下载安装 ESP-IDF

        终端提示 “idf.py build” 安装成功。

2、配置环境变量

        此电脑——>属性——>高级系统设置——>环境变量


二、安装 VSCode

1、VS Code 官网下载安装 VS Code

        内容忽略,过程全部打勾

2、插件下载

        安装插件:Chinese、Espressif IDF


三、VS Code 配置 ESP-IDF

1、图示流程

        配置完成。

2、修改基本参数

添加个性化设置(可不设置):

        打开设置 json 文件添加以下代码

{
/* 上面的部分是我自己创建的一些设置 */
"editor.insertSpaces": false, /* 自动插入空格禁用*/
editor.detectIndentation": false, /* 启用时根据文件内容进行重写*/
"editor.renderControlCharacters": true, /* 是否显示控制字符:启用*/
"editor.renderWhitespace": "all", /* 显示 4 个空格是.... */
"editor.tabSize": 4, /* tab 设置为 4 个空格*/
"editor.fontSize": 18, /* 代码字体大小*/
"editor.fontFamily": "Monaco, 'Courier New', monospace", /* 代码字体*/
"update.mode": "manual", /* 设置不自动更新*/
}

四、ESP-IDF 新建工程

1、新建工程

2、工程文件解析

        .devcontainer 文件夹通常与 VS Code 的 Remote - Containers 扩展一起使用,用于定义开发容器环境的配置。这个文件夹包含了用于创建和管理容器化开发环境的所有必需文件。

        .vscode 文件夹通常位于项目的根目录下,用于存放 VS Code 的项目级设置和扩展配置。

        

        顶层 CMakeLists.txt 文件是 CMake 用于学习如何构建项目的主要文件,可以在这个文件中设置项目全局的 CMake 变量。每个项目都有一个顶层 CMakeLists.txt 文件,包含整个项目的构建设置。

CMakeLists.txt:# 必须放在 CMakeLists.txt 文件的第一行,
# 它会告诉 CMake 构建该项目所需要的最小版本号。ESP-IDF 支持 CMake 3.16 或更高的版本
cmake_minimum_required(VERSION 3.16)# 导入 CMake 的其余功能来完成配置项目、检索组件等任务
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
# 会创建项目本身,并指定项目名称
project(name_1)

        main 目录包含两个文件,main.c 定义了程序入口函数 app_main(),CMakeLists.txt 文件将组件添加到构建系统中

        “sdkconfig” 项目配置文件,执行 idf.py menuconfig 时会创建或更新此文件,文件中保

存了项目中所有组件(包括 ESP-IDF 本身)的配置信息。 sdkconfig 文件可能会也可能不会被添加到项目的源码管理系统中。

3、编译上传工程文件

 

        直接点击这个:


五、工程配置

ESP32s3N16R8工程配置(对应具体使用的开发板配置)

        打开上图工程配置菜单

        搜索“Flash”,配置flash资源

        搜索“Partition Table”设置分区表

        搜索“PSRAM”设置 PSRAM 参数

        搜索“CPU frequency”设置 CPU 时钟频率

        搜索“FreeRTOS”配置系统节拍时钟(tick clock)的频率

        开命令面板,输入“打开分区表编辑器”,配置各分区管理大小。


        内容参考《DNESP32S3使用指南-IDF版.pdf》


http://www.ppmy.cn/ops/45530.html

相关文章

【乐吾乐3D可视化组态编辑器】数据

在属性 - 数据面板中,您可以对操作对象设置数据,我们又称它为动态数据。动态数据主要有以下几个作用: 业务字段扩展。您可以使用动态数据来存储一些业务字段,例如设备名称、编号、规格等等数据。控制对象属性。当动态数据为操作对…

【排序算法】冒泡排序

一、定义: 冒泡排序(Bubble Sort)是一种简单直观的排序算法。重复走访过要排序的元素列,相邻的元素依次比较将无序的一组数据变成有序(升序或者降序)。走访元素的工作是重复地进行,一直到没有相…

lynis安全漏洞扫描工具

Lynis是一款Unix系统的安全审计以及加固工具,能够进行深层次的安全扫描,其目的是检测潜在的时间并对未来的系统加固提供建议。这款软件会扫描一般系统信息,脆弱软件包以及潜在的错误配置。 安装 方式1 git下载使用git clone https://github…

【C++】【VScode】常用快捷键

在Visual Studio Code (VSCode) 中,有几个快捷键可以帮助你更高效地编写C代码,特别是与代码提示、自动完成等功能相关的快捷键。这些功能大多数依赖于安装和配置好的C/C扩展(通常是由Microsoft提供的)。以下是几个有助于代码提示和…

OpenCV引入QT编译

OpenCV引入QT编译 为什么要引入QT编译编译方式 Reference: OpenCV 配置选项参考文档 网上实在找不到对应教程,在此做个记录。 为什么要引入QT编译 在没引入QT前,没有上述工具栏。 可以显示当前像素位置的像素值。 可以缩放查看每一个像素的大小。这对…

【Linux】Git超详细教程:手把手教你(gitee版)--版本管理+远程仓库克隆(初学者必看!!!)

目录 一、前言 二、git 的深度理解 🥝 什么是 git ? 🍇 git 的历史发展(理解 git 的由来) 🍋 感性理解 git 的版本管理 三、git 的安装 ✨Window 终端安装 ✨Linux 安装 四、git 的工作流程 五、如何在 Linux …

mysql中的IN和NOT IN

在MySQL中,IN 和 NOT IN 是用于进行集合比较的条件运算符。它们可以用于简化多个 OR 或 AND 条件的查询。这些运算符在查询语句中非常常见,用于检查某个值是否在指定的集合中。 IN 运算符用于检查某个值是否在指定的集合中。NOT IN 运算符用于检查某个值…

【Unity脚本】Unity中如何按类型查找游戏对象(GameObject)

【知识链】Unity -> 脚本系统 -> 访问游戏对象 -> 按类型访问游戏对象摘要:本文介绍了Unity中按类型查找游戏对象(GameObject)的五种方法,并提出了使用这些方法的最佳实践。 本文目录 一、访问游戏对象的方法二、如何按…