本博文内容导读📕🎉🔥
1、ESP32系统的集成开发环境
2、ESP32官方开发环境、ESP-IDF的安装和运行
3、Visual Studio Code、Arduino、MicroPython开发环境在ESP32开发板上的开发方法、 MicroPython开发工具。
开发ESP32程序的软、硬件资源,ESP32开发板、USB数据线(A转Micro-B)、PC(Windows、Linux或Mac OS)
ESP-IDF目前已服务支持数以亿计的物联网设备,并已开发构建多种物联网产品,
例如:照明、消费电子大小家电、支付终端、工控等各类物联网设备。
具有如下特点:
•免费开源: ESP-IDF相关资源已在GitHub上免费开放。用户可在Apache2.0许可下以源代码形式获取ESP-IDF大多数组件,或通过兼容许可证获取第三方组件。
•专业稳定: ESP-IDF具有清晰、严格的发布流程和支持策略,确保用户选择使用稳定 的发布版本,并可持续获得适用于其应用的重要修复程序。每个稳定的发布版本均经过严格的测试流程,以确保版本稳定,客户可快速实现量产。
•功能重构: ESP-IDF集成了大量的软件组件,包括RTOS、外设驱动程序、网络栈、多种协议实现技术以及常见应用程序的使用助手。它提供了典型应用程序所需的大部分构建块,用户在开发应用时只需专注于业务逻辑即可。ESP-IDF不仅具有免费开源的开发工具,还支持Eclipse和VS Code等IDE,确保其易于开发人员使用。
•资源丰富: ESP-IDF 提供详尽的软件组件使用和设计文档,有助于开发人员充分理解ESP-IDF功能,并从中挑选最适合构建其应用程序的模块。ESP-IDF包含100 多个示例,详细说明了其组件及硬件外设的功能和用法。它们经过了严格的测试和维护,是用户开启应用开发的有效参考。
ESP-IDF开发环境的系统功能:
包括了底层硬件支撑、外设驱动、WiFi、蓝牙、TCP/IP、各类库文件、安全机制、工程示例以及第三方支持等。
ESP-IDF需要安装一些必备工具,才能围绕ESP32构建固件,包括Python、Git、交叉编译器、CMake和Ninja编译工具等。
https://dl.espressif.cn/dl/esp-idf/?idf=4.4
https://docs.espressif.com/projects/esp-idf/zh_CN/stable/esp32/get-started/index.html
运行Hello world
在开发之前,通过micro-USB接口将ESP32开发板接入计算机,Windows系统开始识别硬件。
一般情况下,当ESP32开发板与PC连接时,对应驱动程序已经被打包在操作系统中,可以自动安装。
右击Windows系统桌面上的“此电脑”,依次单击“属性”、“设备管理器”、“端口(COM和LPT)”。Silicon Labs CP210x USB to UART Bridge(COM3),即为ESP32开发板所在的端口。
如果不能正确识别ESP32开发板硬件,就会在PC端口出现带有感叹号的设备,这就需手动安装驱动程序。
首先,在乐鑫官方网站下载对应开发板的驱动程序,其次,在计算机上安装,重启即可。
通过命令行运行
通过Eclipse集成开发环境运行
ESP-IDF构建系统
1.基本概念
•项目:特指一个目录,其中包含了构建可执行应用程序所需的全部文件和配置,以及其他支持型文件,例如,分区表、数据/文件系统分区和引导程序。
•项目配置:保存在项目根目录下名为sdkconfig的文件中,可以通过idf.py menuconfig进行修改,且一个项目只能包含一个项目配置。
•应用程序:是由ESP-IDF构建得到的可执行文件。一个项目通常会构建两个应用程序:项目应用程序(可执行的主文件,即用户自定义的固件)和引导程序(启动并初始化项目应用程序)。
•组件:是模块化且独立的代码,会被编译成静态库(.a文件)并链接到应用程序。部分组件由ESP-IDF官方提供,其他组件则来源于相关开源项目。
•目标:特指运行构建后应用程序的硬件设备。ESP-IDF当前仅支持ESP32这一个硬件目标。 请注意,以下内容并不属于项目的组成部分:
•ESP-IDF并不是项目的一部分,它独立于项目,通过IDF_PATH环境变量(保存esp-idf目录的路径)链接到项目,从而将IDF框架与项目分离。
•交叉编译工具链并不是项目的组成部分,它应该安装在系统PATH环境变量中。
2.项目示例
一个ESP-IDF项目可以看作是多个不同组件的集合,ESP-IDF可以显式地指定和配置每个组件。在构建项目时,构建系统会前往ESP-IDF目录、项目目录和用户自定义目录(可选)中查找所有组件,允许用户通过文本菜单系统配置ESP-IDF项目中用到的每个组件。在所有组件配置结束后构建系统开始编译整个项目。
3.项目CMakeLists文件
每个项目都有一个顶层CMakeLists.txt文件,包含整个项目的构建设置。默认情况下,项目CMakeLists文件会非常小。
4.组件CMakeLists文件
每个项目都包含一个或多个组件,这些组件可以是ESP-IDF的一部分,也可以是项目自身组件目录的一部分,从自定义组件目录添加。组件是COMPONENT_DIRS列表中包含CMakeLists.txt文件的任何目录。
5.组件配置
每个组件都可以包含一个Kconfig文件,和CMakeLists.txt放在同一目录下。Kconfig文件中包含要添加到该组件配置菜单中的一些配置设置信息。运行menuconfig时,可以在 Component Settings 菜单栏下找到这些设置。
创建一个组件的Kconfig文件,最简单的方法就是使用ESP-IDF中现有的Kconfig文件作为模板,在此基础上进行修改。
6.使用idf.py命令构建系统
• idf.py命令行工具提供一个前端,可以轻松管理项目的构建过程,管理工具如下: