• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Делюсь опытом Настройка Eclipse и Ubuntu для ESP32

Andrey L

Member
Испробовал на себе инструкции с сайта espressif как настроить Linux и Eclipse для работы с ESP32.

Вначале попробовал всё выполнить под Debian, но он оказался капризным и не хотел настраиваться, как было написано в инструкции. После чего я перешёл на Ubuntu, где почти всё сразу сработывало.

Ubuntu и Eclipse уже установлены на компьютере, в этой статье мы займёмся их настройкой.

Toolchain
Будем следовать инструкциям с сайта espressif.com

Начинаем наши занятия колдовством:

Код:
sudo apt-get update
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing
Загружаем сам файл тулчана. (https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz версия для 64 битов)

После того, как загрузка закончится читаем новое заклинания:

Код:
mkdir -p ~/esp
cd ~/esp
tar -xzf ~/Downloads/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz
Обновляем переменные системы
В конце файла ~/.profile (nano ~/.profile) добавляем новые строчки с новыми значениями системы:

Код:
export PATH="$HOME/esp/xtensa-esp32-elf/bin:$PATH"
export IDF_PATH=~/esp/esp-idf
Эти изменения вступят в силу после перезагрузки системы, а для проверки потом можно будет воспользоваться командой "printenv PATH".

ESP-IDF
Очередное заклинание:

Код:
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
Пакеты Python
Устанавливаем дополнительные пакеты Python:

Код:
python -m pip install --user -r $IDF_PATH/requirements.txt
Подсоединяем ESP32 к компьютеру
В терминале надо будет выполнить команду "ls /dev/tty*" два раза. В первый раз до того, как подключите ESP32 к USB-порту, и второй раз, когда ESP32 будет подключена к вашему компьютеру. После чего посмотрите чем отличаются выводы этой команды в обоих случаях. Скорее всего во втором случае будет дополнительная строчка: "/dev/ttyUSB0".

Если она не появится, попробуйте выполнить следующую команду:

Код:
sudo usermod -a -G dialout $USER
Проект "Привет мир"
Копируем проект из собрания примеров:

Код:
cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .
Настройка проекта
Переходим внутрь папки с проектом и запускаем инструмент для настройки:

Код:
cd ~/esp/hello_world
make menuconfig
После чего должно открыться меню. Там вы идёте по следующим пунктам меню: "Serial flasher config" -> "Default serial port", после чего Вы выбираете пункт сохранить, подтверждаете и выходите из меню.

Прошивка
Зажимаем прищепкой кнопку "Boot" и в консоле вводим:

Код:
make flash
Мониторинг
Команда "make monitor" отобразит данные с модуля. Чтобы выйти из этого режима нажмите Ctr+5.

Настройка Eclipse
Вначале воспользуемся магией esp-idf. Через консоль зайдите в папку с проектом, а там запустите "make menuconfig". (Не забудьте сохранить перед выходом.)

Импорт нового проекта
Теперь запускаем eclipse и импортируем новый проект (уже существующий).

В eclipse идём по следущим пунктам меню: "File" -> "Import..."

В новом окне выбираем "С/С++" -> "Existing Code as Makefile Project" и нажимаем на кнопку "Next >".

Пользуемся кнопкой "Browse..." и выбираем папку с проектом. Ниже в списке тулчанов выбираем "Cross GCC". После чего нажимаем на кнопку "Finish".

Настройка проекта
В окне со списком проектов выбираем наш проект, кликаем по нему правой клавишей мышки, выбираем "Properties".

Теперь навигируем по следующим пунктам меню: "C/C++ Build" -> "Environment".

Нажимаем на кнопку "Add...". В новом окне заполняем оба поля данными "BATCH_BUILD" и "1". После чего жмём на кнопку "OK".

Вновь нажимаем на кнопку "Add...". Новая переменная будет "IDF_PATH", а значение папка, где находится "esp-idf", должно будет что-то на подобии "/home/{user name}/esp/esp-idf". (Можете в консоле ОС ввести "printenv IDF_PATH".) И жмём на кнопку "OK".

Проверьте переменную "PATH", там в том числе и должен быть прописан путь до папки "xtensa-esp32-elf/bin".

По пунктам меню переходим в "C/C++ General" -> "Preprocessor Include Paths". Там выбираем закладку "Providers".

В списке выбираем "CDT Cross GCC Built-in Compiler Settings", и меняем команду ("Command to get compiler specs") на <<xtensa-esp32-elf-gcc ${FLAGS} -std=c++11 -E -P -v -dD "${INPUTS}">>.

Потом в списке кликаем по "CDT GCC Build Output Parser" и там меняем команду на "xtensa-esp32-elf-(gcc|g\+\+|c\+\+|cc|cpp|clang)".

После вновь переходим по следующим пунктам меню "C/C++ General" -> "Indexer". Там ставим галочку у "Enable project specific settings", а после убираем галочку с "Allow heuristic resolution of includes".

И под конец кликаем по пункту меню "C/C++ Build". Там выбираем таб "Behavior". Тут ставим галочку у "Enable parallel build".

Сохраняем нажимая на кнопку "Apply and Close".

Сборка в Eclipse
Напоминаю, что до этого в папке с проектом должна быть запущена команда "make menuconfig".

В меню Eclipse идём по следующему путю: "Project" -> "Build All" (или нажимаем на кнопки "Ctrl+B").

Примечание:

Если до этого проект был где-то в другом месте собран, то надо его "очистить". ("Project" -> "Clean...")

После этого файлы переподключатся и многие ошибки должны пропасть.

Прошивка в Eclipse
В окне с проектами кликаем правой клавишей мышки по нашему проекту. Там идём по пунктам меню "Build Targets" -> "Create...".

В новом окне в поле "Target name:" вводим "flash". И нажимаем на кнопку "OK".

Теперь можно прошивать. В окне с проектами кликаем правой клавишей мышки по нашему проекту и идём по менюшкам "Build Targets" -> "Build..." (Или жмите на клавиши Shift+F9). В новом окне жмите на кнопку "Build", а так же не забудьте зажать кнопку "Boot" на ESP32.

Ссылки
espressif.com Начало работы с ESP32

espressif.com - настройка Eclipse

альтернативная настройка от Kolban
 

nikolz

Well-known member
прищепка лишняя
надо удерживая boot нажать ресет. после этого boot можно отпустить.
суть данного колдовства в том
что после нажатия ресет ESP по состоянию boot переходит в соответствующий режим.
После этого состояние boot может быть любым.
 

Andrey L

Member
Создание нового проекта
Описание сделано по видео Колбана.

1. В терминале заходим в папку, где будет создан новый проект.
2. Клонируем из git "пустой" проект:
Код:
git clone https://github.com/espressif/esp-idf-template.git project_name
(будет создана папка "project_name" и туда будут скопированны файлы)
3. Переходим внутрь новой папки
Код:
cd project_name
4. И запускаем магию от espressif
Код:
make menuconfig
После чего запускаем Eclipse и настраиваем новый проект.
 

gr1047

New member
Всё что написано - заработало с первого раза.
А вот с эклипсом никак совладать не выходит. Как у него настроить пути для инклюдов? И вообще возможно ли? У меня Eclipse Neon.
 

Andrey L

Member
Всё что написано - заработало с первого раза.
А вот с эклипсом никак совладать не выходит. Как у него настроить пути для инклюдов? И вообще возможно ли? У меня Eclipse Neon.
Посмотрите моё сообщение, я там все пути настраивал. Если не поможет, попробуйте пройтись по ссылкам, откуда я брал материал.

Сейчас я всё повторить не могу, поскольку у меня больше нет того компьютера.
 
Сверху Снизу