Начните с рабочего образца

Выберите поддерживаемую плату и соберите официальный пример без изменений. Запишите версию Zephyr, SDK, идентификатор платы и команду сборки. Сначала подтвердите прошивку и ожидаемый вывод на устройстве. Так появляется исходная точка: последующий сбой можно отделить от проблем кабеля, отладчика или первоначальной настройки окружения.

Дайте ИИ небольшой контракт

Просите один патч: например, обработать тайм-аут чтения датчика. Передайте интерфейс, единицы измерения, поведение при ошибке и ограничения по блокировкам. Попросите сначала перечислить допущения и тесты. Изолируйте разбор данных от доступа к периферии, чтобы проверить граничные значения без платы. Сверяйте предложенные API с документацией вашей версии.

Проверяйте несколько уровней

Соберите патч с прежними настройками и разберите новые предупреждения компилятора. Добавьте проверки нормального ответа, повреждённых данных и тайм-аута. Ztest даёт структуру тестов и утверждения; выбирайте подходящую тестовую платформу. Затем на устройстве проверьте сброс, повторное подключение и фактическое время операции. Успешная компиляция не подтверждает правильность работы с периферией.

Оставьте воспроизводимый след

К патчу приложите конфигурацию, отчёт тестов и короткий аппаратный протокол: плата, подключение, входные условия, ожидаемый и фактический результат. Сохраните сценарий воспроизведения ошибки. При следующем запросе ИИ передавайте именно этот контекст. Результат — небольшой проверенный шаг и регрессионный тест, который защищает поведение после дальнейших изменений.

Что проверить перед принятием результата

Сборка, автоматические тесты и аппаратный протокол должны проверять каждый патч, предложенный ИИ.

Источники