Цитата(Quasar @ Jul 7 2014, 18:42)

Есть самодельная плата на STM32F417 c Ethernet, LwIP и FreeRTOS. Она периодически улетает в Hard Fault...
приблизительно такой-же фарш. Пока "проблемы по железу" всегда упирались в софт. Т.е. обычно из-за
невнятной(читай раскиданной по многим источникам) документации (последнее из этой оперы было - оконный вачдог + его IRQ.
но как всегда - софт наше всё). Но в интернете практически все ответы можно нарыть.
В Вашей связке, я бы пошёл в сокращении софтовой прослойки. Т.е. эмулировал бы обращение к "подозрительному железу"
без "лишнего софта". На мой взгляд - слабые софтовые звенья lwip & freertos. Там есть(скажеи так - встречаются) явные ляпы.
Сведите тестовый пример до "одного экрана" всех исходников. И будет Вам счастье. Ну или по дороге опознаете проблему.
кстати судя по дампам - у вас регистры левые... скорее всего уже загажены отладчиком или чем Вы там ловите. Правильно - опознание
через регистр LR. А вот он мне не нравится. Для пояснения приведу кусочек универсального обработчика на эту тему..
Код
if (((lr & 0x0F) == 1) || ((lr & 0x0F) == 9))
{
CommonProcessingException(&sSave, msp);
}
else if ((lr & 0x0F) == 0x0D)
{
CommonProcessingException(&sSave, psp);
}
У Вас явно не эти три случая. Согласны?
Сообщение отредактировал kolobok0 - Jul 8 2014, 05:56