Andrey L
Member
Испробовал на себе инструкции с сайта espressif как настроить Linux и Eclipse для работы с ESP32.
Вначале попробовал всё выполнить под Debian, но он оказался капризным и не хотел настраиваться, как было написано в инструкции. После чего я перешёл на Ubuntu, где почти всё сразу сработывало.
Ubuntu и Eclipse уже установлены на компьютере, в этой статье мы займёмся их настройкой.
Toolchain
Будем следовать инструкциям с сайта espressif.com
Начинаем наши занятия колдовством:
Загружаем сам файл тулчана. (https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz версия для 64 битов)
После того, как загрузка закончится читаем новое заклинания:
Обновляем переменные системы
В конце файла ~/.profile (nano ~/.profile) добавляем новые строчки с новыми значениями системы:
Эти изменения вступят в силу после перезагрузки системы, а для проверки потом можно будет воспользоваться командой "printenv PATH".
ESP-IDF
Очередное заклинание:
Пакеты Python
Устанавливаем дополнительные пакеты Python:
Подсоединяем ESP32 к компьютеру
В терминале надо будет выполнить команду "ls /dev/tty*" два раза. В первый раз до того, как подключите ESP32 к USB-порту, и второй раз, когда ESP32 будет подключена к вашему компьютеру. После чего посмотрите чем отличаются выводы этой команды в обоих случаях. Скорее всего во втором случае будет дополнительная строчка: "/dev/ttyUSB0".
Если она не появится, попробуйте выполнить следующую команду:
Проект "Привет мир"
Копируем проект из собрания примеров:
Настройка проекта
Переходим внутрь папки с проектом и запускаем инструмент для настройки:
После чего должно открыться меню. Там вы идёте по следующим пунктам меню: "Serial flasher config" -> "Default serial port", после чего Вы выбираете пункт сохранить, подтверждаете и выходите из меню.
Прошивка
Зажимаем прищепкой кнопку "Boot" и в консоле вводим:
Мониторинг
Команда "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
Вначале попробовал всё выполнить под 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
После того, как загрузка закончится читаем новое заклинания:
Код:
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
ESP-IDF
Очередное заклинание:
Код:
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
Устанавливаем дополнительные пакеты Python:
Код:
python -m pip install --user -r $IDF_PATH/requirements.txt
В терминале надо будет выполнить команду "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
Прошивка
Зажимаем прищепкой кнопку "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