Цитата(mantech @ Feb 26 2014, 12:11)

Может немного не в тему, но для чего все это? Вы уверены, что перезагрузка происходит именно из-за исключительной ситуации, просто у меня еще никогда такого не было...
+1
Исключительная ситуация возникает крайне редко. Чаще всего на этапе разработки софта.
В жизни (у разработанного изделия) ниразу не видел HardFault.
Цитата(Lyrri @ Feb 26 2014, 13:01)

Это все для того чтобы понять что же произошло у конечного пользователя, если что-то пойдет не так. Ведь обычно feedback приходит в виде "А я включил а оно не работает.... Оно то работает то не работает... итд".
Перегрузка происходит во вачдогу. Если программа застряла в исключении, то пишется тип исключения и содержание соотв. регистров. Если какая-то из задач (у меня FreeRtos) не "отчиталась" за определенный период времени о том что она жива, также произойдет перезагрузка системы по вачдогу. В этом случае во флеш будет записано имя повисшей задачи.
Это большое везенье если попали в HardFault.
Чаще всего программа работает как она написана, просто не все варианты разработчик учел.
С FreeRTOS чтобы попасть в HardFault или получить "странное" поведение системы достаточно запутаться с приоритетами прерываний
(на форуме обсуждалось неоднократно).
Был случай, когда у меня переполнялся софтовый таймер раз в 24 дня. Пока понял что к чему прошло пол года.
Изделие эксплуатировалось на столбе на автодороге (остановочное табло). После перезагрузки исправно работало
ровно 24 дня столько-то часов столько-то минут. Если бы сделал автоматическую перезагрузку, то в жизни бы не узнал
об ошибке).
Сейчас делаю watchdog, но по-умолчанию отключаю, чтоб проблему было явно видно.
Насчет обратной связи полностью с Вами согласен))