Hallo, ich habe neulich einen STM32F303 Mikrokontroller gekauft und möchte jetzt den in Booadmode versetzten. Den Pin Boot0 habe ich auf High geschaltet und den uC neu gestartet. Leider erkennt CubeIDE Progrmmer den nicht über DFU. Wie kann ich den uC über DFU flaschen? MfG Zain
Der DFU mode ist USB gebunden. Probier erstmal bei aktiviertem Boot pin deine CPU über USB mit dem PC zu verbinden.Da sollte dann vom PC ein DFU Treiber geladen werden. Bei ST gibt es die "DfuSeDemo" zum runterladen. Damit kannst du aus dem Hex File ein DFU File machen und das dann downloáden. Grüsse
Fehlt vielleicht der Pull-up Widerstand am USB? Oder sind nicht alle Vdd/Gnd Paare angeschlossen und mit einem Kondensator versehen? Geht den der serielle Bootloader? Zeige mal deinen Schaltplan.
Zain A. schrieb: > Leider erkennt CubeIDE Progrmmer den nicht über DFU. Der Bootloader versucht zu Beginn die verschiedenen unterstützten Schnittstellen durch UART, USB, SPI, I2C, ... es ist wichtig, dass die nicht zum verbinden vorgesehenen Schnittstellen einigermassen "still" sind. Schau noch in der nachfolgenden Application note nach, ob Dein exaktes Derivat überhaupt DFU kann. Die meisten F303 können es, aber "STM32F303x4(6/8)/334xx/328xx" können es nicht. In der Application note AN2606 von ST ist alles genau beschrieben: https://www.st.com/resource/en/application_note/an2606-stm32-microcontroller-system-memory-boot-mode-stmicroelectronics.pdf
:
Bearbeitet durch User
Das ist mein Schaltplan. Den Pullup Widerstand habe ich mit ESD Schutz für USB vorgesehen, wie auf dem Applikation Note AN4879 vorgeschrieben bzw. empfohlen ist.
der PC erkennt den uC gar nicht. Das ist das Problem. auf dem Applicaton note AN2606 ist mein DFU nicht unterstützt. Das hatte ich gesehen bevor ich den Schaltplan entworfen habe. Ein wissenschaftliche Mitarbeiter in meine Uni meinte es soll aber funktionieren obwohl ich ihn auf den AN2606 hinweisen habe....
In deinem Schaltplan fehlen VSS Pins: 31, 47, 64 Die müssen alle angeschlossen sein. Zain A. schrieb: > auf dem Applicaton note AN2606 ist mein DFU nicht unterstützt. Das halte ich für einen Irrtum. Der Mikrocontroller enthält einen DFU Bootloader. Das steht in der Application Note (Table 41) und auch im Datenblatt (Chapter 3.5).
alle VSS habe ich mit Masse verbunden. Da steht zwar nur ein VSS Anschluss, sind aber alle im Layout verbunden weil dieses Symbol so ist. Ich weiß nicht, wo du 31, 47 und 64 gesehen hast. Die sind alle ausgeblendet und mit VSS zusammengefasst.
:
Bearbeitet durch User
Vermutlich ist es nicht deine Problemursache, aber ich sehe dass du sämtliche Abblock-Kondensatoren indirekt durch ein VIA angeschlossen hast. Ich glaube, das ist keine gute Idee. Links sogar zwei VIAs und viel zu lange Leitungen. Da gehört ein Kondensator direkt an die Pins 12 und 13. Zain A. schrieb: > Ich weiß nicht, wo du 31, 47 und 64 gesehen hast. In der Pinbelegung im Datenblatt. > Die sind alle ausgeblendet und mit VSS zusammengefasst. Blende sie ein, wenn du kannst, um Verwirrung zu vermeiden.
Stefan F. schrieb: > ich sehe dass du sämtliche Abblock-Kondensatoren indirekt durch ein VIA > angeschlossen hast. Ich glaube, das ist keine gute Idee. genau so macht man das aber bei einem Multilayerboard. Man holt sich Vcc + GND per Via direkt am Kondensator und fährt vom kondensator dann den entsprechenden Vcc Pin an.
Thomas Z. schrieb: > Man holt sich Vcc + GND per Via direkt am Kondensator und fährt > vom kondensator dann den entsprechenden Vcc Pin an. Genau das hat er bei GND aber nicht gemacht. Er fährt nicht vom Kondensator den entsprechenden GND Pin an. Deine Empfehlung gilt doch auch für GND, oder nicht?
Stefan F. schrieb: > Deine Empfehlung gilt doch auch für GND, oder nicht? In einer idealen Welt ja, eine Anbindung der GND Pins via GND Plane ist aber auch ok da sehr niederomig.
Aus AN2606 für den F303: ... An external pull-up resistor 1.5 KΩ must be connected to USB_DP pin ...
Thomas Z. schrieb: > An external pull-up resistor 1.5 KΩ must be connected to USB_DP pin Hat er doch
Stefan F. schrieb: > Thomas Z. schrieb: >> An external pull-up resistor 1.5 KΩ must be connected to USB_DP pin > > Hat er doch stimmt hab ich bei dem Suchbild übersehen, ich gehe davon aus dass der ESD Schutz nicht bestückt ist sonst müsste zumindest ein unbekanntes Gerät erscheinen, unabhängig ob BOOT1 aktiviert ist oder nicht.
ich erzähle euch alles was neues. Ich habe den uC mit UART angeschlossen. CubeProgrammer hat den uC erkannt und dann eine Verbindung hergestellt. Dann habe ich aus versehen nBoot1 in Option Bytes ausgecheckt. Daraufhin erkennt der Programmer den uC nicht mehr. Allerdings kann das Win System ein neues USB Geräte feststellen aber nicht betreiben. CubeProgrammer kann kein DFU Verbindung feststellen.
Ich denke, du kannst das mit einem ST-Link Adapter über die SWD Schnittstelle zurück setzen.
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.