Forum: Mikrocontroller und Digitale Elektronik STM32Fx: Flashen eines Discovery vs eigenes Board


von hintiflo (Gast)


Lesenswert?

Grüß Euch!

Ich möchte STM32Fx auf selbstentwickelten Boards (sind noch in Arbeit) 
flashen, mit Firmware die ich auf Discovery-Boards entwickle.

Ich würd die Schaltungen der Disco-Boards nachbauen, aber ohne den 
ST-LINK.

Meine Frage nun: Kann ich 'nackige' STM32Fx wie sie von 
DigiKey/RS/Farnell kommen dann direkt mit ST-LINK flashen, wie ein 
Discovery-Board, oder muss da erst noch ein Booloader oder eine Art 
Basis-Firmware in den Ziel-Controller?

Vielen Dank, hintiflo

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

hintiflo schrieb:
> Meine Frage nun: Kann ich 'nackige' STM32Fx wie sie von
> DigiKey/RS/Farnell kommen dann direkt mit ST-LINK flashen

Ja.

hintiflo schrieb:
> oder muss da erst noch ein Booloader oder eine Art
> Basis-Firmware in den Ziel-Controller?

Nein, haben die Discoveries auch nicht - nur eine Demo-Firmware, die 
beim ersten Flashen mit dem eigenen Programm überschrieben wird.

von hintiflo (Gast)


Lesenswert?

Hallo Niklas!

Vielen Dank für die rasche Info!

mfg, Flo

von W.S. (Gast)


Lesenswert?

hintiflo schrieb:
> Ich würd die Schaltungen der Disco-Boards nachbauen,...

Wozu dies?

Wenn du dir eigene µC-Boards baust, was ja eigentlich kein wirkliches 
Problem ist, dann baue bloß nicht so ein Discovery nach.

Mach es anders, etwa so:

- Bau dir ne Stromversorgung drauf, also im wesentlichen sowas wie einen 
3.3V LoDrop-Regler, um dein Board auch mal aus irgendwelchen sonstigen 
Versorgungen betreiben zu können.

- sieh einen passenden Quarz vor, am einfachsten einen, der ein Teil von 
48 MHz ist: sowas wie 6 oder 8 MHz.

- sieh einen GoldCap und den 32 kHz Quarz mit vor, um ggf. selbiges 
benutzen zu können

- sieh eine Universal-Programmierbuchse vor, also Reset, Boot, RxD, TxD, 
SWD-Data und -CLK, GND, VCC. Damit hast du beide Möglichkeiten: 
Programmierung per SWD oder Bootlader. Und du hast ggf. eine relativ 
einfache Möglichkeit, per seriell vom PC aus mit deinem µC zu 
kommunizieren. Das ist oftmals wichtiger, als mancher glaubt.

- sieh auch den USB vor, sofern dein Chip USB hat.

- sieh auch einen kleinen EEPROM vor, sowas braucht man auch öfters für 
Einstellwerte usw. I2C ist OK, dann kannst du auch gleich ne separate 
I2C-Buchse mit vorsehen. Ist oftmals auch hilfreich für etwaige Displays 
anzuschließen.

- der Rest ist je nach deinem Gusto.

So ein Konstrukt ist für deinen Bastel-Bedarf noch am hilfreichsten. 
Bedenke, daß die Discovery-Boards dazu gedacht sind, dich anzufüttern - 
aber nicht, um deinen eigentlichen Bastelbedarf abzudecken. Für sowas 
sind eher LP wie die berüchtigten BluePill-Minimalboards zu gebrauchen.

W.S.

von Stefan F. (Gast)


Lesenswert?

W.S. schrieb:
> So ein Konstrukt ist für deinen Bastel-Bedarf noch am hilfreichsten.

Sehe ich auch so.

Ich würde dann (um Geld zu sparen) nur die Teile bestücken, die ich im 
jeweiligen Projekt brauche. Im einfachsten Fall also nur den nackten µC 
und ein paar Kondensatoren.

von Johannes S. (Gast)


Lesenswert?

Die SWD Beschaltung ist auch im User Manual zu finden. Wichtig ist das 
auch VTarget an den STLink geklemmt wird damit der seine Ausgangstreiber 
richtig versorgen kann.
Dann noch auf die BOOT Pins achten, damit wird ausgewählt ob der 
Bootloader oder das Anwendungsprogramm gestartet wird.

von W.S. (Gast)


Lesenswert?

Stefanus F. schrieb:
> Ich würde dann (um Geld zu sparen) nur die Teile bestücken, die ich im
> jeweiligen Projekt brauche. Im einfachsten Fall also nur den nackten µC
> und ein paar Kondensatoren.

Kann man so machen.

Noch ein Gedanke: Ich hatte neulich aus besonderem Anlaß einen 
"Pseudo-Z80" gemacht: eine LP mit dem Footprint des Z80, aber ein 
Cortex-M drauf, der bei Bedarf einen Z80 simulieren kann und mit dem PC 
über USB kommuniziert.
Und ansonsten ist der frei programmierbar - und da alle Pins an den 
Z80-Footprint geführt sind, kann man diese kleine LP auch für ganz 
allgemeine Zwecke benutzen. Auf ein Steckbrett paßt sie wegen des 
Zollrasters ebenfalls drauf.

Häufig genug braucht man jedoch etwas eher Entgegengesetztes, nämlich 
sowas wie einen Steuerkern mit UI. Das sähe dann so aus, daß man eine LP 
macht, die Befestigungslöcher hat, ein Display, mehrere Tasten oder 
Drehgeber und passable Buchsen für Peripherie: UART, USB, SPI, I2C, usw. 
jeweils mit eigenem Steckverbinder (MICA-MICS oder Micromatch oder 
ähnliches), so daß man diese LP an eine Frontplatte schrauben kann und 
die Verbindungen zu anderen Geräteteilen per (Band-)Kabel-Stücken 
erledigt wird.

Aber das muß der TO für sich selber entscheiden.

W.S.

von hintiflo (Gast)


Lesenswert?

Vielen Dank für die inteessanten Ideen, speziell von W.S.!

mfg, Flo

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.