Xilinx - PowerPC - XMD/GDB - Debug

Gast #973820
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.
Gast #975171
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ß!
#975434
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.
Gast #1104641
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?
#1104651
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.
Gast #1140702
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!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren