Тесты обязательно должны проводиться непосредственно в целевом железе. Иначе смысла особого нет.
Тоже задумывался. Дело даже не в переносе между платформами. Иногда бывает, что в спешке вносишь в прошивку на ходу потайные трудноуловимые глюки, которые могут всплыть спустя годы успешной эксплуатации, в результате маловероятного стечения случайных факторов. Тесты, во первых, позволяют выявить это ещё на лабораторном столе, а во-вторых, помогают быстро локализовать.
Эта тема немного перекликается с другой - о направлении проектирования (сверху вниз, в обратную сторону или промежуточный вариант). Ну и ещё - со стандартизацией кодирования.
Осталось подумать, как реализовать. Я лично вижу так: 1. Уровень сопряжения с железом тестируется с помощью осциллографа и других измерительных приборов. 2. На него сверху цепляется некая прослойка-монитор, которая может читать и писать в память, запускать функции и тд. 3. Через канал связи (например, UART) эта технологическая прослойка цепляется к GDB.
Далее, на ПК запускаем серию тестов и смотрим результаты. Осталось всё красиво увязать.
Для меня эта тема тоже очень актуальна, поскольку прошедший год был очень богат на разные чудеса. Которые спустя некоторое время находились в какой-нибудь нелепой закорючке.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|