Forum: Mikrocontroller und Digitale Elektronik ARM STM32FR4 ST1-Link auf Discovery Board "no connect"


von Helmut S. (helmuts)


Lesenswert?

Ich habe diesen Beitrag mit eigenem Betreff nochmals geschrieben da er 
in dem anderen Betreff unter ging.

Hallo,
Heute ist es passiert. Ich konnte plötzlich das STM32F4 Discovery Board
in der CooCox IDE nicht mehr flashen und debuggen. Das on-board ST-Link
kam immer mit der Fehlermeldung "Connection failed". Hab dann alle
möglichen Settings für Debugger und Download probiert. Nichts half.
Fest steht damit, dass man mit falschen Config-Befehlen am Port-A sich
so aussperren kann, dass man in CooCox keinen neuen Code mehr auf den
Prozessor flashen kann. Ich weiß nicht ob das mit einem echten externen
ST-Link oder einem Segger J-Link auch so ist, dass man aus CooCox nicht
mal mehr den "reparierten" Code flashen kann. Hoffentlich nicht.


Eigentlich wollte ich ja nur PA0 (Button-1) als Eingang konfigurieren.
Hatte dazu einfach alle 16 Eingänge auf Input mode gesetzt.

GPIOA->MODER = GPIOA->MODER & 0x00000000;


Ich habe mich dann erinnert, dass es da noch ein Programmier-Programm
"STM32 ST-Link Utility" gibt.
http://www.st.com/web/en/catalog/tools/PF258168
Das Flashen ging aber erst auch nicht. Dann habe ich in Settings das
gewählt:
Target->Settings   Connection Mode: Connect under Reset
Damit konnte ich dann den "guten" Code wieder flashen und ab da klappte
auch das Flashen und Debuggen in CooCox wieder.

Der bessere Befehl. Mit der Zeile verändere ich nur PA0.

GPIOA->MODER = GPIOA->MODER & 0xfffffffc; // Pin 0 als Eingang
deklarieren

Wie macht man denn das allgemein besser um einen Eingang zu definieren?

Irgendwie habe ich den Eindruck jeder macht es anders (Bit oder Word)
bzw. hat andere Libraries.

Gruß
Helmut

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.