2012-04-01 3 views

Antwort

1

Es ist für jeden Prozessor anders, Sie müssen die Details des Jtag-Debuggers für den jeweiligen Prozessor nachschlagen. nicht nur die Prozessorfamilie, sondern auch ein bestimmter Prozessor. Die Datenblätter/Benutzerhandbücher sind, falls verfügbar, normalerweise vom Chiphersteller oder Kernlieferanten abhängig vom Produkt erhältlich.

+0

Was ich wissen will, ist, dass nach dem Verbinden meiner Platine mit PC mit einem Jtag-Kabel, wenn ich zum Beispiel "bp 25" mit GDB tippe, was genau danach für diesen Befehl passiert, um mit meinem eingebetteten Prozessor (Microblaze) durch ausgeführt zu werden JTAG? – jenje

+0

Sie müssen diesen Prozessor und die Jtag-Befehle nachschlagen, es könnten ein paar bis ein paar tausend verschiedene Befehle sein, die diese eine Sache implementieren. Ein Dutzend verschiedene Arten Prozessoren handhaben solch einen Befehl, etc. Wenn Sie nicht das Datenblatt nachschlagen möchten, dann schauen Sie in die gdb Quellen, gdb ist Open Source, die Antworten auf Ihre Fragen sind in offenen Dokumenten und Software in Ordnung. Bauen Sie gdb neu auf, fügen Sie einige printfs hinzu, graben Sie den Code von Interesse nach. –

3

Es programmiert entweder ein Hardware-Haltepunktregister oder setzt einen Software-Haltepunkt, indem die Anweisung am Haltepunkt durch eine Anweisung ersetzt wird, die eine Ausnahme verursacht.

0

Die paar Male, die ich GDB in Verbindung mit einer JTAG-Einheit verwendet habe, kommuniziert GDB über die JTAG mit Hilfe eines gdbserver Programms, das die Details des JTAG behandelt. Zum Beispiel mit einer OpenOCD JTAG Einheit: http://openocd.sourceforge.net/doc/html/GDB-and-OpenOCD.html

Dies bedeutet im Wesentlichen, dass GDB nicht so gut wie nichts über die JTAG-Einheit nicht kennt - es beruht auf der gdbserver Schnittstelle und der Server dann tut, was es hinter den Kulissen muss tun was GDB anfragt.

Verwandte Themen