[an error occurred while processing this directive]
|
В агресивной среде однократное тестирование ничего не даст.
В современных uC все силы брошены на самовосстановление.
Для примера возьмите XC167. Там куча всяких ловушек на предмет неправильного исполнения программы: есть контроль и исправление ошибок FLASH, контроль переполнения стека вверх и вниз, исключения в случае недопустимых операций, исключения при неправильном выравнивании инструкций и т.д.
Поскольку все уходит в прерывание, то контроль над системой в подавляющем числе случаев не теряеться, можно делать дамп памяти, вести лог, выключать сбойные задачи в RTOS и т.д.
С другой стороны когда у нас в PIC-ах барахлил PLL нам никакое тестирование не помогло бы, а вот если бы там были исключения то все поняли бы с первого раза, а так валандались месяц.
И наоборот в ST10 благодаря исключениям сравнительно легко выловили тяжелый баг компилятора связанный с неучетом errata от производителей чипа.
Так что очень внимательно выбирайте микроконтроллеры и еще более внимательно компилеры к ним.
E-mail: info@telesys.ru