Forum: Mikrocontroller und Digitale Elektronik STM32F405 nicht mehr programmierbar


von Felix G. (felixg)


Lesenswert?

Hallo,

wie im Titel schon beschrieben, lässt sich mein STM32F405 nach 
einmaligem Programmieren nicht erneut flashen.
Dazu ist zu sagen, dass ich heute eine neue Platine bekommen habe und 
dafür ein bestehendes Programm, welches mit der alten Platinenversion 
und auf dem gleichen µC funktionert, aufgespielt habe. Es wurden nur 
Veränderungen in der Pinkonfiguration vorgenommen.

Wie gesagt, konnte ich das Programm das erste Mal ohne Probleme flashen 
und jetzt bekomme ich über die SWD Pins keine Kommunikation zwischen µC 
und PC auf die Reihe.

Ich programmiere mit der Coocox IDE und habe auch schon probiert mit 
ST-LINK Utility auf den µC zuzugreifen, jedoch ohne Erfolg.

Meine Frage daher, kann es sein, dass durch die Softwareänderung der µC 
alle Dienste verweigert oder ist es eher ein Hardwareproblem.

von Daniel A. (daniel-a)


Lesenswert?

Zeig mal layout und Programm. Vileicht hast du durch falsche 
pinnbelegung einen kurzschluss verursacht und den uc gegrillt.

von Steffen R. (steffen_rose)


Lesenswert?

Was hast Du verändert? Warum hast Du die Pinkonfiguration geändert?
Wie genau äußert sich das Problem (kein Connect, kein Erase, Flashen 
wird verweigert)?

Du könntest noch versuchen an den eingebauten UART Bootloader zu kommen.

Wenn Du allerdings ausversehen die Sicherheitsfeatures aktiviert hast 
wird es schwierig. Ist aber im Moment eher Orakeln.

von Christopher B. (chrimbo) Benutzerseite


Lesenswert?

Hast du vielleicht die SWD Pins umkonfiguriert? Ich bin mir beim F4 
nicht ganz sicher, aber du kannst doch sicher an den Boot Pins 
einstellen, dass er im RAM startet. Dann sollte auch SWD wieder 
funktionieren.

LG
Christopher

von Felix G. (felixg)


Lesenswert?

Das Layout und das Programm kann ich leider nicht veröffentlichen. Das 
Layout wurde extern von einer Firma entwickelt, daher sollte das eig. 
funktionieren.  Ich habe jetzt nochmal einen Pin am µC gemessen, der 
definitiv HIGH sein sollte und kann dies bestätigen. Ich gehe also davon 
aus, dass der µC an sich funktioniert und das Programm abspielt.

Ich habe im GPIO-Register mit den vorgefertigten Funktionen der 
stm32f4xx_gpio.c Lib, jeweils die Pins neu konfiguriert. Das war nötig, 
um andere Pins zu nutzen, die layout-technisch günstiger liegen.

Die SWD-Pins habe ich nicht angerührt.

Was sollen das für Sicherheitsfeatures sein?

BOOT0 ist auf Masse gezogen und BOOT1 offen.

ST-LINK zeigt einen Fehlermeldung "No Target Connected" also überhaupt 
keine Kommunikation.

CooCox sagt mir "Error: Connect failed, check config and cable 
connection"

Das gleiche Programm habe ich eben noch auf ein Discoveryboard mit dem 
gleichen µC geflasht und dort kann ich danach auf alles zugreifen.

von Stefan (Gast)


Lesenswert?

Wenn es nur auf dem neuen Board auftritt und es beim ersten Mal ging, 
kann es auch ein Kurzschluß gegen einen anderen gpio sein:

Vor dem ersten Programmieren ging alles, weil der gpio High-Z war. Jetzt 
ist er als Output konfiguriert und beeinflusst durch einen Kurzschluß 
den SWD-Pin ?!

Mess mal nach, was sich auf dem SWD-Pin bewegt.

Gruß, Stefan

von Uwe Bonnes (Gast)


Lesenswert?

Eventuell Schreibschutz gesetzt?

von Steffen R. (steffen_rose)


Lesenswert?

Felix G. schrieb:
> Was sollen das für Sicherheitsfeatures sein?

Option bytes:
0xCC: Level 2, chip protection (debug and boot from RAM features 
disabled)

von Felix G. (felixg)


Lesenswert?

Ich habe mir jetzt das Flash Programming Manual angesehen. Um den 
Schreibschutz oder ähnliches zu aktivieren, müsste ich softwareseitig 
Einstellungen vornehmen. Das heißt, dass mein Programm auf jedem 
Mikrocontroller eine Sperrung hervorrufen würde. Da aber das gleiche 
Programm auf dem Discoveryboard geflasht wurde und ich immer noch auf 
den µC zugreifen kann, kann ich das Thema Schreibschutz meiner Meinung 
nach ausschließen.

Mit dem Multimeter messe ich bei SWDIO 3,3V und bei SWDCLK 0V, wenn der 
Programmieradapter abgesteckt ist. Ist die 3,3V Spannung normal bei 
SWDIO? Ansonsten könnte dort evtl. ein Kurzschluss liegen.

von m.n. (Gast)


Lesenswert?

Felix G. schrieb:
> Das
> Layout wurde extern von einer Firma entwickelt, daher sollte das eig.
> funktionieren.

Falsche Annahme :-)

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.