AvrTracing
Трассировка выполнения программы в реальном времени для поиска места зависания на AVR-микроконтроллерах
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:d1db5777c070ffcb3c7991df7854ed6121e0c061c8499b6bfbd498c0a24d9079AvrTracing-1.1.0-d1db5777.zipОписание
Когда программа на Arduino зависает и не понятно где именно — вот здесь помогает эта микроскопичная библиотека (всего 344 байта). Она выводит в монитор адреса инструкций, которые выполняются в реальном времени, помогая найти место зависания. Трассировка запускается кнопкой на пине 2 или вызовом функций startTracing() и stopTracing(). Работает на ATmega процессорах вроде Arduino Uno, Nano и Leonardo. Важный побочный эффект: при включённой трассировке процессор замедляется в 16000 раз для однотактных инструкций (эффективно до 2-3 кHz), поэтому таймеры типа delayMicroseconds() ведут себя непредсказуемо. Функции с зависимостью от времени могут барахлить или вообще не работать. Прерывания не трассируются, но реальное время остаётся корректным.