Начните с рабочего образца
Выберите поддерживаемую плату и соберите официальный пример без изменений. Запишите версию Zephyr, SDK, идентификатор платы и команду сборки. Сначала подтвердите прошивку и ожидаемый вывод на устройстве. Так появляется исходная точка: последующий сбой можно отделить от проблем кабеля, отладчика или первоначальной настройки окружения.
Дайте ИИ небольшой контракт
Просите один патч: например, обработать тайм-аут чтения датчика. Передайте интерфейс, единицы измерения, поведение при ошибке и ограничения по блокировкам. Попросите сначала перечислить допущения и тесты. Изолируйте разбор данных от доступа к периферии, чтобы проверить граничные значения без платы. Сверяйте предложенные API с документацией вашей версии.
Проверяйте несколько уровней
Соберите патч с прежними настройками и разберите новые предупреждения компилятора. Добавьте проверки нормального ответа, повреждённых данных и тайм-аута. Ztest даёт структуру тестов и утверждения; выбирайте подходящую тестовую платформу. Затем на устройстве проверьте сброс, повторное подключение и фактическое время операции. Успешная компиляция не подтверждает правильность работы с периферией.
Оставьте воспроизводимый след
К патчу приложите конфигурацию, отчёт тестов и короткий аппаратный протокол: плата, подключение, входные условия, ожидаемый и фактический результат. Сохраните сценарий воспроизведения ошибки. При следующем запросе ИИ передавайте именно этот контекст. Результат — небольшой проверенный шаг и регрессионный тест, который защищает поведение после дальнейших изменений.
Что проверить перед принятием результата
Сборка, автоматические тесты и аппаратный протокол должны проверять каждый патч, предложенный ИИ.