stm32f103 nach Flashversuch "tot"?

Gast #3988136
Lesenswert?

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
#3988585
Lesenswert?

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?
Gast #3988621
Lesenswert?

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...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren