【ESP-IDF入门教程】:从零开始学习——工程目录解析
系列文章目录
【文章导航】基于 ESP-IDF 框架的 ESP32 零基础入门系列教程
文章目录
前言
使用 ESP-IDF 框架开发 ESP32 应用程序时,需要按照一定规则创建工程目录,才能正常编译代码。
1. 最简工程目录
进入 ESP-IDF 源码路径下的 examples\get-started\sample_project
文件夹,可以看到有如下内容:
ESP-IDF V4.0 及之后版本,就已经默认使用 CMake 作为构建系统,sample_project
文件夹里看到的 Makefile 文件是 ESP-IDF V4.0 以前使用 GNU Make 作为构建系统时编译程序用的,现在我们用的是 ESP-IDF V4.4 版本,因此默认使用 CMake 作为构建系统编译程序,就无需关注这个 Makefile 文件了。
所以,一个最简单的工程目录结构就如下所示:
├── CMakeLists.txt
├── main
├── CMakeLists.txt
└── main.c
CMakeLists.txt
是 CMake 的编译脚本文件,用于设置编译相关选项;应用程序写在主函数 main.c
里即可。
2. 如何搭建自己的工程目录
sample_project
是官方提供的工程目录模板,以 led 工程为例创建工程目录,具体步骤如下:
1. 复制 sample_project
文件夹,重命名为 led_project
2. 设置 bin 文件名称
打开 led_project
路径下的 CMakeLists.txt
文件,可以看到有如下内容:
# For more information about build system see
# https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html
# The following five 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(main)
其中 project()
里填写的名称,就会是最终编程生成的 bin 文件的名称,假设我们要生成 led_project.bin
,则修改为 project(led_project)
即可。
3. 编写应用程序
打开 led_project/main
路径下的 mian.c
文件,可以看到如下内容:
#include <stdio.h>
void app_main(void)
{
}
这里就是基于 ESP-IDF 开发的应用程序入口,我们写的应用程序代码,在 void app_main(void)
函数中调用就行。
小结
这节内容主要讲了工程目录的主要组成部分,下一节就来讲解应用程序如何进行编译。