8 октября 2015, 14:16 |
Часто возникает необходимость зафиксировать состояние МК во время сбоя (деление на 0, разыменование нулевого указателя, обращение к невыровненному адресу и тысяча других возможностей прострелить себе ногу). И часто при этом нет возможности держать устройство с подключенным отладчиком.
В таких случаев поможет связка ПО CrashDebug и CrashCatcher.
CrashCatcher - библиотека подключающаяся к прошивке МК. Она берёт на себя обработку исключения HardFault и вывод содержимого регистров и памяти на последовательный порт (либо любым другим реализованным программистом способом). Полученный по последовательному порту дамп сохраняется в файл и передаётся утилите CrashDebug, выступающей в роли target для GDB. Дальше уже можно работать любыми привычными средствами - консольным arm-none-eabi-gdb, ddd, либо даже Eclise (через тип конфигурации "GDB Hardware Debug").
Оба проекта имеют исчерпывающую документацию и достаточно легко интегрируются в существующий проект.
В таких случаев поможет связка ПО CrashDebug и CrashCatcher.
CrashCatcher - библиотека подключающаяся к прошивке МК. Она берёт на себя обработку исключения HardFault и вывод содержимого регистров и памяти на последовательный порт (либо любым другим реализованным программистом способом). Полученный по последовательному порту дамп сохраняется в файл и передаётся утилите CrashDebug, выступающей в роли target для GDB. Дальше уже можно работать любыми привычными средствами - консольным arm-none-eabi-gdb, ddd, либо даже Eclise (через тип конфигурации "GDB Hardware Debug").
Оба проекта имеют исчерпывающую документацию и достаточно легко интегрируются в существующий проект.
Комментарии RSS