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 实例工程结构
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+] 退出监视器。