[an error occurred while processing this directive]
|
побороть такое невозможно. Ну вот, например, в том регистре, где хранится адрес возврата, битик изменился - все, ваша программа будет выполнять какую-то белиберду, а не код программы и ничем не поможешь.
Так что все ошибки, связанные с адресами перехода, текущим адресом выполняемой инструкции просто "вышибут" вашу программу.
Если битик какого-то прерывания сам установится (возникновение незапланированных прерываний)на который нет обработчика да еще и необходим ручной сброс флага, то тоже ничего хорошего не выйдет.
Если данные в ОЗУ портятся, то, наверное, фатально. И проверки и дублирование не помогут - может испортится после проверки.
Используют Watchdog, чтобы процессор сбросился и перезапустился.
Изменение хотя бы одного бита данных в энергонезависимой памяти - обычно используют контрольные суммы.
E-mail: info@telesys.ru