Forum: Mikrocontroller und Digitale Elektronik STM32-comStick USB-Bootloader


von blup (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

wollte mit dem ComSticke etwas mit dem Bootloader spielen. Genauer 
gesagt ist das Ziel vom USB-Stick das Device flashen zu können.
Nun verlangt der µC (STM32F107VC) dafür einen externen Oscillator. ich 
habe aber keinen gefunden auf dem Stick selber, was bedeuten würde, dass 
ich einen an den PD0-Pin anschließen müßte.
Wollte nur fragen, ob ichs richtig verstanden habe, bevor ich den 
Lötkolben in die Hand nehm (so wie ich löte ist es immer wieder ein 
Abenteuer, obs danach tut :D).

MfG

blup

von blup (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch das Datenblatt des Sticks

von blup (Gast)


Angehängte Dateien:

Lesenswert?

Und Di schematics habe ich auch noch :)

von Erwin R. (er-tronik)


Lesenswert?

So wie ich das im Schaltplan sehe, befindet sich ein 25MHz Quarz auf der 
Platine. Laut Datenblatt des STM32F107 (Seite 89) reicht dieser für den 
Betrieb von USB aus. An PD0 kann kein Oszillator angeschlossen werden, 
hier kommt höchstens ein CAN-Transceiver dran.

Da ich mich in den letzten Tagen auch mit diesen Controllern beschäftigt 
habe, kann ich Dir sagen, daß der Bootloader absolut nicht funktioniert. 
Ich hab auch schon mit dem Gedanken gespielt, mit den STM32-ComStick von 
Hitex zuzulegen, weil ich keinerlei Erfolge mit dem Bootloader in meiner 
selbst aufgebauten Schaltung habe. Aber anscheinend kann ich mir das 
sparen.

Um den Controller zu flashen, benötigst du derzeit unbedingt ein 
JTAG-Interface, denn der Bootloader scheint in den derzeit 
ausgelieferten Controllern fehlerhaft zu sein. Dies trifft jedoch nur 
auf die neuen STM32F105 und F107 zu, die "alten" F101 und F103 haben 
einen sehr gut funktionierenden UART-Bootloader.

Als Kunde nimmst du vielleicht mal mit Hitex Kontakt auf, was die dazu 
sagen.
Wäre schön, wenn du mich auf dem Laufenden halten könntest.

Erwin

von blup (Gast)


Lesenswert?

Hallo Erwin,

vielen Dank. Man ich soltle vllt doch zum Optiker gehen :) Das Teil ist 
sogar mit blankem Auge zu sehen auf dem Stick. PD0 habe ich gedacht, da 
es nach dem Reset ebenfalls OSC_IN funktion hat.

Aber das ist schon mal gut, dass ich mich nciht als einziger damit 
rumschlag :D

Ich habe Hitex jetzt mal angeschrieben und werde berichten.

MfG aus Stuttgarter Ecke

von blup (Gast)


Lesenswert?

Von Hitex immer noch keine Antwort. Aber ich habe das nächste was nicht 
läuft :(
Hat jemand von Euch schon die Netzwerkverbindung am laufen?
Bei der Beispiel-Applikationkann ich zwar die IP+ Subnet-Mask + Gateway 
einstellen, jedoch bewirkt es gar nichts. Man kann weder den Stick 
anpingen noch irgendwelche Pakete versenden oder ähnliches.
So langsam fange ich an das Ding zu hassen :)

ratlose Grüße

von Erwin R. (er-tronik)


Lesenswert?

Mir scheint, diese neuen STM32F105 und F107 haben einen dicken 
Hardwarefehler. Der Bootloader funktioniert nicht, weil die Baudrate 
falsch berechnet wird. Die Antwort vom Controller (UART-Port) kommt 
zwar, aber mit einer falschen Baudrate. Dann habe ich Experimente mit 
dem USB-Controller gemacht, auch hier habe ich keinerlei Erfolge 
erziehlt. Es scheint wohl ein globales Timing-Problem bei diesen 
Controllern zu existieren. Dies wird auch der Grund sein, warum Ethernet 
nicht funktioniert, das hab ich jedoch bisher nicht getestet, weil der 
externe Aufwand zu hoch ist.
Ich verstehe nur nicht, wie Hitex die Teile verkaufen kann, obwohl sie 
nicht funktionieren.

Erwin

von blup (Gast)


Lesenswert?

http://developers.stf12.net/just-another-eclipse-demo-str91x

