esp32开发笔记

Ubuntu下espidf开发环境配置 官方链接

第一步:安装准备

  • ubuntu

    sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
    

第二步:获取esp-idf

  • 克隆远程仓库至 ~/esp目录
    mkdir -p ~/esp
    cd ~/esp
    git clone -b v4.3 --recursive https://github.com/espressif/esp-idf.git
    

第三步:设置工具

  • 除了 ESP-IDF 本身,您还需要安装 ESP-IDF 使用的各种工具,比如编译器、调试器、Python 包等。

    cd ~/esp/esp-idf
    ./install.sh
    

    ESP-DIF 实例工程结构

    乐鑫espidf开发入门
    pdf资源

    ESP-IDF 示例工程结构

  • CMakeList.txt: 根目录的 CMakeList 描述了项目的构建行为,每个component中的CMakeList描述了组件的构建行为,例如指定编译哪些 .c 文件,包含哪些 .h 文件.

  • sdkconfig: 保存了项目宏定义,在使用 menuconfig 时自动生成.

  • components:用户组件目录,可自定义组件,也可对IDF_PATH 下的同名组件进行覆盖.

  • main: “伪组件”,与 components 中的组件遵循相同的编译规则,其中的app_main函数为默认的执行入口.

  • build:编译时自动保存的文件,无需修改

myProject/
│── CMakeLists.txt
│── sdkconfig
│── components/
│   ├── component1/
│   │   ├── CMakeLists.txt
│   │   ├── Kconfig
│   │   ├── src1.c
│   ├── component2/
│   │   ├── CMakeLists.txt
│   │   ├── Kconfig
│   │   ├── src1.c
│   │   ├── include/
│   │   │   ├── component2.h
│── main/
│   ├── CMakeLists.txt
│   ├── src1.c
│   ├── src2.c
│── build/

idf.py 常用指令

  • idf.py help: 将输出指令列表和使用说明。
  • idf.py set-target <target>: 设置编译目标,<target> 请替换为 esp32s3 等。
  • idf.py menuconfig: 运行 menuconfig 终端图像化配置工具,可以选择修改配置选项,配置结果将保存在 sdkconfig 文件。
  • idf.py build: 开始编译代码,编译产生的中间文件和最终的可执行程序,将默认保存在项目 build 目录。编译过程是增量式的,如果仅对一个源文件进行修改,下次编译时只重新编译该文件。
  • idf.py fullclean: 删除整个 build 目录下的内容,包括所有 CMake 的配置输出文件。下次构建项目时,CMake 会从头开始配置项目。请注意,该命令会递归删除构建目录下的所有文件,请谨慎使用。
  • idf.py flash: 将 build 生成的可执行程序二进制文件烧录进目标 ESP32-C3 设备中。
    -p <port_name>-b <baud_rate> 选项可分别设置串口的设备名和烧录时的波特率,如果不指定将自动搜索串口,并使用默认波特率。
  • idf.py monitor: 用于显示目标 ESP32-C3 设备的串口输出。同样 -p 选项可用于设置主机端串口的设备名,串口打印期间,可按 Ctrl+] 退出监视器。