Forum: Mikrocontroller und Digitale Elektronik STM32F103C8T6 Bootloader Problem (Black Magic Probe)


von Markus S. (acepilot)


Lesenswert?

Hallo zusammen,

In der vergangen Woche habe ich versucht mit der Hilfe von dem User 
robberknight einen meiner ST-Link V2 Clone zu einem Black Magic Probe zu 
flashen. Nach einigen anläufen konnte ich auch den DFU Bootloader 
installieren, dieser belegt die ersten 8kByte des Flashes.

Mit Hilfe diesem Bootloaders sollte es ja möglich sein die Firmware in 
den Controller zu flashen, gesagt getan es kommt beim Flashen auch keine 
Fehlermeldung. Ziehe ich den Stick ab und stecke ihn erneut in den USB 
wird er aber immer noch nicht als Black Magic Probe erkannt, er läuft 
nach wie vor in den DFU Bootloader. Also das ganze nochmal mit einem 
STM32F103C8T6 Minimum Board probiert, gleiches verhalten :-(. Über die 
ST-Link Software konnte ich aber verifizieren, dass die Firmware über 
dem DFU Bootloader korrekt geflasht wurde. Verstehe aus diesem Grund 
nicht warum der Controller nicht sauber startet.

Bei dem vielen rumprobieren, gerade mit dem Dev Board ist mir dann 
folgendes aufgefallen:
Versorge ich das Dev Board extern mit Spannung und drücke einmalig den 
Reset Button und stecke dann das USB Kabel an, wird die Hardware korrekt 
als Black Magic Probe erkannt. Ohne dieses Prozedere rennt der 
Controller immer den DFU Bootloader.

Was habe ich übersehen, bzw. wie kann ich dieses Verhalten abstellen, so 
dass die Software auch durch simples anstecken an den USB Port sauber 
hochläuft.

Als Firmware habe ich die aktuellen Binaries von dem folgenden Link 
verwendet:
http://blacksphere.co.nz/builds/

Gruß,
Markus

von Axel S. (a-za-z0-9)


Lesenswert?

Markus S. schrieb:
> In der vergangen Woche habe ich versucht mit der Hilfe von dem User
> robberknight einen meiner ST-Link V2 Clone zu einem Black Magic Probe zu
> flashen.
...
> Versorge ich das Dev Board extern mit Spannung und drücke einmalig den
> Reset Button und stecke dann das USB Kabel an, wird die Hardware korrekt
> als Black Magic Probe erkannt. Ohne dieses Prozedere rennt der
> Controller immer den DFU Bootloader.
>
> Was habe ich übersehen, bzw. wie kann ich dieses Verhalten abstellen, so
> dass die Software auch durch simples anstecken an den USB Port sauber
> hochläuft.

Meines Erachtens gar nicht. Die originale BMP Firmware läuft nicht auf 
den handelsüblichen STM32F103C8 Boards. Und zwar aus zwei Gründen nicht:

1. die originale BMP Hardware hat einen schaltbaren Pullup an D+ des USB 
und kann so die Re-Enumerierung erzwingen. Das ist vermutlich, was bei 
dir nicht klappt.

2. die originale BMP Hardware verwendet einen STM32F103CB (B statt 8) - 
der hat 128KB Flash. In die 64K des C8 paßt die BMP Firmware gar nicht 
rein. Das ist vermutlich kein wirkliches Problem, da man immer wieder 
hört, der C8 hätte in Wahrheit 128K Flash.

Allerdings kann man beide Probleme auf einmal erschlagen, indem man 
einfach eine passend abgerüstete Firmware verwendet:
http://www.stm32duino.com/viewtopic.php?f=37&t=122

Das funktionierte bei mir auf Anhieb mit einem 
STM32F103C8T6 STM32 Billig Board

von Markus S. (acepilot)


Lesenswert?

Aargh, ok das hätte ich auch früher sehen können. Mit deinem Link habe 
ich den ST Link nun mit der neuen Firmware ans laufen gebracht. Danke 
dafür!

Nun schaue ich gerade wie ich das ganze in der CoIDE von Cocoox ans 
laufen bekomme.

Hat in diesem bereich noch jemand einen Tipp von Euch?

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.