Собственно проблема в том, что падает ядро переодически.
Система: stm32f429 (ARM v7m) 24мБ ОЗУ ядро 5.6.12 собрано без MMU rootfs - busybox 1.31
Падает стабильно в течении 1-12 часов работы, при этом запущен httpd из busybox. падает с Unhandled exception и соответствующим выводом (приложить пока не могу, вывод на дисплей идет, переключил на вывод в компорт, как свалиться - могу добавить). Сказать что причина падения только в httpd нельзя, пару раз падал без него, но там тайминги памяти чуть другие были.
Поэтому когда часами ждешь результата после изменения чего-либо напрягает сильно.
Кстати, еще одна особенность. rootfs собранная из busybox работает не совсем как надо. Суть в том, что в нете качал rootfs если ее ставлю, при команде reboot проц норм перезагружается, если то что собранное сейчас - падает сразу, с выводом backtrace.
Думал на ошибки памяти,memtester показывает что все норм. Единственное, что без запущенного httpd тестирует 2Мб памяти, при запущенном не более 1Мб. (хотя top показывает в первом случае 15Мб free, во втором 13Мб).
И дальше поехали вопросы:
- Unhandled exception это реально прерывание, на которое нет обработчика?
- Вообще, сколько памяти ядру надо минимум, если free показывает больше половины доступной памяти это норм?
- Больше к железу, например, если FreeRTOS собирать на этот камень, то там обязательно всем аппаратным прерываниям нужно задавать приоритет который ниже чем прерывания самой ОС. Для ядра Linux тоже такое необходимо?
- Каким боком отловить можно причину падения (gdb как то криво работает, через раз останавливается на breakpoint’e)?