开发环境#

开发环境需要确定 IDE 的操作系统,采用的编程语言,集成开发环境 IDE,以及 SDK。这主要取决于所采用的:

  • 编程语言

  • MCU 可使用的 IDE 环境

  • 官方的 SDK

  • IDE 对本实验箱的兼容性

  • IDE 的跨平台特性以及易用性

1 OS#

本手册实验项目基于 Ubuntu 24.04 操作系统进行编写,鉴于本项目所采用的 IDE 具备跨平台特性,亦可支持 Windows 及 macOS 操作系统。各平台间的差异仅体现在驱动程序版本与 Python 运行环境的配置上。

在实际应用中,跨平台项目、集成开发环境(IDE)及编程语言(如 Python)在不同操作系统间常存在兼容性差异。鉴于嵌入式开发、开源项目以及 GitHub 上的主流代码多基于 Linux 平台进行开发与测试,本文档及实验系统均以 Linux 环境为基准。虽然允许学生在个人电脑上使用 Windows 系统,但不予提倡,建议通过安装虚拟机的方式构建 Linux 开发环境。

2 开发语言#

本系统的两块 MCU 均支持开发语言与开发框架。

  • C

  • micropython

  • arduino

  • platformio

MicroPython 具有简单易学的特点,同时也是跨平台语言,在构建项目原型以及验证设计方法时有着方便快捷的特点,但由于以下两个原因,本手册不以这两种语言讲述,建议有兴趣的同学自行学习使用。

  • 运行速度和功耗不适宜生产环境。

  • 不能使用 OS,无法完全隔离硬件。

本手册在选着开发语言中兼顾如下两个因素:

  • 借助 Arduino 易于上手且开源生态丰富的特性,学生能够迅速掌握相关技能并高效完成原型开发。

  • 使用官方的 esp-idf sdk,尽量符合生产环境要求。

  • 因此,最后选择两种方式:

    • arduino

    • esp-idf

3 IDE#

本手册的实验箱涉及到两颗 MCU,因此 IDE 的选择应当兼顾到两块 MCU 的兼容性。IDE 有官方提供的 IDE,以及第三方 IDE。

3.1 官方 IDE#

对于 ESP32:

  • Eclipse + esp-idf plugin

  • VsCode + esp-idf plugin

对于 STM32L475

  • STM32CubeIDE

  • VsCode + STM32 Plugin

官方 IDE 的共同特点是支持比较丰富。但是其缺点是都基于 eclipse,Eclipse 的最大不足有两点:

  • 由于需要 Java 虚拟机,运行速度慢,对机器要求高

  • 代码补全功能差,编程不友好。

因此,本手册不采用官方提供的 Eclipse + esp-idf plugin。

3.2 第三方 IDE#

对于 ESP32:

  • vscode + platformio

对于 STM32L475:

  • vscode + platformio

  • keil

  • IAR

本项目希望两块 MCU 能够统一 IDE,因此,由于 keil,iar 均只用于 Windows,不予考虑。可见,vscode + platformio 是最统一的,且是开源的。

综上所述,本手册采用以下两种开发方式作为IDe

  1. vscode + platformio (同时可使用 arduino 和 官方的 esp-idf )

  2. VsCode + esp-idf plugin

4 SDK 以及 Tools#

ESP-IDF#

STM32L4CUBE#

待更新