- 
	
- Было бы неплохо увидеть версию стека и файлы ethernetif.c и lwipopts.h. Поведение явно ненормальное. Ещё неплохо будет выяснить причину падения, это можно узнать через регистры ядра. - evgeniy1294(08.09.2018 15:59)
			
- Версия? Не смотрел какая - такая как в последнем Кубе.  Apтём(262 знак., 08.09.2018 16:24)
					
- Современно - это по вашему как? HardFault - это обычное прерывание со своим обработчиком. Выясняем причину, делаем запись в ОЗУ или в лог и возвращаем микроконтроллер в работоспособное состояние. О регистрах вы можете прочитать в мануале от ARM на  evgeniy1294(353 знак., 08.09.2018 16:56, ссылка)
							
- Спасибо за ссылки.  Apтём(233 знак., 08.09.2018 19:19)
									
- Чего там возвращать? Для МК не актуально. Просто выявление косяков на этапе отладки. Кстати, лайфхак: обработчик HardFault делаем такой "int volatile i = 1; while (i) ;", в отладчике делаем "i = 0" и по шагам выходим из обработчика. Окажемся там,  SciFi(100 знак., 08.09.2018 19:23)
											
- Падает где-то в ip_reass_free_complete_datagram. - Apтём(10.09.2018 14:50)
 
 
 - Чего там возвращать? Для МК не актуально. Просто выявление косяков на этапе отладки. Кстати, лайфхак: обработчик HardFault делаем такой "int volatile i = 1; while (i) ;", в отладчике делаем "i = 0" и по шагам выходим из обработчика. Окажемся там,  SciFi(100 знак., 08.09.2018 19:23)
											
 
 - Спасибо за ссылки.  Apтём(233 знак., 08.09.2018 19:19)
									
 
 - Современно - это по вашему как? HardFault - это обычное прерывание со своим обработчиком. Выясняем причину, делаем запись в ОЗУ или в лог и возвращаем микроконтроллер в работоспособное состояние. О регистрах вы можете прочитать в мануале от ARM на  evgeniy1294(353 знак., 08.09.2018 16:56, ссылка)
							
 
 - Версия? Не смотрел какая - такая как в последнем Кубе.  Apтём(262 знак., 08.09.2018 16:24)
					
 - Нормальное поведение? Ну, у всех разная норма, наверное. При любых настройках этого быть не должно. Значит, порт убогий в хлам. Это куб, наверное? Тогда удивляться не стоит. Рецепт такой: разбираемся, как это всё должно работать, портируем  SciFi(62 знак., 08.09.2018 15:32)
			
- Ну да, это Куб. Плюс несколько дополнительных настроек - MPU, включение кешей и настройка скрипта линкера, так как Кубовский проект из-каробки не работает совсем (не допилили ещё).  Apтём(112 знак., 08.09.2018 16:20)
					
- Хорошим тоном при работе с подобными библиотеками является понимание принципов их настройки и работы в целом. Я написал меленькую C++ обертку для LwIP. К сожалению, на H7 устройств пока нет, так бы поделился. - evgeniy1294(08.09.2018 17:00)
							
- Вот-вот. А у этих STM32H ещё и кеши появились, что добавляет головняков при портировании. Ну и надеяться на то, что эти индусские говнокодеры просто возьмут и выдадут что-то реально рабочее - это наивно. - SciFi(08.09.2018 18:26)
									
- Да, кеши - это отдельная больная тема.  Apтём(200 знак., 08.09.2018 18:45)
											
- Я бы не спешил с выводом "с кешами справились". Это такая штука, которая вылазит в самых неожиданных местах. Как в этом пинге, например. Кстати, в порядке кавалерийского наскока можно отключить опцию IP REASSEMBLY, вдруг отсечёт самый убогий косок  SciFi(17 знак., 08.09.2018 18:46)
													
- OK, в понедельник попробую отключить. Apтём(213 знак., 08.09.2018 19:07)
 
 
 - Я бы не спешил с выводом "с кешами справились". Это такая штука, которая вылазит в самых неожиданных местах. Как в этом пинге, например. Кстати, в порядке кавалерийского наскока можно отключить опцию IP REASSEMBLY, вдруг отсечёт самый убогий косок  SciFi(17 знак., 08.09.2018 18:46)
													
 
 - Да, кеши - это отдельная больная тема.  Apтём(200 знак., 08.09.2018 18:45)
											
 
 - Вот-вот. А у этих STM32H ещё и кеши появились, что добавляет головняков при портировании. Ну и надеяться на то, что эти индусские говнокодеры просто возьмут и выдадут что-то реально рабочее - это наивно. - SciFi(08.09.2018 18:26)
									
 
 - Хорошим тоном при работе с подобными библиотеками является понимание принципов их настройки и работы в целом. Я написал меленькую C++ обертку для LwIP. К сожалению, на H7 устройств пока нет, так бы поделился. - evgeniy1294(08.09.2018 17:00)
							
 
 - Ну да, это Куб. Плюс несколько дополнительных настроек - MPU, включение кешей и настройка скрипта линкера, так как Кубовский проект из-каробки не работает совсем (не допилили ещё).  Apтём(112 знак., 08.09.2018 16:20)
					
 
 - Было бы неплохо увидеть версию стека и файлы ethernetif.c и lwipopts.h. Поведение явно ненормальное. Ещё неплохо будет выяснить причину падения, это можно узнать через регистры ядра. - evgeniy1294(08.09.2018 15:59)