Перейти к содержанию

Отладка и диагностика

Начинайте отладку SF32 со сбора журналов через последовательный интерфейс. В зависимости от чипа, версии SDK и конфигурации проекта могут быть доступны инструменты дампов сбоев, трассировка и оболочка RT-Thread; используйте только процедуры, описанные для выбранной платформы.

Первичные проверки

Соберите через консоль последовательного интерфейса:

  • журнал загрузки;
  • вывод приложения;
  • вывод оболочки RT-Thread, если она включена в конфигурации проекта;
  • сообщения об ошибках;
  • сведения о загрузке прошивки и поведении при сбросе.

Сохраняйте журналы вместе с ревизией платы, веткой SDK, командами сборки и прошивки, а также настройками последовательного интерфейса.

Последовательность отладки

  1. Воспроизведите проблему на той же прошивке.
  2. Проверьте, повторяется ли она после сброса.
  3. Проверьте, повторяется ли она после полной повторной прошивки.
  4. Проверьте, воспроизводится ли она на наиболее подходящем примере SDK.
  5. Возвращайте изменения продукта по одному и проверяйте результат.

Так проще не смешивать проблемы аппаратуры, поддержки платы, промежуточного ПО и приложения.

Полезные инструменты

Таблица: Полезные инструменты
Инструмент Назначение
sftool Консольная утилита для чтения, записи и стирания флеш-памяти, а также сброса поддерживаемых чипов; доступные параметры зависят от чипа и памяти.
SiFli_Trace Сбор и просмотр журналов платы с использованием процедуры, поддерживаемой целевой платформой.
UsartServer Вспомогательное средство, необходимое для документированной отладки через UART с использованием встроенного Debug IP на SF32LB52X и SF32LB56X; не считайте, что это применимо ко всем платформам.
AssertDump и средства дампов сбоев Используйте только при наличии поддержки для данного чипа и версии SDK; следуйте соответствующей документированной процедуре сбора и анализа.
Оболочка RT-Thread Проверка состояния во время выполнения и команды доступны только при включении оболочки в конфигурации проекта.

Что проверить в первую очередь

Таблица: Что проверить в первую очередь
Симптом Первые проверки
Hard fault или assert Размер стека, нулевые указатели, буферы DMA, обслуживание кэша.
Периферийное устройство не отвечает Мультиплексирование выводов, тактирование, линия питания, имя платы, включение драйвера.
Нестабильная работа Bluetooth Тактирование RF, тракт антенны, настройки стека Bluetooth, параметры соединения.
Искажения изображения Тайминги панели, формат буфера, синхронизация кэша и DMA.
Случайный сброс Сторожевой таймер, линия питания, просадка напряжения, переполнение стека.

Что включить в отчёт о сбое

При описании сбоя укажите:

  • Плату и её ревизию.
  • Вариант микросхемы.
  • Ветку или коммит SDK.
  • Точный пример или проект.
  • Команду сборки и имя платы.
  • Команду прошивки.
  • Журнал загрузки через последовательный интерфейс, начиная со сброса.
  • Дамп сбоя или вывод assert.
  • Воспроизводится ли проблема на неизменённом примере SDK.

Последнее обновление: