Как скомпилировать ядро Arduino-ESP32 с помощью ESP_LOGx

Почему? В Arduino IDE вы можете установить уровень отладки ядра, однако это устанавливает уровень отладки только для файлов в Arduino-esp32, но ядро, которое распространяется в виде предварительно скомпилированной библиотеки в файлах .sdk, расположенных в вашей папке установки Arduinio, не затрагивается. уровень отладки остается по умолчанию «ошибка».

, 👍1


1 ответ


1

Что? Если вы хотите изменить основной код или уровень отладки, вам необходимо клонировать репозиторий: https://github.com /espressif/esp32-arduino-lib-builder, внесите туда изменения, скомпилируйте и примените изменения (автоматически скриптом сборки).

Как? Есть 2 основных подхода. Оба они требуют редактирования файла esp32-arduino-lib-builder/configs/defconfig.common.

Первый вариант — отредактировать файл напрямую, а затем построить. Позже вы можете git restore configs/defconfig.common вернуться назад.

Второй вариант — скопировать файл cp configs/defconfig.common configs/defconfig.debug, отредактировать отладочную версию и затем скомпилировать.

Откройте файл defconfig vim configs/defconfig.common или vim configs/defconfig.debug

Измените строку 45, содержащую по умолчанию CONFIG_LOG_DEFAULT_LEVEL_ERROR=y, на одну из следующих строк в зависимости от желаемого уровня журнала:

CONFIG_LOG_DEFAULT_LEVEL_NONE=y # No output
CONFIG_LOG_DEFAULT_LEVEL_ERROR=y # Errors - default
CONFIG_LOG_DEFAULT_LEVEL_WARN=y # Warnings
CONFIG_LOG_DEFAULT_LEVEL_INFO=y # Info
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y # Debug
CONFIG_LOG_DEFAULT_LEVEL_VERBOSE=y # Verbose - All of the above

Затем просто создайте библиотеки для всех SoC или для одной конкретной SoC. Обратите внимание, что сборка для всех SoC занимает много времени, поэтому, если вы работаете только с одной конкретной SoC, стройте только для нее. Если вы скопировали файл defconfig и настройки отладки находятся в файле configs/defconfig.debug, добавьте флаг debug пример: ./build.sh отладка Соберите все SoC: ./build.sh Собрать только выбранный SoC: ./build.sh -t <soc> Точный текст для выбора SoC:

  • esp32
  • esp32s2
  • esp32c3
  • esp32s3 Пример: ./build.sh -t esp32 Неправильный формат или отсутствие SoC приведет к ошибке sed: не удается прочитать sdkconfig: нет такого файла или каталога
,