Forum: Mikrocontroller und Digitale Elektronik STM32F407igt6 defekt?


von Wolfgang S. (wolle62)


Lesenswert?

Ich komme absolut nicht weiter. Mir fehlt es hier an allen Ecken.
Der STM32 ist noch neu für mich.
Ich habe hier ein Steuerboard für 3D Drucker / CNC Fräsen etc. mit einem 
STM32F407igt6 Controller.
Nach einem Druckauftrag stieg das einfach so aus.
https://github.com/bigtreetech/BIGTREETECH-GTR-V1.0

Meine erste Messung waren die Betriebsspannungen und der 8MHz Quarz 
Oszillator und genau der arbeitet nicht mehr. Die Spannungen stimmen 
soweit, auch 3,3V aus einem Labornetzteil eingespeist bringen nichts. 
(Hameg 507 Oszi benutzt)
Daraufhin habe ich einen neuen identischen Quarz bestellt und eingebaut, 
weil schnell und billig erledigt, habe aber weiterhin kein Takt.
Die SMD Kondensatoren um den Quarz habe ich nur mit dem 
Komponententester versucht zu messen. Einen Kurzschluss hat keiner. Aber 
12pF richtig zu messen damit, da bin ich nicht sicher.

Über USB mit Windows 10 ist kein Kontakt mehr möglich, auch in den DFU 
Mode (Boot0 auf 3,3V gelötet) zu kommen geht nicht. (Kein Device im 
Gerätemanger)

Mit einem billigen ST-Link USB Adapter kann ich aber mit dem Chip 
Kontakt aufnehmen.
Dort sehe ich alle Daten des Chips, kann aber keinen Speicher auslesen, 
keine neue Firmware flashen, nichts löschen und das OptionByte nicht von 
"FF" (was ohnehin falsch ist) auf einen anderen Wert setzen.

Danach habe ich es über UART1 und UART2 mit einem USB Seriell Adapter 
versucht. Kein Kontakt möglich.
"No response from Target, the Bootloader can not be started. Please 
verify the boot mode configuration and the flash protection status. 
Reset your device then try again."

Ich habe mir gerade einen neuen "richtigen" FTDI Adapter (FT232 Chip) 
bestellt.
Damit werde ich es nächste Woche nochmal versuchen.

Danach habe ich nach diesem Video versucht rauszufinden, ob der 
Bootloader in irgendeinem Mode feststeckt:
https://www.youtube.com/watch?v=kTMjjED8ErA
Da habe ich auch kein Ergebnis erzielen können, kein Register änderte 
sich bei dem Versuch. Bestimmt nicht richtig gemacht...
Die Adressen für den Kommandozeilenbefehl habe ich aus dem Datenblatt 
angepasst.

Fragen:
Was kann ich nun noch versuchen?
Sollte ich es mit Linux probieren?
Kann so ein Chip im Betrieb "halb" kaputt gehen?
Kann man den Chip anders komplett löschen?
Was übersehe / verstehe ich wieder mal nicht?

Der "Faulty Check" in der STM32 Cube Programmer Software sagte mir, dass 
der Chip in Ordnung sei? Aber ich solle mich nicht 100% darauf verlassen 
(sinngemäß)

Ich würde gern alles versuchen, bevor ich den Chip auslöte und einen 
neuen einlöte. Würde sich bei dem Board lohnen, das hat über 100,- EUR 
gekostet.

von Peter (Gast)


Lesenswert?

Genau kann ich da nicht helfen.

Aber nach meiner Erfahrung mit dem 407 ist der Bootloader schlecht. Der 
braucht zwischen zeitlich einen reset beim brennen, aber da ich nicht 
alles rausgeführt habe muss ich nun immer über die swd Schnittstelle 
programmieren.

Der Prozessor startet immer mit dem internen tackt und erst das Programm 
schaltet den Quarz an.
Wenn der Flash leer ist oder defekt wird da nix schwingen.

Mehr kann ich da nichts aus der Ferne sagen.

