Debugger für Mikrocontroller-IP-Core (mit VHDL geschrieben)

OP (Firma: student) #3326037
Lesenswert?
• ▲
▼
Hallo zusammen,

ich bin neu in diesem Forum und hoffe, dass ihr mir etwas weiterhelfen 
könnt.

Es geht darum, einen Debugger für ein mit VHDL geschriebenen 
Mikrocontroller-IP-Core zu entwickeln. Bei dem IP-Core handelt es sich 
um einen RISC Prozessor mit 32 Bit Logik, der auf einem Altera Cyclon 3 
FPGA läuft. In einem früheren Projekt wurde der GNU-C-Compiler so 
portiert, dass man C-Programme auf einer Windows Plattform compilieren 
und auf den µC ausführen kann. Der Programmcode wird über den 
In-System-Programmer der Altera Quartus Software in das ROM geladen, da 
der Controller noch keine Schnittstelle nach außen hat.

Meine Absicht ist es nun, als erstes eine UART-Schnittstelle 
(VHDL-Modul) zu implementieren, um eine serielle 
Kommunikationsschnittstelle zu haben und einen Treiber dafür zu 
schreiben (mit C).

Bezüglich des Debuggers hab ich jetzt schon etwas recherchiert. Dabei 
ist mir der GDB mit der Remote Debugging Option ins Auge gefallen. Ich 
müsste diesen halt dann an meine Prozessorarchitektur anpassen, was ich 
für nicht ganz so leicht halte.

Eine andere Möglichkeit wäre, ein Debug-Modul in VHDL zu entwickeln 
(stell mir ne State-Machine vor). Dieses Modul müsste über die serielle 
Schnittstelle mit einem Terminal kommuniziert und Debug-Befehle 
umzusetzen, die der User über das Terminal eingibt.

Folgende Debugging Optionen sollten möglich sein:
-Breakpoints setzen/löschen
-Run/Stop
-Step in (um in Subroutine einzusteigen)
-Continue (um aus Subroutine raus zu kommen bzw. diese überspringen)
-Register- und Variableninhalte anzeigen
-Beenden

Hat jemand Erfahrungen mit sowas gemacht und kann mir da den ein oder 
anderen Tipp geben? Bin echt dankbar für jede Hilfe.
Gast #3326054
Lesenswert?
• ▲
▼
marcus wawrik schrieb:
> Folgende Debugging Optionen sollten möglich sein:
> -Breakpoints setzen/löschen
> -Run/Stop
> -Step in (um in Subroutine einzusteigen)
> -Continue (um aus Subroutine raus zu kommen bzw. diese überspringen)
> -Register- und Variableninhalte anzeigen
> -Beenden
>
> Hat jemand Erfahrungen mit sowas gemacht und kann mir da den ein oder
> anderen Tipp geben? Bin echt dankbar für jede Hilfe.

Was spricht gegen da bewährte JTAG?
OP (Firma: student) #3327023
Lesenswert?
• ▲
▼
Wobei mein Hauptproblem aber nicht die Schnittstelle ist, sondern eher 
das Entwickeln des Debuggers, bzw. das Portieren des GDB.
Hat jemand den GNU-Debugger schon mal für ne komplett neue 
Controller-Architektur, also eine die er bis jetzt noch nicht 
unterstützt, portiert?
Und das für Windows?
Gast #3327052
Lesenswert?
• ▲
▼
Nios 2 -> Nios 2 Debugger.
Ein eigener softcore ist es auch nicht ...
Selbstmachen geht nicht in einer Gesunden Zeitspanne -> es ist günstiger 
Tools von Lauterbach, etc zu verwenden. Billiger als ein Ingenieur der 
entwickelt ist es sicher ...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.