返回

ESP-IDF 笔记

目录

构建系统

项目结构

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
my_project/
├── CMakeLists.txt           项目整体的定义入口
├── Makefile                 用于调用 CMake 构建的简单包装
├── sdkconfig                通过 menuconfig 设置的构建选项
├── build/                   构建产物(自动生成)
├── main/
   ├── CMakeLists.txt       定义此目录下的构建目标(例如 main.c
   └── main.c               应用程序的入口点
   └── Kconfig.projbuild    项目专属定义
├── components/              自定义组件存放目录
   └── my_led_driver/
       ├── CMakeLists.txt   自定义组件的构建配置
       ├── my_led_driver.c
       ├── Kconfig          自定义组件定义
       └── include/
           └── my_led_driver.h

sdkconfig

  • 板子或芯片相关 芯片类型(ESP32/ESP32-S3 等)
  • 外设功能 启用 UART、SPI、I2C、Wi-Fi、BLE 等
  • FreeRTOS 配置 任务数、栈大小、Tick 周期等
  • 日志输出 LOG_LEVEL 的设置(DEBUG、INFO、WARN 等)
  • 各组件配置 例如是否使用 SPIFFS、Wi-Fi 的最大连接数等
  • 条件编译

Kconfig

用于生成自定义sdkconfig配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
menu "My LED Driver Configuration"

    config MY_LED_ENABLE
        bool "Enable LED driver"
        default y
    
    config MY_LED_GPIO
        int "GPIO number for LED"
        default 5
        depends on MY_LED_ENABLE
    
endmenu
Licensed under CC BY-NC-SA 4.0