Pull to refresh
53
14.2
Пирогов Владислав @vladipirogov

Инженер по автоматизированным системам управления

Send message

ESP-IDF in CLion

Недавно вышла новость от JetBrains о том, что CLion становиться бесплатным для некоммерческой разработки, об этом уже писали на Хабре.

Ранее на Espressif dev portal blog вышел туториал, как настроить CLion для работы с ESP-IDF. Пост насыщен иллюстрациями и содержит пошаговое руководство.

CLion - среда разработки для языков программирования C и C++ с широким спектром функций и удобным пользовательским интерфейсом. Кто знаком с продуктами JetBrains, тому будет удобно работать в привычном окружении. Есть сторонний плагин ESP-IDF, он добавляет вкладку с меню задач IDF (build, flash, monitor и т.д.)

Преимущества CLion

  • Интеграция с CMake, Makefile, Gradle, Ninja.
    Поддержка не только CMake, но и других инструментов сборки через плагины.

  • Умный редактор кода.
    Автодополнение, подсказки, рефакторинг, переход к определению, реализациям и многое другое.

  • Отладка и профилирование.
    Встроенный графический отладчик (на базе GDB или LLDB) с возможностью просмотра переменных, стеков вызовов и точек останова. Также поддержка профилировщиков (Valgrind, CPU профилирование).

  • Кросс-платформенность.
    Работает на Windows, macOS и Linux.

  • Интеграция с системами контроля версий.
    Git, SVN, Mercurial — прямо из интерфейса IDE.

К недостаткам субъективно можно отнести следующее

  • Бесплатная IDE только для некоммерческой разработки

  • На старом "Железе" может медленно работать, по сравнению с VScode, особенно во время запуска приложения

  • На момент написания CLion версии 2025.1.1 занимает 5.1 Gb места на диске, VScode в моем случае занимает 408 Mb.

  • Нет официального плагина ESP-IDF.

В заключение поста автор выражает признательность, если это руководство будет использоваться для проектов ESP-IDF, а в случае проблем пользователи могут сообщить об этом в issue tracker.

Tags:
Total votes 1: ↑1 and ↓0+1
Comments2

Руководство по наименованию модулей Espressif

  • SoC (System-on-Chip) — это интегральная микросхема, объединяющая несколько функциональных блоков в одном компактном корпусе (QFN).

  • Модуль — это готовое решение в одном корпусе, включающее SoC и дополнительные компоненты, такие как кварцевый генератор, цепь согласования антенны, антенну и др. Эти компоненты нельзя разместить в самом SoC из-за ограниченного пространства.

SoC компании Espressif подразделяются на различные серии. На момент написания наиболее распространены следующие:

  • ESP32

  • ESP32-C2 / ESP32-C3 / ESP32-C5 / ESP32-C6 / ESP32-C61

  • ESP32-H2 / ESP32-H4

  • ESP32-P4

  • ESP32-S2 / ESP32-S3

Также можно встретить названия ESP8684 и ESP8685, которые принадлежат сериям ESP32-C2 и ESP32-C3 соответственно.

Первым комбинированным Wi-Fi/BLE модулем Espressif стал ESP32. Он до сих пор остается популярным, но приближается к завершению срока поддержки. Хотя этот SoC все еще пригоден для использования, для новых проектов лучше рассматривать более современные модели, если только не требуется специфический функционал, например, Ethernet + Wi-Fi в одном чипе или классический Bluetooth.

Основные серии новых SoC:

  • C — доступные по цене RISC-V ядра с широкими возможностями подключения.

  • S — высокопроизводительные SoC с расширенными функциями.

  • H — SoC с поддержкой BLE и 802.15.4, но без Wi-Fi.

  • P — высокопроизводительные микроконтроллеры не имеющие беспроводные интерфейсы, предназначенные для HMI (дисплеи, камеры) и обработки данных на периферии (Edge Processing).

Модули

Хотя SoC можно интегрировать в пользовательские печатные платы (PCB), модули зачастую предпочтительнее по следующим причинам:

  • Включают все необходимые компоненты (антенный фильтр, кварцевый резонатор и т. д.).

  • Обеспечивают оптимизированный дизайн RF-схемы для PCB антенны.

  • Могут содержать дополнительные микросхемы памяти (Flash, PSRAM).

  • Сертифицированы, что значительно снижает стоимость сертификации конечного продукта

Основные типы модулей Espressif:

  1. WROOM – стандартный форм-фактор, возможны конфигурации с дополнительной памятью.

  2. MINI – компактный модуль с меньшим объемом Flash (4MB или 8MB, в зависимости от серии SoC).

  3. WROVER – устаревший модуль для ESP32 и ESP32-S2, включающий 8MB PSRAM. В новых модулях WROOM теперь тоже поддерживается PSRAM, поэтому WROVER больше не используется.

Параметры памяти

SoC и модули могут включать различные типы памяти:

  • ROM – встроенная постоянная память (только для чтения), содержит загрузчик первой стадии.

  • RAM – основная оперативная память чипа (энергозависимая).

  • Flash – энергонезависимая память, хранит код, загрузчик второй стадии и данные. Может быть встроенной или внешней.

  • PSRAM – вспомогательная энергозависимая память, полезная для обработки графики и ресурсоемких задач.

В номерах моделей используются следующие обозначения памяти:

  • N – Flash-память стандартного температурного диапазона (-40/+85 °C).

  • H – Flash-память с расширенным температурным диапазоном (-40/+105 °C).

  • R – наличие PSRAM.

Примеры:

  • ESP32FN8 – SoC с 8MB Flash.

  • ESP32R2 – SoC с 2MB PSRAM.

  • ESP32-S3-WROOM-1-N

Tags:
Total votes 6: ↑6 and ↓0+7
Comments0

Information

Rating
244-th
Registered
Activity

Specialization

Embedded Software Engineer, Software Architect