Показаны сообщения с ярлыком gdb. Показать все сообщения
Показаны сообщения с ярлыком gdb. Показать все сообщения

30 июля 2013 г.

Графические оболочки GDB, подходящие для отладки встроенных систем

GDB - мощный отладчик, но его интерфейс может произвести не самое положительное впечатлене на новичка. Для облегчения участи разработчиков есть графические оболочки для GDB. Такие оболочки выступают посредником между вами (разработчиком) и GDB.

Для сравнения приведу пару скриншотов того, как может выглядеть отладка прошивки микроконтроллера.

Начнём с голого GDB на примере rx-elf-gdb (из пакета GNURX) в связке с rx-gdb-stub-ом:


7 февраля 2013 г.

Точки останова и пошаговое исполнение в GDB Stub-ах

GDB Stub - это маленькая программка (или часть большой программы), которая позволяет отлаживать прошивку МК при помощи GDB без дополнительного оборудования (аппаратных отладчиков, например, J-Link, E1 или любых других). Общение осуществляется через любой последовательный (с точки зрения ПК) интерфейс (обычно UART или TCP). Протокол очень простой. Его описание можно найти в
Debugging with GDB: Appendix E GDB Remote Serial Protocol. Stub должен уметь читать/писать регистры, читать/писать внутреннюю память, устанавливать/убирать точки останова (опционально) и выполнять программу по шагам (тоже опционально). Это минимальный набор необходимых функций. GDB умеет сам устанавливать программные точки останова через запись в память, а шагание по инструкциям умеет эмулировать при помощи точек останова.