ESP-IDF — это официальная среда разработки чипа ESP32.
Подробные инструкции по настройке ESP-IDF см. в руководствах по настройке:
Помимо проекта esp-idf-template, упомянутого в руководстве по установке, ESP-IDF поставляется с несколькими примерами проектов в каталоге примеров.
Найдя проект, с которым хотите работать, перейдите в его каталог, и вы сможете его настроить и собрать.
make menuconfig
?
чтобы увидеть экран справки. Клавиша Enter позволяет выйти из экрана справки.Y
и N
для включения (Да) и отключения (Нет) элементов конфигурации с помощью флажков « [*]
»?
при выделении элемента конфигурации отображается справка об этом элементе./
для поиска элементов конфигурации.После завершения настройки нажмите Escape несколько раз, чтобы выйти, и скажите «Да», чтобы сохранить новую конфигурацию при появлении соответствующего запроса.
make all
... скомпилирует приложение, загрузчик и сгенерирует таблицу разделов на основе конфигурации.
Когда make all
завершено, он напечатает командную строку для использования esptool.py для прошивки чипа. Однако вы также можете сделать это из make, запустив:
make flash
Это перенесет весь проект (приложение, загрузчик и таблицу разделов) на новый чип. Параметры прошивки последовательного порта можно настроить с помощью make menuconfig
.
Вам не нужно запускать make all
перед запуском make flash
, make flash
автоматически пересоберет все, что в этом нуждается.
Цель make monitor
будет использовать уже установленный минитерм (часть pyserial) для отображения последовательного вывода от ESP32 на терминальной консоли.
Выйдите из минитерма, набрав Ctrl-].
Чтобы прошить и контролировать вывод за один проход, вы можете запустить:
make flash monitor
После первоначальной прошивки вы можете просто собрать и прошить только свое приложение, а не загрузчик и таблицу разделов:
make app
— создать только приложение.make app-flash
— прошить только приложение. make app-flash
автоматически пересоберет приложение, если оно ему понадобится.
(При обычной разработке нет никаких недостатков в перепрошивке загрузчика и таблицы разделов каждый раз, если они не изменились.)
ESP-IDF поддерживает параллельную компиляцию нескольких файлов, поэтому все приведенные выше команды можно запускать как make -jN
, где N
— количество параллельных процессов make, которые нужно запустить (обычно N должно быть равно количеству ядер ЦП или на одно больше). в вашей системе.)
Несколько функций make можно объединить в одну. Например: чтобы собрать приложение и загрузчик, используя 5 заданий параллельно, затем прошить все, а затем отобразить последовательный вывод запуска ESP32:
make -j5 flash monitor
После того как вы скомпилировали проект, каталог «build» будет содержать двоичный файл с именем типа «my_app.bin». Это двоичный файл образа ESP32, который можно загрузить с помощью загрузчика.
Одна флэш-память ESP32 может содержать несколько приложений, а также множество различных типов данных (данные калибровки, файловые системы, хранилище параметров и т. д.). По этой причине таблица разделов во флэш-памяти прошивается со смещением 0x4000.
Каждая запись в таблице разделов имеет имя (метку), тип (приложение, данные или что-то еще), подтип и смещение во флэш-памяти, где загружается раздел.
Самый простой способ использовать таблицу разделов — make menuconfig
и выбрать одну из простых предопределенных таблиц разделов:
В обоих случаях заводское приложение прошивается по смещению 0x10000. Если вы make partition_table
, он напечатает сводную информацию о таблице разделов.
Дополнительные сведения о таблицах разделов и о том, как создавать собственные варианты, см. в файле docs/partition-tables.rst
.
Цель make flash
не стирает все содержимое флэш-памяти. Однако иногда полезно вернуть устройство в полностью стертое состояние, особенно при внесении изменений в таблицу разделов или обновлениях приложений OTA. Чтобы стереть всю флэш-память, запустите make erase_flash
.
Это можно комбинировать с другими целями, т. е. make erase_flash flash
сотрет все, а затем повторно прошьет новое приложение, загрузчик и таблицу разделов.
Документация последней версии: http://esp-idf.readthedocs.io/. Эта документация собрана из каталога docs этого репозитория.
Форум esp32.com — это место, где можно задавать вопросы и находить ресурсы сообщества.
Если вы обнаружили ошибку или у вас есть запрос на добавление функции, проверьте раздел «Проблемы» на GitHub. Пожалуйста, проверьте существующие проблемы, прежде чем открывать новые.
Если вы хотите внести свой вклад в ESP-IDF, ознакомьтесь с Руководством по вкладам.