Forum: Mikrocontroller und Digitale Elektronik Eclipse + GBD + J-link + AT91SAM7S256 -> Wo stehen die DBGU Nachrichten


von Dirk H. (xplod)


Lesenswert?

Hallo zusammen.

Ich habe ein Problem mit meinem ARM Microcontroller (AT91SAM7S256):

Ich habe mir einen J-Link EDU gekauft, mittels dem ich mit Eclipse und 
Yagarto nun meinen uC bespielen und debuggen kann. Läuft super.

Nun würde ich aber gerne für Debugausgaben die Debug Unit nutzen, 
mittels der man in einem UART ähnlichen Stil Text zum PC senden kann. 
Leider habe ich noch nicht herausgefunden, ob das der GDB unterstützt, 
und wo der Text in Eclipse angezeigt wird.

Hat jemand damit Erfahrung? Muss eine bestimmte Baudrate eingestellt 
werden?
In welchem Fenster erscheint der Text?

Gruß,
Dirk

von tachtach (Gast)


Lesenswert?

Meines Wissens nach ist die DebugUnit bei den SAM7 eine einfach UART 
ohne Handshake und Flowcontroll Leitungen.

Anders als bei den Cortex-M, da ist die DebugUnit Bestandteil des Cores, 
und kann via JTAG/SWD ausgelesen/umgeleitet werde ...

D.H. die Leitungen entsprechend mit einer UART am PC verbinden und die 
Ausgabe via Terminal anschauen. evtl. kann das Eclips mit einem Plugin 
oder so direkt in einem Fenster ...

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Eventuell hilft das Schlagwort DCC (debug communication channel) weiter. 
Damit besteht die Möglichkeit zur Ausgabe von Inforationen über die 
Debug-Schnittstelle (JTAG). Ob man die Atmel-DBGU so konfigurieren kann, 
dass sie DCC nutzt (mrc/mcr p14...) weiss ich nicht, man kann aber auf 
jeden Falls in der Firmware eigenen Routinen direkt für "den Kern" 
schreiben (vgl. u.a. libdcc im OpenOCD Quellcode, UVZ contrib und techn. 
Dokumente von arm.com). Irgendwo in der JLINK-Software ist w.r.e. auch 
ein DCC-Terminal, dies selbst allerdings nie ausprobiert. Wie man die 
Informationen aus der Segger-Software dann in ein Eclipse-Fenster 
bekommt, weiss ich nicht. Falls von Segger ein Programm angeboten wird, 
das stdin/stdout nutzt, reicht vielleicht schon "external tool" mit 
"assign console".

Anfrage im Segger-Forum dürfte erfolgversprechender sein.

von Dirk H. (xplod)


Lesenswert?

Danke für die Hilfe.

Muss man verstehen, warum der zweite UART in der DebugUnit untergebracht 
wurde, und nicht als eigenständiges Objekt wie der andere UART auch? :-)

Das Schlagwort DCC hat wirklich geholfen. Bei der J-Link Software liegen 
Quellen mit bei, wie man Daten über den J-Link per DCC an den Host 
sendet.
Die Sourcen sind zwar nicht direkt mit meinem SAM7S kompatibel, aber sie 
zeigen zumindest, wie man's machen muss.

Mein Fehler war, dass ich annahm, dass die Debug_printf Funtkionen von 
Crossworks auf irgendeiner DBGU Einheit basierten. Die scheinen also 
auch "nur" eine ART DCC zu verwenden...

Danke für die Hilfe,
Dirk

von gerhard (Gast)


Lesenswert?

>Die Sourcen sind zwar nicht direkt mit meinem SAM7S kompatibel, aber sie
>zeigen zumindest, wie man's machen muss.
die sourcen die beim j-link beiliegen sind komplett unabhängig vom 
eingesetzten prozessortyp, funktionieren also mit prozesoor der einen 
arm-core aufweist.

gruss
gerhard

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.