Hallo, mein Ziel war eigentlich diese Sofware in einen STM32F103 zu flashen: https://github.com/j1rie/IRMP_STM32 Ich habe mit diesen Chips null Erfahrung. Als Programmer verwende ich einen ST-Link V2. Zum Flashen habe ich erst st-flash versucht: https://github.com/texane/stlink (Windows habe ich nicht!) Da mir dieses Programm aber nur angezeigt hat, dass nichts geschrieben wurde, ohne einen konkreten Fehler auszugeben, bin ich davon ausgegangen, dass mein Chip möglicherweise "irgendwie" gelockt ist. Ein "st-flash erase" war aber komischerweise erfolgreich. Während mit der Original-Firmware, die im Chip war, eine der LEDs permanent geleuchtet hat waren nach dem "erase" beide aus. Also mit "OpenOCD" probiert. Dort habe ich dann unter anderem ein "stm32f1x unlock 0" ausgeführt. Irgendwann habe ich es dann tatsächlich geschafft die Firmware zu flashen. Weitere Flashvorgänge, sowohl mit OpenOCD als auch mit st-flash, waren ab dann nicht mehr möglich und die zwei LED auf der neu geflashten Platine blinken ab jetzt abwechselnd. Erst später bin ich auf den Reset-Pin aufmerksam geworden. Wenn ich diesen vor dem Flashen auf GND ziehe kann ich mit st-flash flashen und auch die Verifikation ist erfolgreich. Trotz sauberer Firmware bekomme ich beim Anschließen aber nurnoch: [ 2068.103728] usb 1-1: new full-speed USB device number 2 using xhci_hcd [ 2068.217014] usb 1-1: device descriptor read/64, error -71 [ 2068.323573] xhci_hcd 0000:02:00.0: Setup ERROR: setup context command for slot 1. [ 2068.327349] usb 1-1: hub failed to enable device, error -22 [ 2068.436815] usb 1-1: new full-speed USB device number 3 using xhci_hcd [ 2068.550102] usb 1-1: device descriptor read/64, error 18 [ 2068.656663] xhci_hcd 0000:02:00.0: Setup ERROR: setup context command for slot 1. [ 2068.660448] usb 1-1: hub failed to enable device, error -22 [ 2068.773235] usb 1-1: new full-speed USB device number 4 using xhci_hcd [ 2068.773866] xhci_hcd 0000:02:00.0: ERROR: unexpected setup address command completion code 0x6. [ 2068.980792] xhci_hcd 0000:02:00.0: ERROR: unexpected setup address command completion code 0x6. [ 2069.186265] usb 1-1: device not accepting address 4, error -22 [ 2069.296195] usb 1-1: new full-speed USB device number 5 using xhci_hcd [ 2069.296483] xhci_hcd 0000:02:00.0: ERROR: unexpected setup address command completion code 0x6. [ 2069.503332] xhci_hcd 0000:02:00.0: ERROR: unexpected setup address command completion code 0x6. [ 2069.709220] usb 1-1: device not accepting address 5, error -22 [ 2069.713114] usb usb1-port1: unable to enumerate USB device Status ist also, dass ich den Chip zwar beschreiben kann, die USB-Kommunikation, die vor meinen Flashversuchen funktioniert hatte, aber irgendwie "kaputt" ist. Dafür blinken die zwei LEDs jetzt permanent abwechselnd. Gibt es eine Lösung außer "wegwerfen"? Danke im Voraus Gruß Manuel
Die Loesung heisst "in kleine Schritte aufteilen " und "debuggen". Wenn DU schon Openocd am laufen hast, dann kanns Du auch den Debugger starten. Der USB Teil laesst sich zwar wegen der Zeitanforderung nicht debuggen, aber vielleicht kannst Du dich ja an das "laufende" Programm "attachen" und daraus Schluesse ziehen..
Manuel schrieb: > Erst später bin ich auf den Reset-Pin aufmerksam geworden. Wenn ich > diesen vor dem Flashen auf GND ziehe kann ich mit st-flash flashen und > auch die Verifikation ist erfolgreich. Das Problem hatte ich auch mal. Ursache war, dass ich die Konfiguration der Pins an denen das SWD hängt geändert habe. Ich habe mich also selbst ausgesperrt. Durch den Reset sind die Pins erst einmal nicht konfiguriert, wodurch das Beschreiben funktioniert. Könnte es also sein, dass du dich mit deinem Programm selbst aussperrst, da die Pins falsch initialisiert sind?
Die Pins, über die programmiert wird, werden in der Tat umprogrammiert. Folglich könnte es auch sein, dass ich schon bei meinem Versuch mit OpenOCD zu flashen einen sauberen Flash hinbekommen hatte. Mit Reset geht das Flashen dann auf jedem Fall auch mit st-flash problemlos. Mein wirkliches Problem ist, dass das Programm eigentlich sauber sein müsste. Trotzdem funktioniert es auf meiner Platine nicht. Ich habe gestern noch andere Platinen bekommen. Genau die Variante auf der das Programm getestet ist. Mal sehen wie sich das ganze dort verhält...
Ich habe jetzt mal eine andere Platine als Programmer verwendet und jetzt scheint erstmals alles so zu funktionieren wie es soll... Wundert mich, dass der Programmer hier einen Einfluss hat... Zumal ja nicht nur Flashen sondern auch der Verify erfolgreich waren...
Hallo Manuel, welches Board nutzt Du? (40poliges China-Miniboard mit MicroUSB?) Beim 103er über JTAG bekomme ich auch Fehlermeldungen. Flashen geht, Debug bringt Command-Error. Hast Du USB-HID am laufen? Mit Gruß Pieter
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.