环境搭建

[English]

乐鑫官方支持的开发环境有两类: ESP-IDFArduino IDE

ESP-IDF

  • ESP-IDF 是由乐鑫官方推出的开发框架,支持 Windows、Linux 和 macOS 操作系统。

  • 使用终端命令行进行开发,比如运行配置工具,编译,烧录,串口监视。

  • 如果开发者更习惯使用图形化的界面,乐鑫官方还提供 VSCode 和 Eclipse 的插件 可以在 IDE 的图形化界面 中进行开发。

Arduino IDE

  • Arduino IDE 是一个通用的集成开发环境。它针对 ESP 系列的芯片提供了一个专用的核心(core),该核心封装了 ESP-IDF 的 部分 功能。

  • 允许开发者使用 Arduino 更简单的 C++ 编程语言 对 ESP 系列芯片进行开发。

  • 不需要深入了解 IDF 的细节。让嵌入式编程 更加容易,尤其是对于 初学者

选择合适的开发环境

初学者和寻求简单快速开发的开发者:

  • Arduino IDE 是一个绝佳的选择。其简单易用的界面和基本功能可以轻松上手。

有一定编程经验的开发者:

  • Visual Studio Code 搭配 ESP-IDF 插件是一个不错的选择。这个组合提供了更友好的界面和自动化配置,使得复杂项目开发变得更加轻松。

熟悉 Eclipse IDE 的高级开发者或专业开发者:

  • Eclipse 的 ESP-IDF 插件将提供更多灵活性和强大的功能。

  • Espressif-IDE 提供便捷的 ESP 开发环境。

熟悉使用命令行和寻求更丰富功能的开发者:

  • ESP-IDF 命令行是很合适的选择。它是乐鑫官方提供的框架,具备最完善的功能,满足开发者复杂嵌入式方案的需求。

ESP-IDF 与乐鑫芯片

ESP-IDF-VERSION-SUPPORT

点击标题链接查看最新IDF版本支持信息

官方开发环境对比

Arduino IDE

适合人群:

  • 初学者、入门级开发者和追求简单快速开发的用户

优点:

  • 配置简单,搭建过程相对容易

  • 提供了直观的用户界面和简化的工作流程,使得编写和上传代码变得简单易用,方便快速原型开发。

  • 提供了大量的库和现成代码,这对于快速原型验证和简单的项目非常方便。

  • Arduino IDE 在多个操作系统上操作简单,包括 Windows、Mac 和 Linux。

  • Arduino IDE 有大量的文档,教程可供参考。遇到问题更方便解决。

缺点:

  • 高级功能有限,不能修改底层代码。在复杂的 ESP-IDF 项目中,使用原始的 ESP-IDF 开发工具链和命令行工具可能更为灵活。

  • 调试功能有限。在复杂的 ESP-IDF 项目中,需要其他的调试工具。

如何安装:

ESP-IDF 命令行

适合人群:

  • 高级开发者。有丰富嵌入式系统开发经验的开发人员,对嵌入式系统的概念、低级编程和硬件相关知识有一定了解。喜欢或对命令行开发环境感兴趣的开发人员。

优点:

  • 提供了基于命令行的开发环境,其中使用 CMD 或 PowerShell 进行开发,有更高的稳定性和灵活性。

  • 开发人员可以在命令行开发环境中使用脚本和命令行工具来批量构建、测试和部署应用程序,从而提高开发效率。

  • 命令行开发环境通常更加轻量级,对系统资源的消耗较低。这使得它在资源受限的嵌入式系统开发中更加适用。

  • 安装简单,官方提供 Windows 一键安装工具,轻松搭建环境。

缺点:

  • 命令行开发环境需要开发人员具备一定的命令行和脚本编程的知识。这对新手来说存在较高的学习曲线。

  • 缺少图形化界面,可能不如图形界面友好和直观。不方便进行直接的开发。

  • 需要在其他 IDE 中编辑代码。

如何安装:

Visual Studio Code Extension

适合人群:

  • 有一定嵌入式开发经验的开发人员,已经使用或倾向于使用 VSCode 作为主要开发环境的开发人员。

优点:

  • 将 ESP-IDF 框架与 VSCode 集成在一起,为开发人员提供了在同一界面下开发、构建和调试 ESP-IDF 项目的便利性。

  • 提供了简化配置的功能,开发人员可以通过插件中的设置界面轻松配置项目参数、编译选项和调试设置等。配置 ESP-IDF 环境和项目变得更加简单和直观。

  • VSCode 是一个相对轻量级的编辑器,启动速度快,并且对系统资源消耗相对较低。