Ich versuchs erstmal damit. Das STM3210C-EVAL habe ich auch hier. Und 
wenn das läuft kann man ja schauen, ob man das nicht auch auf dem Stick 
zumm laufen bekommt.

MfG

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

blup schrieb:
> Ich versuchs erstmal damit. Das STM3210C-EVAL habe ich auch hier. Und
> wenn das läuft kann man ja schauen, ob man das nicht auch auf dem Stick
> zumm laufen bekommt.

Über JTAG und OpenOCD kann man auch einfache Programme auf den Chip 
laden, nur mit dem Bootloader wirst du (momentan noch) keine Freude 
haben. Ich stehe momentan genau vor dem gleichen Problem wie Erwin: 
Sowohl die Samples von STM als auch die ersten verfügbaren Chips haben 
ein Timing-Problem.

von blup (Gast)


Lesenswert?

Wir sind jetzt einfach auf den NXP LPC1768 umgestiegen.
Habe hier das Keil MCB1760-Board liegen udn hoffe, dass ich nun 
schneller vorankomme :)

MfG und frohes Schaffen

von J. V. (janvi)


Lesenswert?

Läuft das F107 Teil zwischenzeitlich ??? Ich kompiliere auch mit der 
Hitex GCC Version und Überlege ob ich mir ein STM3210-C Eval dazu kaufen 
soll

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

J. V. schrieb:
> Läuft das F107 Teil zwischenzeitlich ???

Ja, müsste es. Ich habe bislang nur den STM32F105 verwendet, der aber 
die gleichen anfänglichen Bugs hatte wie der 107er. Du musst nur beim 
Kauf unter Umständen auf den Datecode achten, Details dazu stehen im 
Errata Sheet. Grundsätzlich funktionieren alle Chips ab KW 52 / 2009, 
wenn ich mich recht erinnere.

von elral (Gast)


Lesenswert?

Hallo Christoph,

d.h. bei Dir funktioniert der Bootloader über UART1?

Wir haben einen STM32F105RCT6, mit data code 937. Demnach sollten bei 
dem die Probleme mit dem Bootloader schon behoben sein (Errata Sheet).
ABER das Ding ist einfach nicht dazu zu bewegen, in den Bootloader zu 
springen. Eigenartiger Weise löst er auch schön regelmäßig einen RESET 
aus, immer kurz bevor die TX-Leitung auf H wechselt, alle ~0,43 sek.

Das Projekt ist jetzt ersteinmal etwas in den Hintergrund getreten, aber 
wir würden den schon ganz gerne mal zum laufen bekommen.

Welche genaue Ausführung setzt Du ein, ggf. welche auch mit data code 
937?

Vielen Dank und Grüße

Ralf

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

elral schrieb:
> Welche genaue Ausführung setzt Du ein, ggf. welche auch mit data code
> 937?

Wir haben momentan zwei Chargen STM32F105 in Betrieb:

STM32F105RC mit Datecode 952: Bootloader funktioniert problemlos

STM32F105V8 mit Datecode 926: Bootloader funktioniert nach Workaround 
gemäß Errata Sheet (zwei Pins auf High-Level legen).

Bevor ihr jetzt viel Zeit in die Fehler-Suche investiert würde ich 
einfach einen neueren Controller einlöten und testen, ob es damit geht. 
Die letzten Muster, die wir bei Farnell bestellt haben vom STM32F105RC 
waren Datecode 952 und laufen wie gesagt problemlos. Wenn es damit immer 
noch nicht läuft, ist es wohl eure Schaltung.

von elral (Gast)


Lesenswert?

Hallo Christoph,

vielen Dank schon mal.
Wahrscheinlich ist es tatsächlich das beste, ersteinmal einen neueren 
einzulöten. Zwischenzeitlich habe ich aber auch ein Problem mit dem 
Quarz fest gestellt (Amplitidenmodulierte 8MHz mit 1Hz !??) Allerdings 
sollte das keine Rolle spielen, da für den Bootloader ja der interne 
Takt benutzt wird. Nichts desto trotz fliegt ersteinmal der Quarz 'raus, 
dann wird der STM32F105 ausgetauscht.
Die Schaltung ist so, wie ich sie auch bei einem anderen Projekten mit 
dem STM32F103 verwende, könnte dann "nur" das Boarddesign sein.
Den Workaround kann ich nicht nutzen, da wir die 64Pin Ausführung haben. 
Mit dieser Ausführung ist laut Errata Sheet kein Bootloader über UART1 
möglich.

Aber gut zu wissen, dass zumindestens die neueren funktionieren.

Vielen Dank und Grüße

Ralf

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.