von pegel (Gast)


Lesenswert?

Wird die Platine über USB und Netzteil versorgt?

Probier doch mal für die Programmierung den Chip nur über USB bzw. den 
Adapter zu versorgen. Die Geräteversorgung aus lassen!

von Wolfgang S. (wolle62)


Lesenswert?

Das habe ich beides versucht. Da gibt es extra Jumper für.
Ist aber immer das selbe Ergebnis.

: Bearbeitet durch User
von Peter (Gast)


Lesenswert?

Klingt für mich nach Müll.

Wenn der stlink da nicht richtig dran kommt hast du echt schlechte 
Karten, Bootloader aber aus lassen.

Der Boot 0&1 sind aber auf richtigen Pegel? Nicht das der auf dem 
falschen Bereich steht und deshalb nichts geht.

von Wolfgang S. (wolle62)


Lesenswert?

Ich hatte hier:
Beitrag "STM32F407 aus Arduino-IDE als DFU-Device flashen"
gelesen, dass es passieren kann, dass man den Controller in einen nicht 
ansprechbaren Zustand versetzen und zurückholen kann.
Das bezieht sich aber auf die Arduino IDE wie ich sehe.

Daher meine Frage, ob ich es mit Linux versuchen sollte. Womöglich lässt 
sich meiner nach der selben Methode auch wiederbeleben?

Ein Versuch kann nicht schaden....

von Peter (Gast)


Lesenswert?

Probiert es aus.
Aber wie gesagt ich denke der ist platt, weil der stlink sollte immer 
gehen.

Oder kann man den 407 irgendwie so dicht machen, das selbst der Debugger 
den nicht mehr löschen kann?

von uln (Gast)


Lesenswert?

> Mit einem billigen ST-Link USB Adapter
> kann ich aber mit dem Chip Kontakt aufnehmen.

Dann kannst Du ja mal versuchen, dasHSEON Bit im RCC_CR zu setzen - 
falls das klappt und Du mit dem Oszi dann nichts messen kannst, sollte 
der Chip wirklich hinüber sein.

von Wolfgang S. (wolle62)


Lesenswert?

Heute habe ich den neuen FT232 Adapter bekommen und nochmal alle 
möglichen UARTS versucht, aber kein Kontakt möglich. Nur über ST_Link.

Kannst Du mir das "wie" genauer erklären?
"dasHSEON Bit im RCC_CR zu setzen"
Geht das über ST-Link?

Wenn ich den CHip irgendwo günstig bekommen könnte, wäre ja gut, aber 
wie es aussieht ist die günstigste Variante den zu bekommen, genau mein 
defektes Board bei ALI neu zu kaufen. Das macht keinen Sinn.

Falls jemand von Euch den noch hat oder ein Angebot sieht, dann würde 
ich mich über eine Meldung freuen.

: Bearbeitet durch User
von pegel (Gast)


Angehängte Dateien:

Lesenswert?

Falls dein Chip sowieso gelöscht ist und Du das kleine Testprogramm 
probieren möchtest:

an MCO1-PA8 werden ca. 4MHz geteilt von HSI ausgegeben
an MCO2-PC9 werden genau 2MHz geteilt von HSE ausgegeben

wenn das Progrämmchen sich über SWD flashen lässt.
Dann wäre das schon mal geklärt und eine Messung am Quarz erübrigt sich.

Falls bei 407ig.bin 4 und 5 MHz rauskommen, hast Du evtl. einen 25MHz 
Quarz auf dem Board.

von Wolfgang S. (wolle62)


Lesenswert?

Danke, das habe ich geahnt, dass es um ein Code geht.
Leider lässt sich der Chip weder löschen noch flashen.
Der Quarz ist 8 MHz, Ich habe ja das Schaltbild von dem Board...

Der Oszi / Tastkopf kann das, habe ich an einem 16Mhz Arduino Mega 
getestet.

Ja schade drum, manchmal erwischt es einen eben doch mal mit einem 
unerklärlichen Defekt.

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.