Отладка и диагностика¶
Начинайте отладку SF32 со сбора журналов через последовательный интерфейс. В зависимости от чипа, версии SDK и конфигурации проекта могут быть доступны инструменты дампов сбоев, трассировка и оболочка RT-Thread; используйте только процедуры, описанные для выбранной платформы.
Первичные проверки¶
Соберите через консоль последовательного интерфейса:
- журнал загрузки;
- вывод приложения;
- вывод оболочки RT-Thread, если она включена в конфигурации проекта;
- сообщения об ошибках;
- сведения о загрузке прошивки и поведении при сбросе.
Сохраняйте журналы вместе с ревизией платы, веткой SDK, командами сборки и прошивки, а также настройками последовательного интерфейса.
Последовательность отладки¶
- Воспроизведите проблему на той же прошивке.
- Проверьте, повторяется ли она после сброса.
- Проверьте, повторяется ли она после полной повторной прошивки.
- Проверьте, воспроизводится ли она на наиболее подходящем примере SDK.
- Возвращайте изменения продукта по одному и проверяйте результат.
Так проще не смешивать проблемы аппаратуры, поддержки платы, промежуточного ПО и приложения.
Полезные инструменты¶
Таблица: Полезные инструменты
| Инструмент | Назначение |
|---|---|
sftool |
Консольная утилита для чтения, записи и стирания флеш-памяти, а также сброса поддерживаемых чипов; доступные параметры зависят от чипа и памяти. |
SiFli_Trace |
Сбор и просмотр журналов платы с использованием процедуры, поддерживаемой целевой платформой. |
UsartServer |
Вспомогательное средство, необходимое для документированной отладки через UART с использованием встроенного Debug IP на SF32LB52X и SF32LB56X; не считайте, что это применимо ко всем платформам. |
AssertDump и средства дампов сбоев |
Используйте только при наличии поддержки для данного чипа и версии SDK; следуйте соответствующей документированной процедуре сбора и анализа. |
| Оболочка RT-Thread | Проверка состояния во время выполнения и команды доступны только при включении оболочки в конфигурации проекта. |
Что проверить в первую очередь¶
Таблица: Что проверить в первую очередь
| Симптом | Первые проверки |
|---|---|
| Hard fault или assert | Размер стека, нулевые указатели, буферы DMA, обслуживание кэша. |
| Периферийное устройство не отвечает | Мультиплексирование выводов, тактирование, линия питания, имя платы, включение драйвера. |
| Нестабильная работа Bluetooth | Тактирование RF, тракт антенны, настройки стека Bluetooth, параметры соединения. |
| Искажения изображения | Тайминги панели, формат буфера, синхронизация кэша и DMA. |
| Случайный сброс | Сторожевой таймер, линия питания, просадка напряжения, переполнение стека. |
Что включить в отчёт о сбое¶
При описании сбоя укажите:
- Плату и её ревизию.
- Вариант микросхемы.
- Ветку или коммит SDK.
- Точный пример или проект.
- Команду сборки и имя платы.
- Команду прошивки.
- Журнал загрузки через последовательный интерфейс, начиная со сброса.
- Дамп сбоя или вывод assert.
- Воспроизводится ли проблема на неизменённом примере SDK.
Последнее обновление: