ESP-IDF 中组织项目,下面我将详细介绍 ESP-IDF 项目的目录结构,并指导您如何设计项目,以便整合之前提供的代码。
目录
- ESP-IDF 项目目录结构概述
- 创建 ESP-IDF 项目
- 项目目录结构详解
- 3.1 根目录
- 3.2 main 目录
- 3.3 components 目录(可选)
- 配置文件详解
- 4.1 CMakeLists.txt 文件
- 4.2 Kconfig 文件
- 设计您的项目目录结构
- 5.1 组织代码文件
- 5.2 修改 CMakeLists.txt
- 完整项目示例
- 编译、烧录与调试
- 总结
1. ESP-IDF 项目目录结构概述
ESP-IDF 使用基于 CMake 的构建系统,项目的目录结构通常包括以下部分:
- 根目录:包含项目的总体配置文件,如
CMakeLists.txt
、sdkconfig
等。 - main 目录:包含主要的应用程序代码和相关配置。
- components 目录(可选):用于存放自定义组件,以模块化方式组织代码。
2. 创建 ESP-IDF 项目
您可以使用 ESP-IDF 提供的模板项目来创建新的项目。以下是创建项目的步骤:
-
复制模板项目
cp -r $IDF_PATH/examples/get-started/hello_world ~/esp/my_project cd ~/esp/my_project
-
或使用 ESP-IDF 提供的命令创建新项目
idf.py create-project my_project cd my_project
3. 项目目录结构详解
一个典型的 ESP-IDF 项目目录结构如下:
my_project/
├── CMakeLists.txt
├── sdkconfig
├── main/
│ ├── CMakeLists.txt
│ └── main.c
└── components/ (可选)
3.1 根目录
- CMakeLists.txt:项目的顶级 CMake 配置文件。
- sdkconfig:
menuconfig
配置生成的项目配置文件。
3.2 main 目录
- main.c:主应用程序代码。
- CMakeLists.txt:main 目录的 CMake 配置文件。
3.3 components 目录(可选)
- 用于存放自定义组件,以模块化方式组织代码。
4. 配置文件详解
4.1 CMakeLists.txt 文件
根目录的 CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(my_project)
main 目录的 CMakeLists.txt
idf_component_register(SRCS "main.c"
INCLUDE_DIRS "."
REQUIRES esp_wifi esp_event nvs_flash driver websockets mbedtls)
- SRCS:指定源文件列表。
- INCLUDE_DIRS:指定头文件目录。
- REQUIRES:指定项目依赖的组件。