GDB
Software enthält gelegentlich auch Fehler und auch die Mikrocontroller-Hardware macht nicht immer das Erwartete... Kurz, das System hat einen Bug und muss mit einem Entwanzer engl. debugger untersucht werden.
Einleitung
Der GNU Debugger ist für eine Vielzahl von Zielsystemen verfügbar, z. B. AVR (mit dem Simulator simulavr und JTAG), MSP430 (Simulator und JTAG) und ARM. Gesteuert wird der Debugger mit Textbefehlen ("break", "continue", ...). Es gibt aber auch mehrere grafische Benutzeroberflächen (GUIs).
GUIs für GDB
Insight
DDD
Programmierwerkzeuge, dpunkt.verlag, ISBN 3-932588-70-3, Kapitel 11 - Fehlersuche mit GDB und DDD
KDbg
KDbg - A Graphical Debugger Interface
GVD (GNU Visual Debugger)
Eclipse
=> FAQ: Debugging C/C++ Projects. Siehe auch AVR Eclipse
Simulator für ARM
Die für ARM kompilierte Version des GDB enthält einen Simulator. Mit den Newlib-Funktionen wie printf(), scanf(), fopen() und fwrite() kann das simulierte Programm dabei direkt mit dem Benutzer bzw. dem Hostsystem kommunizieren, wodurch sich Programme einfach testen lassen. Leider ist es aber nicht möglich den Zyklenzähler des simulierten Prozessors auszulesen um Laufzeitmessungen vorzunehmen oder Timerinterrupts zu simulieren.
Literatur zum GDB
- FYI: Embedding with GNU: Newlib (Bill Gatliff , December, 2001)
- FYI: Embedding GNU: Newlib, Part 2 (Bill Gatliff , January, 2002)