7 февраля 2013 г.

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

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