Embedded device laboratories

Разработка электронных модулей для встраиваемых систем и SDK к ним.

Сборка и прошивка Wi-Fi модуля ESP32-WROVER-B в интегрированной среде разработки Eclipse

При разработке устройств интернета вещей, бывает необходимо использовать не API, предоставляемое изготовителем Wi-Fi модуля ESP32-WROVER, а самостоятельно разработанную, уникальную прошивку с учётом многочисленных пожеланий заказчика. Для создания такой прошивки удобно использовать широкоизвестную интегрированную среду разработки Eclipse. Однако, интеграция ее с модулем ESP32-WROVER очень часто вызывает трудности, особенно у начинающих разработчиков.

  1. Импорт проекта
    • Скопировать папку с примером проекта в каталог «C:\msys32\home\<Имя пользователя>\esp»
    • Выполнить «File -> Import…»
    • В открывшемся диалоговом окне выбрать «C/C++ -> Existing Code as Makefile Project» и щёлкнуть «Next»
    • На следующей странице в графе «Existing Code Location» выберете директорию импортированного проекта, где находится Make-файл проекта (Makefile). Обычно это корневая директория для импортированного проекта;
    • На этой же странице в разделе «Toolchain for Indexer Settings» выберете «Cross GCC» и щёлкните «Finish»
  2. Настройка свойств проекта
    • В «Project Explorer» щелкните правой клавишей мыши по проекту и в появившемся контекстном меню выберете раздел «Properties»
    • Выберете раздел «C/C++ Build -> Environment». Кликните «ADD» и введите название переменной «BATCH_BUILD» присвоив ей значение «1».
    • Кликните «ADD» и введите значение переменной «IDF_PATH» указав в ней путь, куда был установлен ESP-IDF. Обычно, путь выглядит так: «C:\msys32\home\<Имя пользователя>\esp\espidf». Для этого удобно использовать Windows explorer»​.
    • В этом же разделе отредактируйте переменную «PATH» кликнув «EDIT» и добавив в появившемся окне значение «C:\msys32\mingw32\bin;C:\msys32\opt\xtensa-esp32-elf\bin;C:\msys32\usr\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» и измените свойство «Compiler command pattern» на значение «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»
  3. Сборка в Eclipse
    • Перейти в каталог с проектом и выполнить первоначальные настройки с помощью программы «menuconfig», вызываемой командой «make menuconfig»
    • Выполнить команду «make»
    • В «Project Explorer» щелкните правой клавишей мыши по проекту и в появившемся контекстном меню нажмите «Build Project»
  4. Прошивка целевого устройства через Eclipse
    • В «Project Explorer» щелкните правой клавишей мыши по проекту и в появившемся контекстном меню нажмите «Build Targets -> Create»
    • Отредактируйте «Target name» вписав в него значение «flash»
    • Нажмите кнопку «Ok»
    • Для прошивки целевого устройства выполните «Build Target -> flash»