目录

1.开发环境搭建

        1.1 下载安装 ESP-IDF的软件开发包SDK

1.2增加环境变量

  1.3 SDK示例

 1.4.esp32前端工具的使用命令

1.5下载安装vscode和ESP-IDF插件

2.工程创建

2.1 VSCODE创建工程

2.2 项目配置

2.2.1 cpu频率

2.2.2 flash

2.2.3 psram

2.2.4 freertos

2.2.5 partition

2.2.6 向项目里添加文件(组件)操作(建议使用vscode插件创建)

2.2.7 添加官方组件

2.2.8 删除项目里面的组件

1. 直接删除组件文件夹

2. 删除代码里的引用

3. 清理编译缓存(必须做!)

4. 重新编译

3.拓展功能

3.1 加快项目编译速度

3.2 下载程序说明

3.3 ESP-IDF软件开发包说明


1.开发环境搭建

        前提条件:安装了git和python10-python13之间的版本。

        1.1 下载安装 ESP-IDF的软件开发包SDK

       离线安装包:

https://dl.espressif.cn/dl/esp-idf/https://dl.espressif.cn/dl/esp-idf/

安装时需要注意:应用修复

安装需要不少时间。

1.2增加环境变量

  1.3 SDK示例

        安装完成之后,在相应的安装目录会有从github仓库克隆的程序示例,就跟常规的单片机的sdk一样,有外设例程,如图所示:

        以上的example文件夹里面的例子,可以在配置vscode后,复制需要的例程到其他空目录(注意目录必须是英文),直接用vscode打开编译即可。

 1.4.esp32前端工具的使用命令

安装前端工具以后可以使用图示命令,使用示例

#打开powershell,进入一个英文目录(必须是英文路径不然可能出错)
idf.py create-project test
cd test
idf.py set-target esp32s3    #设定目标芯片
idf.py build    #编译代码
idf.py clean   #清除编译结果

1.5下载安装vscode和ESP-IDF插件

https://code.visualstudio.com/https://code.visualstudio.com/在vscode安装插件 esp-idf

1.6 配置ESP-IDF插件

用vscode打开一个空文件夹,就会出现配置项目

配置完成后,在vscode最下面集成了IDF工具:

从左到右列表分别是:

  • SDK版本
  • 选择flash烧录方法
  • 选择com口
  • 选择目标芯片(类似于:idf.py set-target esp32s3)
  • SDK配置编辑器(配置flash,时钟频率等,idf.py menuconfig)
  • 清除编译目标(类似于:idf.py fullclean)
  • 编译项目
  • 下载到flash
  • idf.py monitor(打开串口日志工具,它会触发一次重启(自动复位),不想重启用:idf.py monitor --no-reset 退出按:Ctrl + ])
  • 调试项目
  • 编译和打开串口日志工具

2.工程创建

2.1 VSCODE创建工程

        用vscode打开一个空文件夹,就会出现配置项目,配置后可以直接在vscode创建新工程。

或者执行  ctrl+shift+p   搜索 new project,也可以创建新项目。

注意:需要等一会才能创建好新工程,vscode右下角有进度条可以展示进度。

建议复制工程文件夹: D:\Espressif\frameworks\esp-idf-v5.5.4\tools\templates\sample_project 到

D:\Espressif\frameworks\esp-idf-v5.5.4\examples\get-started 目录里面,这样就可以在新建工程时方便选择 get-started 以 sample_project (也可以不复制,在ESP-IDF Templates 里面也有这个工程)这个工程为基础。如果需要使用蓝牙或者wifi什么的也可以相应的工程模版。

2.2 项目配置

2.2.1 cpu频率

2.2.2 flash

2.2.3 psram

2.2.4 freertos

2.2.5 partition

先设置分区为16MB

设置详细分区表

        实际这个就是个csv文件,只不过他以ui的形式表现出来,以后新建工程直接打开这个csv复制这段内容即可。

# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,0x6000,
phy_init,data,phy,0xf000,0x1000,
factory,app,factory,0x10000,0x1f0000,
vfs,data,fat,0x200000,0xa00000,
storage,data,spiffs,0xc00000,0x400000,

注意:只能有一个factory的app扇区(启动地址可以随便定),如果要ota升级需要用到两个扇区必须这么写:
 

名称类型子类型地址大小
nvsdatanvs0x90000x4000
otadatadataota0xd0000x2000
ota_0appota_00x100000x180000
ota_1appota_10x1900000x180000

ota_0和ota_1大小必须相等,otadata 必须有且为 0x2000 字节。

2.2.6 向项目里添加文件(组件)操作(建议使用vscode插件创建)

举例增加disp组件(增加disp.h和disp.c)使用命令:

mkdir components#可能不需要这个,在创建组件的时候会自动创建,如果没有自动创建则需要创建,并把组件目录整体移动到这个文件夹
idf.py create-component disp

注意:ESP-IDF 不认识根目录的组件,只认 components 文件夹里的!

这样会自动在项目里面添加组件目录,可以直接在main.c文件中调用:

也可以使用vscode插件创建:

注意:编译前需要先执行 idf.py fullclean 命令。

2.2.7 添加官方组件

在vscode 快捷键(ctrl+shift+P)搜索:ESP-IDF Show ESP component Registry

点击第一个展示组件:

例如:添加 esp-modbus组件

点击这个组件,进入后右上角点击安装 install

添加成功后,项目文件夹会有一下文件:

ESP32的组件地址:

https://components.espressif.com/https://components.espressif.com/        ESP32的官方组件地址在这里,可以打开进去浏览,一般组件页面里面都有该组件的使用说明,但是是英文的,可以利用浏览器的翻译方便查看,如图所示:

2.2.8 删除项目里面的组件

删除组件 标准步骤


1. 直接删除组件文件夹


比如你要删 LED 组件:

项目/components/LED/   → 直接整个文件夹删掉
2. 删除代码里的引用


所有用到它的地方都删掉:

// 删掉
#include "LED.h"

// 删掉调用
func();
led_init();
3. 清理编译缓存(必须做!)
idf.py fullclean
4. 重新编译
idf.py build

3.拓展功能

3.1 加快项目编译速度


在执行编译前打开多线程编译:

# 临时生效(当前终端)
$env:CMAKE_BUILD_PARALLEL_LEVEL = 12

# 永久生效(以后所有终端都自动用12线程)
#[Environment]::SetEnvironmentVariable("CMAKE_BUILD_PARALLEL_LEVEL", "12", "User")

idf.py build

3.2 下载程序说明

执行下载到底下载了那些文件:

  • bootloader.bin                        boot文件
  • partition-table.bin                   分区表文件
  • sample_project.bin                项目文件

3.3 ESP-IDF软件开发包说明

  • ESP-IDF = FreeRTOS + 硬件驱动 + 网络协议栈 + 工具链
  • 你写的 app_main() 本质上就是 FreeRTOS 的一个任务
  • 系统底层:WiFi、蓝牙、以太网、日志、USB 等,全都是跑在 FreeRTOS 任务里的
  • 你写的所有代码,默认都运行在 FreeRTOS 调度下

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