В интернете вы можете найти 1001 статью про разработку программ для микроконтроллеров ESP8266EX. Большинство из них рассчитаны на Arduino разработчиков. По некоторым причинам, кого-то (и меня в том числе) не устраивает разработка в среде Arduino ввиду отсутствия необходимой гибкости. И только очень небольшой процент гайдов рассчитан на разработку с помощью официального SDK от Exressif в IDE Eclipse. В данной статье речь пойдет о программировании ESP8266 под управлением операционной системы Windows, с помощью кросскомпилятора GCC и RTOS SDK, которые изначально были созданы для Linux разработчиков. В качестве IDE мы будем использовать Visual Studio 2019+ и VisualGDB 6+.
Для начала нужно скачать и установить инструментарий.
Настроенный toolchain esp8266-gcc8.4.0.exe в папку C:\SysGCC его можно скачать отсюда https://gnutoolchains.com/esp8266/ или из нашего файлового архива
Microsoft Visual Studio 2019 любой редакции. Есть бесплатная Community Edition версия https://visualstudio.microsoft.com/ru/vs/community/ .
Расширение VisualGDB-6.0r3 оно платное (99$), но есть 30-дневная Trial версия на сайте https://visualgdb.com/?features=embedded или ищите «студенческую версию» в торрентах.
Все это можно установить в любой последовательности. Перезагрузка не потребуется.
Создадим первую прошивку.
Запускаем Visual Studio и клацаем на «Создание проекта»
Ищем Мастер проектов ESP8266 и нажимаем Далее.
Обзываем проект и помещаем куда нравится. Нажимаем Далее.
Выскакивает такая штучка. Все оставляем как на картинке
Затем перемещаемся по диалогам создания проекта
Тут все оставляем, Next
Тут нужно указать COM порт, к которому подключен USB-UART переходник для записи Flash и скорость вывода в терминал (ее можно оставить по-умолчанию 74880 бод)
Проект будет на основе примера. Выберем Hello, World
В заключительном диалоге выберите Debug using Bootloader + GDB Stub
Модуль будет подгружен из интернета, т. к. изначально он не установлен.
Чтобы иметь возможность загружать прошивку прямо из IDE, установите конфигурацию решения Debug (при Release придется прошивать как-то самому, не из IDE).
Собрать прошивку «Сборка → Собрать решение»
Теперь прошьем Flash устройства прямо из IDE. Но сначала нужно кое-что настроить.
Идите в Проект → VisualGDB Project Properties
И здесь нужно явно указать COM порт для выгрузки прошивки. Жмите Apply, Ok
Далее, в обозревателе решений будут какое-то время применять новые настройки проекта, надо подождать когда пропадет бегунок
Эти настройки делаются при каждом создании нового проекта. Но один раз.
Допустим, бегунок пропал. Пробуем шить.
Сначала выскочит сообщение
типа кода GDB Stub в прошивке нет, и отлаживать не получится, только зашиться получится. Хотите научиться отлаживать через GDB stub? Нам сейчас надо только зашиться, поэтому жмем «нет».
Потом выскочит вот что
Это напоминание. Сейчас введите устройство в режим bootloader. Это значит, что надо GPIO0 замкнуть на GND, сделать Reset. Устройство так переходит в boot. Сделайте это, если еще не сделали.
Если все правильно подключено, то пойдет запись
После чего нужно обязательно перестать замыкать GPIO0 на GND и сделать перезапуск устройства. Контроллер после перезапуска будет в обычном рабочем режиме.
Для вывода текстовой информации по UART'у вы можете использовать printf, а терминал вывода уже встроен в IDE. Показать его можно так
Перед последующей прошивкой необходимо терминал разъединить, иначе COM порт будет занят и устройство не прошьется
Это, собственно, туториал по преодолению довольно большого порога вхождения в разработку под Windows. Как мне известно, много разработчиков сталкиваются с проблемами настройки среды разработки, окружения. А производитель чипов Espressif даже предоставляет разработчикам образ виртуальной машины с Linux и предустановленными инструментами. Информация по установке и настройке SDK может быть непонятной для начинающих.
Проделав действия из этой статьи вы настроите среду разработки без головной боли. А встроенных в SDK примеров вполне хватит, чтобы реализовать 80% возможностей камня.
Обсудить статью в Telegram'e >> клик
Подписаться на Telegram канал, чтобы получать оповещения о новых выпусках >> клик