Forum: Mikrocontroller und Digitale Elektronik STM CubeIDE - Debugger hängt sich auf


von Mike (Gast)


Lesenswert?

Ich arbeite mich gerade in die CubeIDE von STM ein, bisher habe ich 
erfolgreich mit Keil gearbeitet. Zielsystem ist ein Blue-Pill-Board mit 
originalem STM32F103C8. Programmiert wird über ein ST-Link V2.
Ich habe ein minimales Programm geschrieben, das zunächst nur eine LED 
am Pin PC13 toggeln soll. Dieser Pin ist in der Konfiguration als 
digitaler Output geschaltet, alle anderen Pins sind unverändert (grau).
Das Kompilieren verläuft ohne Fehler und der Debugger scheint zunächst 
normal zu funktionieren, Single-Step ist möglich. Leider hängt er sich 
dann in der HAL-Initialisierung an folgender Zeile auf:
1
 __HAL_AFIO_REMAP_SWJ_DISABLE();

Was macht dieser Makro genau? Es sieht so aus, als ob das SWD-Interface 
deaktiviert wird und sich der Debugger den Ast absägt, auf dem er sitzt. 
Auskommentieren löst das Problem nur vorübergehend. Sobald man aber 
irgendetwas an der Konfiguration ändert, ist die Zeile wieder da. Gibt 
es eine Möglichkeit, sie permanent zu unterdrücken?

von Kevin M. (arduinolover)


Lesenswert?

Mike schrieb:
> Es sieht so aus, als ob das SWD-Interface
> deaktiviert wird und sich der Debugger den Ast absägt, auf dem er sitzt.

Ist doch logisch oder?

PA13 ist der IO-Pin des SWD, wenn du den für das ansteuern einer LED 
nutzten willst muss er umkonfiguriert werden und der Debugger kann 
logischerweise nicht mehr Funktionieren...

Mike schrieb:
> Gibt
> es eine Möglichkeit, sie permanent zu unterdrücken?

nicht wenn du debuggen willst, nimm einen anderen Pin für dein minimal 
Programm.

von Mike (Gast)


Lesenswert?

Kevin M. schrieb:
> PA13 ist der IO-Pin des SWD, wenn du den für das ansteuern einer LED
> nutzten willst muss er umkonfiguriert werden und der Debugger kann
> logischerweise nicht mehr Funktionieren...

Die LED hängt an PC13, nicht PA13. PA13 habe ich nicht angerührt.

von Dr. MCU (Gast)


Lesenswert?


von Mike (Gast)


Lesenswert?

Dr. MCU schrieb:
> Mike schrieb:
>> Gibt
>> es eine Möglichkeit, sie permanent zu unterdrücken?
>
> 
https://community.st.com/s/question/0D50X00009XkZBsSAN/stm32cubemx-disables-swd-by-default-for-f1
Danke, mit der Auswahl "Serial Debug" funktioniert es. Blöd, wenn hier 
in der Debug-Konfiguration "No Debug" voreingestellt ist.

von Johannes S. (Gast)


Lesenswert?

Mike schrieb:
> Blöd, wenn hier
> in der Debug-Konfiguration "No Debug" voreingestellt ist.

Genauso blöd finden es diejenigen die den Pin für IO benutzen wollten 
und wegen SWD/JTAG als Voreinstellung ebenso lange den Fehler gesucht 
haben. Man kann es nicht allen recht machen.
Früher gab es hier jede Woche die Meldung 'der PortC an meinem ATMega 
funktioniert nicht'...

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.