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.
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.
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!
Das habe ich beides versucht. Da gibt es extra Jumper für. Ist aber immer das selbe Ergebnis.
:
Bearbeitet durch User
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.
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....
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?
> 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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.