mikrocontroller.net

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


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 TomW (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Ja, geht.

Probier es aus. Mit einem einfachen Blinky.

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

und
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
    z++;
    HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
    HAL_Delay(500);
    if (z>9)z=0;
  }
  /* USER CODE END 3 */

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

von pegel (Gast)


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

von TomW (Gast)


Bewertung
0 lesenswert
nicht 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!

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.

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