ST-LINK ist serielle Kommunikation möglich?

8

Ich verwende STM32F4 Discovery Board und Atollic TrueStudio für ARM Lite 3

Ich möchte einige Debugging-Daten mit printf an den PC übergeben und kann über STLink keine Möglichkeit finden, dies zu tun. Ist es überhaupt möglich? Es scheint ein wesentliches Merkmal für jeden Debugging-Prozess zu sein.

Bearbeiten: Ich muss Serial Wire Viewer verwenden, aber immer noch kein Glück, dass es funktioniert.

Maciej Kucia
quelle
1
Wenn du das zum Laufen gebracht hast, könntest du ein Beispiel posten, ich habe das gleiche Problem und habe kein Glück gehabt. Ich habe meine eigene printf-Funktion geschrieben, die die _write-Funktion in der Basis-Syscall-Datei verwendet.
JWL

Antworten:

4

OK, der Weg zur Kommunikation in Atollic TrueStudio für ARM Lite (ja, es funktioniert seit 3.0 unter Lite-Version):

  1. Aktivieren Sie Serial Wire Viewer in der aktiven Debug-Konfiguration
  2. SWV-Konsole anzeigen (unter Debug-Perspektive)
  3. Öffnen Sie die Einstellungen für Serial Wire Viewer (erste Schaltfläche im Fenster der SWV-Konsole).
  4. Aktivieren Sie den ITM-Stimulus-Port 0
  5. Aktivieren Sie die Schaltfläche Start / Stop Trace in der SWV-Konsole (zweite Schaltfläche).
  6. Verwenden Sie die Funktion ITM_SendChar
  7. Viel Spaß beim Debuggen von Strings!
Maciej Kucia
quelle
Dies funktioniert auch bei Keil uCVision mit der gesamten ulink jtag-Familie.
Katte
0

Es verwendet Crossworks. In Crossworks verwenden wir dbg_printf, aber es ist langsam, seien Sie gewarnt.

Ktc
quelle
0

Für alle CrossWorks-Benutzer: Das Semihosting funktioniert, ist aber langsam. Dies liegt daran, dass Cross Works Printf-Daten nicht über SWO, sondern über die JTAG / SWD-Schnittstelle weiterleiten. Es hält uC an und liest aus den Registerdaten, um sie anzuzeigen. Beachten Sie, dass uC stoppt, wenn Sie die Funktion printf verwenden und der Debugger nicht verbunden ist.

ciostek223
quelle