может, я недопонимаю чего-то... но как подсчет CRC программного кода повышает надежность ПО? вот мои рассуждения.
1. программа, в которой искажен хотя бы 1 бит в коде не может считаться корректной. 2. результат работы некорректной программы не может быть признан достоверным и не должен никак использоваться.
теперь на основе этого проанализируем ситуацию: программа запустилась и посчитала CRC своего собственного кода - CRC совпала с контрольной. можно ли сделать вывод о том, что памяти программ находятся неискаженные данные? Предположим, искажение содержимого памяти произошло именно в участке подсчета CRC, в результате чего алгоритм стал недостоверным...
далее - если CRC не совпала... что делать в этом случае? просто "зависнуть"? ведь надеяться, что даже какое-то мигание светодиодом при работе НЕКОРРЕКТНОЙ программы будет исполнено правильно - нельзя... и чем такое "зависание" будет отличаться от зависания полноценного (из-за нарушения ПЗУ)?
не самообман ли это - самоподсчет CRC?
--------------------
Я бы взял частями... но мне надо сразу.
|