Forum: Compiler & IDEs Variablen Monitoring über Debug- Schnittstelle, wie STM32 Studio


von Jannik (Gast)


Lesenswert?

Hallo Zusammen,

Ich suche schon lange ein Programm, mit dem ich auf den RAM meines 
Microcontrollers (STM32) direkt zugreifen kann und die ausgelesen Wert 
darstellen und speichern kann. Auch mit Graphen über der Zeit.
Jetzt ich auch STM Studio gestoßen und dachte, dass alle meine Wünsche 
erfüllt sind, aber leider ist der Support für C++ nicht wirklich 
vorhanden, schade.

Leider finde ich im Internet keine Verweise auf vergleichbare Tools.
Kennt Ihr noch weitere Tools, die folgende Funktionen erfüllen:
- direkter Zugriff auf RAM über die Debug Schnittstelle ( nicht 
inversiv)
- ploten von erfassten Werten über die Zeit
- Abspeichern der erfassten Werte
- auslesen der möglichen variablen auf Binärdatei

Ich schaue mir gerade noch an was Atollic TrueStudio bzw. Sw4STM32 kann, 
aber ich erwarte hier das gleiche wie in STM Studio.

von Adam P. (adamap)


Lesenswert?

Jannik schrieb:
> Debug Schnittstelle

Meinst du damit eine UART Schnittstelle oder das SWD/JTAG?

von Bernd K. (prof7bit)


Lesenswert?

Segger J-Scope

von Jannik (Gast)


Lesenswert?

Das ist mir eigentlich egal, solange ich auf der qC nicht definieren 
muss was über die Schnittstelle geschickt wird, sondern ich auf Basis 
von Speicheradressen auslesen kann.

von Til S. (Firma: SEGGER) (til_s)


Lesenswert?

Bernd K. schrieb:
> Segger J-Scope

Oder auch J-Link SDK: 
https://www.segger.com/products/debug-probes/j-link/technology/j-link-sdk/

Dann könnte man sich relativ einfach ein Python Script dafür schreiben.

von Jannik (Gast)


Lesenswert?

Das ist eine interessante Info, mit der SDK. Jetzt müsste ich mal 
schauen, ob es für Python fertige Swarf- Parser gibt.

J-Scope kann leider noch schlechter als STM-Studio mit C++ Symbolen 
umgehen...

von Besserwisser (Gast)


Lesenswert?

Dwarf parser

von pegel (Gast)


Lesenswert?

Jannik schrieb:
> sondern ich auf Basis
> von Speicheradressen auslesen kann.

Das geht im laufenden Betrieb mit dem CubeProg.
1
# ./STM32_Programmer.sh -c port=SWD mode=HotPlug -coreReg  -r32 0x20000000 16 -r32 0x08000000 16

Register und Speicher setzen ist genau so möglich.
Für Einzelheiten hilft:
1
# ./STM32_Programmer.sh -h

Damit liegen zumindest alle Informationen im Textformat vor.

von Aaron C. (Firma: atcnetz.de) (atc1441)


Lesenswert?

Ich habe so etwas ähnliches über openocd gemacht.


Hier als video und code in der Beschreibung: 
https://youtu.be/5ymh3p8gKiQ

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.