缺点:

  • 对于不熟悉 VSCode 或插件开发的开发人员来说,可能需要额外的学习和适应。

  • 可能会受到插件本身更新和与新版本 ESP-IDF 兼容性的限制。开发人员可能需要关注插件的更新和相关文档。

  • 许多功能依赖插件。

如何安装:

Espressif-IDEEclipse Plugin

备注

Espressif-IDE 附带 IDF Eclipse Plugin、基本 Eclipse CDT 插件以及 Eclipse 平台的其他第三方插件,以支持构建 ESP-IDF 应用程序。

适合人群:

  • 高级开发者和专业开发者。有嵌入式系统开发经验并且已经使用或倾向于使用 Eclipse 的的开发人员。

优点:

  • 将 ESP-IDF 框架与 Eclipse 集成在一起,为开发人员提供了在同一界面下开发、构建和调试 ESP-IDF 项目的便利性。

  • 对复杂的大型项目支持更加出色。

  • Eclipse IDE 有庞大的插件生态系统,开发人员可以根据项目需求安装和使用其他有用的插件,提高开发效率。

  • 拥有强大的图形化调试功能。

缺点:

  • 相对于上述轻量级的开发环境或纯命令行环境,Eclipse IDE 本身可能会消耗较多的系统资源,尤其在较低性能的计算机上可能会感觉较慢。

  • Eclipse 在配置环境方面相对复杂,对新手不太友好。

  • Eclipse 有相当大的用户社区,但相对于其他环境来说较小。

如何安装:

备注

环境搭建问题可以参考 csdn 博客

选择合适的开发环境取决于你的经验水平、项目复杂性和个人偏好。初学者可以从 Arduino IDE 开始,然后逐渐转向带插件的VSCode环境。有经验的开发者可以直接使用 ESP-IDF 或在 Eclipse 中使用 ESP-IDF 插件进行更复杂的项目开发。

其他开发环境

  1. CLion

CLion 是一款由 JetBrains 公司开发的 IDE,专为 C 和 C++ 编程语言开发者设计。它提供了智能代码补全、语法高亮、代码导航、强大的重构功能和调试工具,以提高开发者的效率。CLion 还集成了版本控制系统,如 Git,使团队协作更加便捷。

  1. CircuitPython

CircuitPython 是一种面向初学者的开源 Python 语言版本,专为称为微控制器的小型高性价比计算机设计。微控制器是许多电子设备的核心,包括用于构建爱好项目和原型的各种开发板。CircuitPython 简化了在这些低成本微控制器开发板上进行实验和学习编程的过程,使初学者能够更轻松地上手。

  1. MicroPython

MicroPython 是一种基于 Python 的高度精简版解释器,专为嵌入式系统设计而成。它允许开发者使用熟悉的 Python 语言进行嵌入式开发,使得编程变得更加简单和高效。MicroPython 可以运行在多种硬件平台上,包括 ESP 系列的芯片。

  1. PlatformIO IDE

PlatformIO 是一个跨平台的开源生态系统,它支持多种硬件平台和开发板,并提供了一个统一的开发环境,允许开发者使用不同的硬件和开发板进行嵌入式开发。PlatformIO 集成了多个开发工具,包括编译器、调试器和上传工具。

  1. Toit

Toit 是一种现代的内存安全编程语言。它具有先进的编辑器集成,包括语法高亮、跳转定义和自动补全等功能。

  1. UIFlow

UIFlow 是一款所有人都能轻松上手的一款图形化编程 IDE, 支持无线/有线程序推送, 程序点击即可运行, 无需反复编译。其支持 100+ M5 硬件外设与传感器,支持一键添加拓展, 有效助力产品原型构建,加快开发过程到最终产品化。

  1. Wokwi

Wokwi 是一个在线 ESP32 模拟器,允许开发者在没有 ESP32 硬件的情况下模拟和评估一些 ESP32 软件项目,为 ESP32 微控制器的 IoT 项目原型设计提供更快的解决方案。

注意

此小节列出的平台不由乐鑫直接开发维护,如开发者在使用过程中遇到困难,请在对应社区和论坛来获取支持。

第三方参考资料

Arduino Windows

Arduino Ubuntu

VSCode

Eclipse