Forum: Compiler & IDEs Variablen zur Laufzeit sehen. Möglich bei STM32CubeIDE?


von TomW (Gast)


Lesenswert?

Hallo,
irgendwie werde ich aus der Suche im Web nicht schlau.
Kann ich bei der STM32CubeIDE Variablen zur Laufzeit betrachten, ohne 
den Debugger anzuhalten?
Manchmal lese ich, dass man dafür einen J-Link von Segger braucht.
Ich meine aber nicht, die Möglichkeit 4 ausgesuchte Variablen im SWV 
Graphen darzustellen. Ich meine eher so etwas wie das Variablenfenster.

Danke. Tom.

von pegel (Gast)


Lesenswert?

Ja, geht.

Probier es aus. Mit einem einfachen Blinky.

In der main.c:
1
/* USER CODE BEGIN PV */
2
volatile uint32_t z;
3
/* USER CODE END PV */

und
1
  /* Infinite loop */
2
  /* USER CODE BEGIN WHILE */
3
  while (1)
4
  {
5
    /* USER CODE END WHILE */
6
7
    /* USER CODE BEGIN 3 */
8
    z++;
9
    HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
10
    HAL_Delay(500);
11
    if (z>9)z=0;
12
  }
13
  /* USER CODE END 3 */

Wenn Du dir z in "Live Expressions" ansiehst, zählt er munter vor sich 
hin.

von pegel (Gast)


Lesenswert?

Es geht sogar noch weiter.
Unter SFR kannst Du alle Registerwerte zur Laufzeit ändern.

von TomW (Gast)


Lesenswert?

Hallo pegel,
danke schön. Hat jetzt geklappt. Es lag an 2 Fehlern:
1. Ich hatte die Variable innerhalb der main(), also auf dem Stack.
2. Die Variable in der Liste "Live Expressions" wird als ungültig 
markiert. Man muss sie rauslöschen und grad wieder neu eintragen. Dann 
geht es. Muss man seltsamerweise nach jedem Kompilieren wieder machen. 
Und auch nur den 1. Eintrag in der Liste. Scheint ein Bug in der IDE zu 
sein.

Danke jedenfalls!

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.