esp32系列(2):工程结构学习,从新建工程到烧写程序

ESP32开发入门:环境搭建与GPIO实践
本文详细介绍了如何使用ESP-IDF在VScode环境下搭建ESP32的开发环境,从创建工程、理解工程结构到GPIO的使用,包括输入输出及ADC、DAC的示例。同时,讲解了idf.py命令行工具的常用操作,如构建、清理、烧录和监控程序。通过实例展示了ESP32的基础操作和项目构建流程。

ESP32学习记录:

  1. esp32系列(1):Hello world, 初识esp32
    搭建VScode下的esp32开发环境,hello esp32。
  2. esp32系列(2):工程结构学习,从新建工程到烧写程序
    熟悉工程的文件结构,各文件的含义,编译流程。以及VScode的具体操作。
  3. esp32系列(3):GPIO学习(以简单GPIO输入输出、ADC、DAC为例)
    学习ESP32 GPIO与外设的几种输入输出方式,通过两个简单的例子学习简单GPIO与RTC GPIO输入输出的代码实现。

1 基本概念

1.1 ESP-IDF 项目相关基本概念

一个 ESP-IDF 项目可以看作是多个不同组件的集合。

  • 项目:特指一个目录,其中包含了构建可执行应用程序所需的全部文件和配置,以及其他支持型文件,例如分区表、数据/文件系统分区和引导程序。
  • 项目配置:保存在项目根目录下名为 sdkconfig 的文件中,可以通过 idf.py menuconfig 进行修改,且一个项目只能包含一个项目配置。
  • 应用程序:是由 ESP-IDF 构建得到的可执行文件。一个项目通常会构建两个应用程序:项目应用程序(可执行的主文件,即用户自定义的固件)和引导程序(启动并初始化项目应用程序)。
  • 组件:是模块化且独立的代码,会被编译成静态库(.a 文件)并链接到应用程序。部分组件由 ESP-IDF 官方提供,其他组件则来源于其它开源项目。
  • 目标:特指运行构建后应用程序的硬件设备。ESP-IDF 当前仅支持 esp32 和 esp32s2 以及 esp32c3 这三个硬件目标。
    注意:
  • ESP-IDF 并不是项目的一部分,它独立于项目,通过 IDF_PATH 环境变量(保存 esp-idf 目录的路径)链接到项目,从而将 IDF 框架与项目分离。
  • 交叉编译工具链并不是项目的组成部分,它应该被安装在系统 PATH 环境变量中。

1.2 其他相关概念

  • Ninja: 构建工具
    Ninja 是一个专注于速度的小型构建系统。它将文件的相互依赖关系(通常是源代码和输出可执行文件)作为输入,并快速编排构建它们。一般在Unix/Linux上的程序通过make/makefile来构建编译,而Ninja通过将编译任务并行组织,大大提高了构建速度。

2 怎么构建一个项目?

2.1 idf.py 命令行工具

提供了一个前端,可以帮助管理项目的构建过程,它管理了以下工具:

  • CMake,配置待构建的项目
  • Ninja 或 GNU Make,命令行构建工具
  • esptool.py,烧录目标硬件设备

在之前的hello world学习中,已经使用idf.py完成了hello world的编译与测试。

可以使用idf.py --help查看帮助文档。这里要注意使用安装ESP-IDF之后的工具ESP-IDF 4.4 CMDESP-IDF 4.4 Powershell打开的控制台才有用,因为这两个工具打开的时候会设置好CMD的环境变量。
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChipWeaver

觉得有用的话点个赞吧 :)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值