STM32F100 Discovery -- habe ich mich ausgesperrt?

Gast #5702741
Lesenswert?

Hallo,

ich habe ein STM32F100 Discovery Board mit dem STM32F100RBT6B darauf. Da 
ich an PA13, PA14 und PA15 ein Display angeschlossen habe, habe ich 
diese Pins (die ja für SWJ sind) als normale GPIOs konfiguriert, so wie 
Stefan es hier gezeigt hat: http://stefanfrings.de/stm32/
1
// Enable clock for alternate functions
2
SET_BIT(RCC->APB2ENR, RCC_APB2ENR_AFIOEN);
3
    
4
// Disable both SWD and JTAG to free PA13, PA14, PA15, PB3 and PB4
5
MODIFY_REG(AFIO->MAPR, AFIO_MAPR_SWJ_CFG, AFIO_MAPR_SWJ_CFG_DISABLE);

Leider kann ich jetzt den Mikrocontroller nicht mehr programmieren. Habe 
ich mich ausgesperrt, oder gibt es noch Hoffnung?

Viele Grüße,
Georg
Gast #5702851
Lesenswert?

Hallo,

Danke für die Hinweise, aber leider fehlt in meinem ST-Link der Eintrag 
"Connect under Reset". Es gibt dort nur "System mode reset" und "core 
reset" zur Auswahl. Woran kann das liegen?

@Stefanus: ja, jetzt ist es verständlich und klar geworden. Vielen Dank.

Gibt es noch andere Möglichkeiten, z.B. die Boot-Pins umzulegen, sodass 
der Mikrocontroller beim Start das Programm nicht ausführt und ich dann 
zumindest den Flash löschen kann?

Oder könnte ich über UART noch programmieren?

Viele Grüße,
Georg
Gast #5702899
Lesenswert?

Georg schrieb:
> leider fehlt in meinem ST-Link der Eintrag "Connect under Reset"

Das finde ich seltsam, denn in der Doku steht:
"The “connect under reset” option makes it possible to connect to
the target before executing any instruction. This is useful in many
cases like when the target contains a code that disables the JTAG/SWD
pins. "

"18-Oct-2011 Added support of “Connect under reset” option"

https://www.st.com/content/ccc/resource/technical/document/user_manual/e6/10/d8/80/d6/1d/4a/f2/CD00262073.pdf/files/CD00262073.pdf/jcr:content/translations/en.CD00262073.pdf

Hast du vielleicht eine extrem alte Softwareversion installiert?

> Oder könnte ich über UART noch programmieren?

Ja.
Gast #5703495
Lesenswert?

Hallo,

habe das Problem jetzt so gelöst, dass mir eingefallen ist, dass die 
Software erst nach ein paar Millisekunden das SWJ deaktiviert. Daher 
habe ich dann den Controller mit dem Reset-Button resettet und 
währendessen geflasht (Mit einem Programm, welches SWJ nicht 
deaktiviert). Nach ein paar Versuchen hat es geklappt, diese Software zu 
flashen und jetzt funktioniert wieder alles ganz normal. Danke für die 
Unterstützung.

Die Version von ST-Link hatte ich vor ein paar Tagen installiert und da 
direkt von der ST-Webseite runtergeladen. Sollte also eigentlich eine 
relativ neue Version sein. Habe Win10. Kann das damit zusammen hängen?

Wie kann man über UART programmieren? (Nur so aus Interesse).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren