Как включить статистику FreeRTOS в ESP32-Arduino?

Для активации функций vTaskGetRunTimeStats и vTaskList, необходимых для анализа производительности FreeRTOS на ESP32, требуется пересборка библиотеки arduino-esp32. Проблема заключается в том, что стандартные сборки не включают эту возможность, а инструкции по самостоятельной сборке часто устарели или отсутствуют.
Как включить статистику FreeRTOS в ESP32-Arduino?
Изображение носит иллюстративный характер

Процесс включает ручную загрузку и фиксацию версий ESP-IDF, ядра Arduino и других компонентов, используемых в PlatformIO. Для этого необходимо клонировать репозиторий esp32-arduino-lib-builder, закомментировать автоматическое обновление компонентов и вручную загрузить каждую библиотеку, используя соответствующие хеши коммитов, полученные из version.txt PlatformIO.

После фиксации версий необходимо отредактировать файл defconfig.esp32 (или аналогичный для других моделей ESP32), добавив строку CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y. Далее запускается сборка библиотеки командой ./build.sh -t esp32. После успешной сборки необходимо скопировать каталог out/tools/sdk на место исходной библиотеки PlatformIO.

Для проверки корректной сборки можно использовать код, который вызывает функции vTaskGetRunTimeStats и vTaskList. Он выводит в консоль информацию о загрузке CPU каждой задачей и список активных задач, что подтверждает работоспособность пересобранной библиотеки.


Новое на сайте

19817В Луксоре нашли стелу с римским императором в образе фараона 19816Экипаж Artemis II о моменте, когда земля исчезла за луной 19815Почему луна выглядит по-разному в разных точках земли? 19814Adobe экстренно закрыла опасную дыру в Acrobat Reader, которую хакеры использовали с... 19813Метеорный поток, рождённый из умирающего астероида 19812Когда робот пишет за тебя прощальную смс 19811Что общего у лунной миссии, толстого попугая, загадочной плащаницы и лекарства от диабета? 19810Какие снимки Artemis II уже стали иконами лунной программы? 19809Кто на самом деле хочет сладкого — вы или ваши бактерии? 19808Как рекламные данные 500 миллионов телефонов оказались в руках спецслужб? 19807Экипаж Artemis II вернулся на землю после десяти дней в космосе 19806Зелёная и коричневая луна: почему геологи Artemis II уже не могут усидеть на месте 19805Эксперты уверены в теплозащитном щите Artemis II, несмотря на проблемы предшественника 19804Выжить внутри торнадо: каково это — когда тебя засасывает в воронку 19803Аляскинские косатки-охотники на млекопитающих замечены у берегов Сиэтла
Ссылка