mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32F100 Discovery -- habe ich mich ausgesperrt?


Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/
// Enable clock for alternate functions
SET_BIT(RCC->APB2ENR, RCC_APB2ENR_AFIOEN);
    
// Disable both SWD and JTAG to free PA13, PA14, PA15, PB3 and PB4
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

Autor: Jim M. (turboj)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der Software für den ST-Link: "Connect under Reset" [x].

Autor: STM Apprentice (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jim M. schrieb:
> In der Software für den ST-Link: "Connect under Reset"

... und vorher aber das Display abklemmen.

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Georg, kannst du mal schauen, ob ich das auf meine Homepage jetzt klarer 
beschrieben habe?

Autor: Georg (Gast)
Datum:

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

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jim M. schrieb:
> In der Software für den ST-Link: "Connect under Reset"

Alternativ BOOT 0 und BOOT 1 so jumpern, dass er den Bootloader startet.
Dadurch wird dein Code, der das SWD deaktiviert, nicht ausgeführt und du 
kommst mit SWD wieder drauf.

Autor: Stefanus F. (stefanus)
Datum:

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

: Bearbeitet durch User
Autor: Georg (Gast)
Datum:

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

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das auf meiner Homepage beschrieben. Schau sie dir nochmal an.

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.