Forum: FPGA, VHDL & Co. Xilinx - PowerPC - XMD/GDB - Debug


von andrgrau (Gast)


Lesenswert?

Hallo an alle :)

Ich hab, mal wieder, ein paar Fragen bzgl. Xilinx. In diesem Fall geht 
es vor allem um das Debuggen von Software, die auf dem PowerPC läuft 
bzw. laufen sollte :) Ich arbeite vor allem mit dem SDK von Xilinx, also 
auch dem grafischen Debugger, der dabei ist.

Ich hab ein Board mit einem Xilinx FX-100 FPGA und eben einem PowerPC 
drauf. Ich schreibe Software für diesen PowerPC. Ansonsten ist noch 
BRAM, OCM, MDM, INTC, TIMER auf dem Board vorhanden. Es ist kein 
Evaluation Board von Xilinx, sondern ein Custom Board.

Ich habe auch schon erfolgreich Software geschrieben, nur leider ist das 
mit dem Testen/Debuggen immer so eine Sache ... es ist wie eine 
Lotterie, ob es funktioniert oder nicht ... manchmal gibts Heap/Stack 
Fehlermeldungen, manchmal lässt sich der PowerPC nicht merh stoppen, 
manchmal tritt ein "Program Interrupt" auf.

Ich wollte mal wissen, ob es vll so eine gute Vorgehensweise gibt, wie 
man Software debuggen kann, momentan läuft das bei mir immer so ab:
- Bitstream wird im EDK generiert
- Software im SDK schreiben
- "Program FPGA" im SDK wählen, um den Bitstream zu laden
- "connect mdm -uart" und "read_uart start" in der XMD Console 
ausführen, dass ich auch eine Ausgabe kriege
- Im SDK dann die Software mit "Debug" starten
- Jetzt kommen die ganzen Fehlermeldungen, wenn ich Glück habe, dann 
springt er auch mal direkt an meinen Breakpoint, manchmal ^^

Kennt ihr auch solche Probleme? :) Oder vll hat ja jemand eine 
geschickte Lösung dafür :) Das Debuggen im EDK geht sowieso nicht, er 
verbindet sich zwar, lädt das Programm und wenn ich run machen, dann 
wird die Verbindung getrennt und ich krieg wieder das Fenster mit den 
Verbindungseinstellungen ^^

Vielen Dank!!!

PS: Da wäre ja noch was ^^  Wenn ich anstatt "read_uart start" die 
Ausgabe an einen Terminalserver weiterleiten will mit "terminal 
-jtag_uart_server", dann geht das auch, mehr oder weniger, die Ausgabe 
kommt halt in die XMD Console. Verbinde ich z.B. mit HypterTerminal und 
will dann mein Programm debuggen, dann bleibt das SDK bei "Connecting to 
Target ..." hängen.

von Christian R. (supachris)


Lesenswert?

Was für ein Debugger-Kabel hast du? USB oder Parallel-Port?

von andrgrau (Gast)


Lesenswert?

Das USB-Kabel von Xilinx.

von Christian R. (supachris)


Lesenswert?

Hm, das ist schon mal gut. Hast du mal mit Eclipse probiert? Mein 
Diplomand hat auch anfangs viel über das Xilinx Zeugs geflucht, mit dem 
Eclipse ging´s dann besser.

von andrgrau (Gast)


Lesenswert?

Das SDK, was auf eclipse basiert, ist ja genau mein Problem: Es 
funktioniert nicht (immer). Manchmal, mit Glück geht es.

Gruß!

von andrgrau (Gast)


Lesenswert?

Mittlerweile hab ich es zwar hinbekommen, dass ich Software laufen 
lassen kann und auch eine Ausgabe bekomme, aber das Debuggen selber 
nicht ^^

Ich arbeite nur im EDK, schreib da meinen C-Code. Mache "Download 
Bitstream", öffne XMD, verbinde mit MDM und starte Terminal und lade 
dann per XMD meine elf hoch (dow xx.elf). Das geht dann meistens so :)

Jedoch ist da noch was anderes ... in unregelmäßigen Abständen startet 
mein Programm neu, ich seh das ja an meiner Ausgabe, wenn er auf einmal 
wieder vom Anfang etwas ausgibt. Woran liegt das? Ich hab eigentlich 
keine Interrupts aktiviert und Watchdog kann es auch nicht sein. Gibt es 
irgendwas beim PowerPC, das dafür sorgen könnte?

Gruß!

von Jörg (Gast)


Lesenswert?

@Christian R. (supachris),

ist eure Eclipse-Umgebung inkl. PPC-Compiler/Debuger frei erhältlich?
400-500Euro für Software auszugeben ist mir für Hobbies doch zu viel.

Gruss und Danke,

Jörg

von Christian R. (supachris)


Lesenswert?

Öhm, hab ich nicht privat, wir haben auf Arbeit natürlich eine Lizenz 
für das ISE Foundation incl. Modelsim XE und EDK. Und dazu diesen 
Wartungsvertrag. kostenlos ist glaub das EDK nicht zu haben....

Mit der 9.2 und dem USB Debugger und allen Service Packs gings dann 
recht zuverlässig bei uns, jedenfalls hat mein Diplomand dann gut 
arbeiten können.

von Patrick (Gast)


Lesenswert?

Hi

Spiele mich auch grad ein bisschen mit dem PowerPC rum. Habe auch ein 
Custom Board mit einem Virtex II Pro Board. Gibt es bei dem PowerPC auch 
eine Moeglichkeit ueber das JTAG Interface zu debuggen? Ehrlich gesagt 
weiss ich auch nicht 100% wie ich die UART hier einbinde. Der Target 
FPGA hat ein RX Pin und einen TX Pin der dann auf einen Control FPGA 
geht. Von diesem Control FPGA geht dann der RX und TX Pin auf eine UART. 
Weisst du hier vielleicht wie ich den PowerPC mit der UART verbinden 
kann?

von Christian R. (supachris)


Lesenswert?

Naja, nachdem du das UART Modul im EDK in das System gebaut und an den 
PLB angeschlossen hast, musst du die beiden Anschlüsse für RX und TX 
noch mit "Make External" nach außen führen. Und dann in der UCF-Datei 
die passenden Hardware-Pins des FPGA eintragen.

JTAG geht natürlich auch, dazu muss das JTAGPPC Modul in das System 
eingebaut werden. Alles auch über´s EDK. So gehts zumindest beim V4.

von Philipp (Gast)


Lesenswert?

Hi

Hat jemand von euch vielleicht das UART Interface auch in einem C 
Program selber erfolgreich verwendet? Ich moechte folgendes tun: In 
einer Schleife den Input von der UART einlesen und falls ein bestimmtes 
Kommando eingeben wurde moechte ich eine Berechnung starten? Gibt es 
hier sowas wie ein Tutorial wie ich die RS232 Schnittstelle verwenden 
kann fuer diese Zwecke?

Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.