Найти в Дзене
narod stream

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

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

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

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

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

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

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

-2

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

-3

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

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

-4
-5
-6
-7

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

-8
-9

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

-10

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

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

-11

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

-12

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

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

-13

Запускаем

-14

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

-15
-16

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

-17
-18

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

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

-19
-20
-21

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

-22

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

-23

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

-24

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

-25

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

-26

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

-27

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

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

-28

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

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

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

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

-29

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

-30

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

-31
-32

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

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

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

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

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

-33

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

-34

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

-35

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

-36

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

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

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

<<Предыдущий урок Следующий урок>>

Оригинал статьи находится здесь.

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

Видео в RuTube

Программирование МК ESP32. Урок 2. Настраиваем toolchain

Видео в Дзен

Видео в Youtube