Forum: Mikrocontroller und Digitale Elektronik GPIO in Echtzeit mit SWD Debuggen


von Steffen (Gast)


Lesenswert?

Hi,

ich arbeite seit kurzem mit einem STM32F4. STM32Cube bietet ja viele 
neue Debug Möglichkeiten mit dem SWD Interface.

Kann man sich auch den Zustand von nur einem GPIO quasi in Echtzeit 
anzeigen lassen? Ich habe z.B. mal das Datenregister vom SPI ausgelesen. 
Das hat ohne Probleme funktioniert.

Dann wollte ich mir einfach mal die Daten vom "GPIO port output data 
register" anzeigen lassen. Das wollte er aber nicht machen. Er hat 
einfach ohne Fehlermeldung nichts aufgezeichnet.

Ziel des Ganzen soll es sein mir die Ausgangssignale von einer 
Peripherie Leitung anzeigen zu lassen, also z.B. SPI oder so . Das ist 
aber vermutlich nicht möglich oder? Verzeiht es mir wenn das komplett 
utopisch ist :D:D:D.

Ich hab nur manche Beiträge im Internet gesehen wo Signale so schön 
gezeichnet wurden. Aber da hat man sich dann vermutlich einfach immer 
mit jedem Durchlauf der Endlosschleife den aktuellen Variablenwert 
anzeigen lassen oder ?.

Auch irgendwelche PWM Signale hab ich gesehen aber da weiß man halt auch 
nicht ob das der Duty-Cycle ist oder wirklich die GPIO Spannung :D.

http://blog.atollic.com/learn-serial-wire-viewer-debugging-on-cortex-m

http://blog.atollic.com/cortex-m-debugging-introduction-to-serial-wire-viewer-swv-event-and-data-tracing

http://info.atollic.com/hs-fs/hub/460400/file-2413851466-pdf/Whitepapers/Atollic_Serial_wire_viewer_realtime_tracing_whitepaper.pdf?hsCtaTracking=c92954ee-825c-40d4-994a-b785f7d7a5c6%7Ca9fb94cd-a492-4ce1-a7a8-1ca091fb448c

Mit diesen ITM Commands ist im Endeffekt immer nur gemeint das man sich 
wie z.B. beim Arduino die Infos Seriel ausgeben lässt oder?


Vielen Dank!

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Steffen schrieb:
> Dann wollte ich mir einfach mal die Daten vom "GPIO port output data
> register" anzeigen lassen. Das wollte er aber nicht machen. Er hat
> einfach ohne Fehlermeldung nichts aufgezeichnet.

Bei der System Workbench muss man das "I/O Register" Fenster öffnen, 
bevor man die Debugger-Sitzung startet. Wenn man es erst später startet, 
zeigt es nur die Default Werte der Register an.

> Ich hab nur manche Beiträge im Internet gesehen
> wo Signale so schön gezeichnet wurden

Meinst du Diagramme, so wie im Anhang? Die kamen sicher von einem "Logic 
Analyzer".

von Analyzer (Gast)


Lesenswert?

Stefanus F. schrieb:
> Analyzer

Bist du mit deiner Frau verheiratet oder mit diesem Forum hier? Das ist 
ja krass, was du hier alles postest.

von Stefan F. (Gast)


Lesenswert?

> Mit diesen ITM Commands ist im Endeffekt immer nur gemeint das
> man sich wie z.B. beim Arduino die Infos Seriel ausgeben lässt oder?

Du meinst wohl die ITM Messages. Die Schnittstelle hat noch andere 
Funktionen. Such mal in diesem Buch nach ITM: 
https://www.eecs.umich.edu/courses/eecs373/labs/refs/M3%20Guide.pdf

von Schnabeltasse (Gast)


Lesenswert?

>Kann man sich auch den Zustand von nur einem GPIO quasi in Echtzeit
>anzeigen lassen?

Selbstverständlich geht das.
Das sollte aus den Atollic Papieren auch hervorgehen.

Es könnte allerdings sein, dass der Debugger Deinem Programm den 
Registerwert "wegfrisst". In vielen Fällen führt ein Lesezugriff auf ein 
Peripherieregister, dass z.B der nächste Wert aus einem FIFO 
"nachrutscht"
oder dass irgendwelche Statusbits sich ändern!

von Steffen (Gast)


Angehängte Dateien:

Lesenswert?

Stefanus F. schrieb:
> Meinst du Diagramme, so wie im Anhang? Die kamen sicher von einem "Logic
> Analyzer"

Im Endeffekt will ich die gleiche Ansicht haben. Also nur die Signale. 
Aber halt mit dem Debugger und nicht mit dem Logic Analyzer.

Stefanus F. schrieb:
> Bei der System Workbench muss man das "I/O Register" Fenster öffnen,
> bevor man die Debugger-Sitzung startet. Wenn man es erst später startet,
> zeigt es nur die Default Werte der Register an.

Ne ich bekomme einfach keine Werte. Auf dem Bild Debug1 sieht man wie 
ich mir den Inhalt aus dem Daten Register vom SPI ausgeben lasse.
Wenn ich die Adresse dann einfach auf die Adresse von GPIO Port B ändere 
bleibt das Fenster einfach leer.

Stefanus F. schrieb:
> Du meinst wohl die ITM Messages. Die Schnittstelle hat noch andere
> Funktionen. Such mal in diesem Buch nach ITM:
> https://www.eecs.umich.edu/courses/eecs373/labs/refs/M3%20Guide.pdf

Ok :). Gucke ich mir mal an das ganze Buch sieht sehr gut aus ! :). 
DANKE

Schnabeltasse schrieb:
> Selbstverständlich geht das.
> Das sollte aus den Atollic Papieren auch hervorgehen.

Komischerweise gibt es für STM32Cube keine gescheite Anleitung .... nur 
irgendwelche Guides zum Wechseln der IDE . Das ist ziemlich nervig. Aber 
gut zu wissen das es geht :D.

Wenn das geht sollte es ja auch einfach mit der IDE gehen.

Vielen Dank !

von Steffen (Gast)


Lesenswert?

Also ich hab gerade nochmal das TrueStudio Manual durchgeschaut. Ich 
finde es irgendwie nicht.

Sicher das es geht?

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.