Embedded device laboratories

Разрабатываем программное обеспечение для Wi-Fi чипов и модулей ESP32 по требованиям заказчика

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

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

  1. В среде Eclipse выберите «Run -> Debug Configuration»
  2. В открывшемся окне двойным щелчком выберете «GDB Hardware Debugging» для создания новой конфигурации отладки
  3. В появившейся новой конфигурации в поле «Project» введите имя проекта. Оно необязательно, но желательно, должно совпадать с именем самого отлаживаемого проекта.
  4. В поле «Name» введите имя конфигурации. Оно не обязательно, но желательно, должно иметь вид «<Имя отлаживаемого проекта> Default»
  5. В этом же окне в разделе «C/C++ Application:» нажмите кнопку «Browse» и выберите elf-файл проекта. Этот файл появляется после успешной компиляции проекта. Для первичной настройки проект может состоять из одной main-функции.
  6. В разделе «Build configuration» выберете режим «Select automatically» и «Disable auto build»
  7. В этом же окне, перейдите на следующую вкладку «Debugger» и в поле «GDB Command» введите значение «xtensa-esp32-elf-gdb»
  8. В разделе «Remote target» в поле «Port number» введите значение «3333»
  9. В этом же окне, перейдите на следующую вкладку «Startup» и в разделе «Initialization Commands» введите следующие значения:

«

mon reset halt

flushregs

set remote hardware-watchpoint-limit 2

»

  1. В разделе «Load Image and Symbols» снимите галочку с «Load image»
  2. Перейдите к разделу «Run Commands» установите галочку на свойство «Resume» и «Set break point at:»
  3. В свойстве «Set break point at:» введите значение «app_main»
  4. Последовательно нажмите кнопки «Apply» и «Debug»