Forum: Mikrocontroller und Digitale Elektronik ARM ETM mit openocd auslesen?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von ETM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Moin,

wie bekomme ich einen Trace mit der ETM von meinem stm32f4disco?

von Jim M. (turboj)


Bewertung
0 lesenswert
nicht lesenswert
Hast Du denn einen ETM-fähigen Debugger?

ST-Link kennt nur SWO - das kann man fürs Tracing benutzen, ist aber 
langsamer so dass Informationen verloren gehen können.

von fft (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Selber nachlesen, wie es auch alle anderen tun, hilft bei der Lösung 
deines Problems...

von Jim M. (turboj)


Bewertung
0 lesenswert
nicht lesenswert
Nachtrag: OpenOCD kann AFAIK kein SWO. Upgrade den ST-Link zum J-Link un 
nutze dann die SEGGER Software.

von Christopher J. (christopher_j23)


Bewertung
1 lesenswert
nicht lesenswert
Mit ETM habe ich noch keine Erfahrungen gesammelt aber dafür mit ITM. 
Beide kommunizieren über die TPIU mit der Außenwelt . SWO ist nur eine 
der möglichen Hardwareschnittstellen (neben JTAG) und wird von OpenOCD 
unterstützt.

Prinzipiell hat man zwei Möglichkeiten:
1. Man leitet den Trace direkt in eine Datei um. Dafür muss der SWO-Pin 
des Debuggers mit dem SWO-Pin des Targets verbunden sein. Die 8000000 am 
Ende der Zeile muss dem Takt am TRACECLKIN-Port entsprechen, was 
normalerweise gleich dem CPU-Takt entspricht. Für dein Disco-Board musst 
du das entsprechend anpassen.
1
monitor tpiu config internal itm.fifo uart off 8000000

2. Man gibt den Trace am SWO-Port als UART-kompatibles NRZ-Signal aus. 
Dadurch kann man es mit einem einfachen USB-UART-Converter abfangen. Die 
2000000 am Ende der Zeile steht für die Baud-Rate (2MBaud in diesem 
Fall) und kann/muss natürlich angepasst werden.
1
monitor tpiu config external uart off 8000000 2000000


Für ITM_SendChar() reicht dann noch die folgende Zeile
1
monitor itm port 0 on

Mit ETM habe ich bisher wie gesagt noch nichts gemacht. Musst du mal 
suchen wie du das konfiguriert bekommst.

Sehr interessant finde ich die Möglichkeit mit Sigrok per Logic-Analyzer 
den Trace aufzuzeichnen und auszuwerten. Dann gehen auch deutlich mehr 
als 2MBaud. Ein paar weiterführende Links zu ETM finden sich ebenfalls 
in diesem Blog-Artikel:
http://essentialscrap.com/tips/arm_trace/theory.html

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.