【ESP-IDF入门教程】:从零开始学习——工程目录解析

系列文章目录

【文章导航】基于 ESP-IDF 框架的 ESP32 零基础入门系列教程


文章目录

  • 系列文章目录
  • 前言
  • 1. 最简工程目录
  • 2. 如何搭建自己的工程目录
  • 小结

  • 前言

    使用 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) 函数中调用就行。

    小结

    这节内容主要讲了工程目录的主要组成部分,下一节就来讲解应用程序如何进行编译。

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【ESP-IDF入门教程】:从零开始学习——工程目录解析

    发表评论