Кажется, я выходные потрачу на чтение книги по тестированию микроконтроллеров.
А то я не вдупляяяяюююю!
Нужно протестировать модуль, в котором есть логические функции, а есть и аппаратные.
Юнит тесты для логических частей вопросов не вызывают. Даже, если внутри есть что-то аппаратное, но не важное для логики (задержки, запись в память, проверки какие-нибудь), то эти части можно заменить стабами или моками (простите, не придумал два термина на русском для заглушек).
А вот, как важные для логики аппаратные части протестировать, это уже вопрос.
Придётся их заменять на логические, работающие уже с памятью компа.
Сложна. Зато можно будет с памятью играться без ограничений. Наконец, воспользоваться аллокатором. Жаль, что только для тестов :(
Вообще для правильного тестирования аппаратных вещей делают тестовые стенды. Когда устройство подключают к тестирующей системе и она проверяет, что оно выдаёт правильные сигналы для разных вариантов входных сигналов. По крайней мере, таково моё понимание.