ESP32 Урок 2. Настраиваем toolchain и пишем свою прошивку в Espressif IDE

 

 

 

В прошлом занятии мы немного познакомились с линейкой микроконтроллеров ESP32. Теперь пришло время попробовать себя в написании ПО для него.

Писать прошивки так же, как и в случае с ESP8266, можно несколькими способами. Можно это делать в IDE Arduino, установив необходимый пакет библиотек. Также можно скачать тулчейн с официального сайта или ещё с какого-то ресурса и там будут 2 способа. Либо собирать ПО с командной строки, либо делать это в IDE. В качестве IDE может выступать также несколько вариантов — Code Vision, Eclipse и т.д. Мы будем пользоваться средой Eclipse IDE, так как мы мало того к ней уже как-то привыкли, а ещё меня подтолкнуло к данному шагу то, что она некоторое время шла в комплекте с тулчейном. Правда, сейчас почему-то не поставляется и нужно устанавливать отдельно и подключать плагин. Постараемся с этим разобраться. А не поставляется видимо потому, что теперь с тулчейном идёт своя среда — Espressif IDE. Скорее всего это тот же Eclipse только как-то модифицированный. Обязательно его испробуем.

Чтобы получить тулчейн, идём на официальный сайт Espressif и открываем страницу для закачки, вернее страницу с документацией о том, как собирать прошивки и отлаживать их для ESP32 вот по этой ссылке. Заодно здесь можно посмотреть, как именно работать с ESP32.

Ниже жмём вот на эту ссылку

 

 

 

Попадаем на другую страницу, где рассказано, как устанавливать тулчейн.

Переходим там по этой ссылке

 

 

Скачиваем вот этот пакет

 

 

Можно, конечно, воспользоваться и онлайн-инсталлятором, но у меня в случае офлайн получалось всегда лучше.

Запускаем инсталлятор и начинаем установку

 

 

 

 

 

Оставляем все галки установленными и идём далее

 

 

 

Начнётся установка

 

 

Установка завершена.

Оставляем галки и жмём Finish

 

 

Запустятся два окна с командными строками

 

 

Дожидаемся окончания процессов сборки в окнах и закрываем их.

Попробуем запустить Espressif IDE, найдя на рабочем столе вот этот ярлык

 

 

Запускаем

 

 

Выбираем каталог для рабочей среды

 

 

 

Откроем дерево проектов

 

 

Прежде чем настроить под себя редактор, давайте попробуем добавить какой-нибудь проект. Скопируем каталог с примером проекта hello_world, находящемуся по пути C:\Espressif\frameworks\esp-idf-v4.4\examples\get-started, в каталог, который мы выбрали для рабочей среды.

 

 

Подключим данный проект в нашу среду

 

 

 

Попробуем данный проект собрать для начала

 

 

Начнётся первоначальная сборка компонентов

 

 

Затем непосредственно сборка проекта

 

 

Сборка завершена

 

 

Это была предварительная сборка. Можно, конечно, данную сборку уже прошить, но тогда конфигурация проекта останется в состоянии «по умолчанию». А если мы хотим сконфигурировать проект по-своему, а это так и делается, мы хорошо помним это из сборки пакетов из командной строки под Linux, то после сборки запускаем конфигурацию с помощью двойного клика вот по этому файлу дерева проектов

 

 

Запустится вот такой вот удобный конфигуратор в виде дерева

 

 

Многие помнят, как конфигурируются проекты с командной строки, поэтому для них это будет очень удобный конфигуратор.

В данном проекте мы только изменим размер флеш-памяти

 

 

Закроем вкладку с конфигуратором по крестику, согласившись с его сохранением и ещё раз пересоберём проект таким же образом, как мы его собирали первоначально.

Теперь у нас есть файл прошивки.

Но прежде чем его прошить, нужно настроить лаунчер (Launcher).

Перед этим не забываем подключить плату к компьютеру

 

 

Здесь, уже, в принципе всё настроено

 

 

А здесь останется выбрать правильную цель (Launch target) и выбрать в ней правильный порт

 

 

Возможно, придётся заново пересобрать проект, это в принципе не сложно, либо заранее до конфигурации настроить лаунчер, чтобы не пересобирать несколько раз.

Пока проект собирается, посмотрим содержимое файла hello_world_main.c, вернее содержимое функции точи входа

 

 

Здесь мы видим, что идёт вывод различного рода информации в терминальную программу посредством использования функции printf, что очень удобно. Удобно ещё и то, что её использование никак не надо настраивать, всё это уже есть. затем через 10 циклов, длящихся по 1 секунде даётся команда на перезагрузку контроллера.

Если в исходном коде после настройки лаунчера мы увидим подчёркнутые строки, то это лечится либо перезапуском среды, либо закрытием и открытием заново проекта.

Попробуем прошить контроллер. Делается это нажатием вот на эту кнопку

 

 

Если всё нормально, то прошивка должна залиться в контроллер.

 

 

Запустим и настроим терминальную программу (хотя можно и в IDE настроить встроенный терминал, но мы пока пойдём проверенным путём

 

 

Соединимся с портом и увидим следующую картину

 

 

Отлично! Всё работает как надо!

Итак, на данном уроке нам удалось установить среду программирования для написания и запуска ПО для контроллеров линейки ESP32, а также удалось испытать данную среду на деле, то есть сконфигурировать и собрать проект, а затем залить файл прошивки в контроллер и запустить его.

Всем спасибо за внимание!

 

Данная статья в Дзен.

 

Предыдущий урок Программирование МК ESP32 Следующий урок

 

 

Недорогие отладочные платы ESP32 можно купить здесь: Недорогие отладочные платы ESP32

 

 

Смотреть ВИДЕОУРОК в YouTube(нажмите на картинку)

ESP32 Настраиваем toolchain и пишем свою прошивку в IDE Eclipse

 

Смотреть ВИДЕОУРОК в Дзен(нажмите на картинку)

ESP32 Настраиваем toolchain и пишем свою прошивку в IDE Eclipse

4 комментария на “ESP32 Урок 2. Настраиваем toolchain и пишем свою прошивку в Espressif IDE
  1. Виктор:

    Я не совсем понял чем вы поключали плату. что это за переходник?

  2. Друг:

    Всем привет, хотел бы дополнить абзац про прошивку для тех, кто впервые слышит про ESP32. Контроллеру нужно сообщить, что мы собираемся его шить, путем нажатия и удержания кнопки «boot». В противном случае, в IDE будет висеть строка: «Connecting…….._____…..»

    • Игорь:

      Контроллер переводится в режим загрузки, а так же перезагружается аппаратно микросхемой конвертера USB-UART выводами RTS и DTR. Делается это без участия пользователя. Если у вас так неработает, проверьте непропай на плате. Схемы на эту плату есть, проверьте тестером, а лучше осциллографом.

    • megger380:

      Такая же фигня…

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*