Forum: Projekte & Code STM32 Programmiertool


von Erwin R. (er-tronik)


Angehängte Dateien:

Lesenswert?

Vor einiger Zeit hatte ich hier im Forum mal erwähnt, dass ich die STM32 
nicht per JTAG, sondern über den integrierten Bootloader programmiere. 
Damit dies ohne Jumper, Taster, Schalter funktioniert, steuere ich mit 
einem selbst geschriebenen Tool über die Handshakeleitungen RTS und DTR 
die RESET und BOOT0-Leitung des Controllers an. Dieses Programm ist ab 
sofort unter folgendem Link verfügbar:

http://www.er-forum.de/obd-diag-dl/index.php?direction=0&order=&directory=Soft%20f%FCr%20Programmiertools%20Controller%20etc.&;

Als Programmierhardware kann ein FT232R USB/Seriell-Wandler dienen, 
wichtig ist hier, dass die DTR-Leitung mit dem Konfigurationstool MProg 
von FTDI invertiert wird. Ebenso kann man den ERFOS STM32-Programmer 
benutzen, der auf einem AT90USB162 basiert.

Erwin Reuss

: Verschoben durch User
von Tobias (Gast)


Lesenswert?

nice

von Daniel B. (dbuergin)


Lesenswert?

Super, besten Dank !

von Paul (Gast)


Lesenswert?

Vielen Dank!

von H.Joachim S. (crazyhorse)


Angehängte Dateien:

Lesenswert?

Software funktioniert prima.
Ich habe einen Programmieradapter direkt für die serielle Schnittstelle 
benutzt. Funktioniert auch an einem USB/seriell-Adapter.

von Der ST-EMMER (Gast)


Lesenswert?

klasse Umsetzung

@Erwin
- wo gibt's denn den fertigen Progger? Wenn der wirklich unter 40 
Euronen kostet, dann fasse ich das doch nicht selbst an...

Ein Bild oder irgendwelche weitere Info????

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Der ST-EMMER schrieb:
> - wo gibt's denn den fertigen Progger? Wenn der wirklich unter 40
> Euronen kostet, dann fasse ich das doch nicht selbst an...

Es gibt von FTDI einige USB-Seriell-Umsetzer, die genauso aufgebaut 
sind. Nur den Pfostenstecker musst du selber bauen. Aber auch einige 
andere Shops haben Adapterplatinen mit einem FT232R und einer USB-Buchse 
drauf - mehr brauchst du nicht.

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Der ST-EMMER schrieb:
> klasse Umsetzung
>
> @Erwin
> - wo gibt's denn den fertigen Progger? Wenn der wirklich unter 40
> Euronen kostet, dann fasse ich das doch nicht selbst an...

Bei Erwin im Shop:
http://www.er-tronik.de/shop2/product_info.php?cPath=34&products_id=113

von Lihong Lei (Gast)


Lesenswert?

How much to get STM-Progger source code? Thanks,

Lihong

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Lihong Lei schrieb:
> How much to get STM-Progger source code? Thanks,

The programming software is free of charge, you can download it for 
free:

http://www.er-forum.de/obd-diag-dl/  --> "Soft für Programmiertools 
Controller etc"

von Bernhard _. (Firma: dl1bg) (bernhard_)


Lesenswert?

Leider funktioniert bei mir der Adapter wegen Treiberproblemen nicht.

Ohne vorher etwas zu installieren stecke ich den Programmer ein, Windows 
XP erkennt einen "FTDI FT8U2XX Device". Dann
1. "Nein, diesmal nicht" bei Internet-Suche
2. "Software von einer Liste..."
3. "Diese Quellen nach dem zutreffendsten Treiber durchsuchen" und das 
Verzeichnis der Datei STM32PROG.inf von Erwins Seite
4. Die FTD2XX.sys wird verlangt, ich wähle die vom JTagKey Datum 
06-03-2007

Windows ist glücklich, allerdings sehe ich in der Systemsteuerung nur 
den echten RS232 COM1 und nichts neues.
Die Progger-SW erkennt leider auch nichts.

von Tim (Gast)


Lesenswert?

Hallo!
Erstmal sorry, dass ich den alten Thread hervokrame.

Ich benutze dieses Tool schon seit längerem. Vielen Dank an Erwin dafür. 
Funktioniert alles super.
Nun suche ich zur Einbindung in eine IDE ein Tool mit dem gleichen 
Funktionsumfang auf Kommandozeilenbasis. Kennt da jemand etwas ?
Den Flashloader Demonstrator von ST bekomme ich leider nicht in 
Verbindung mit den benötigten bitwacklern an RTS/DTR zum laufen.

von Paul (Gast)


Lesenswert?

Von Dale Wheat gibt es ein Kommandozeilenprogramm, es wird aber von 
Probleme mit der Bootloader Version 2.1 berichtet.
Einfach mal nach stm32 dale wheat suchen.
Grüße, Paul

von Archie (Gast)


Lesenswert?

Geht auch wunderbar mit dem Kabel:
TTL-232R-5V, TTL-232R-3V3

von Mape (Gast)


Angehängte Dateien:

Lesenswert?

Das Kommandozeilentool von dale wheat habe ich nicht gefunden. 
Stattdessen habe ich ein GPL3 Projekt von Alex Faveluke für Windows 
übersetzt und die STM32-BOOT pins entsprechend der obigen Beschaltung 
mit angesteuert. Geht super auch mit Eclipse.
http://www.firefly-power.de/ARM/sloadhost.html

von Moritz (Gast)


Lesenswert?

Hi,

ich will jetzt auch mal die stm32 controller ausprobieren.
Dafür würde ich die Controller gerne mit dem oben genannten tool 
programmieren. Doch was benötige ich für eine grundbeschaltung 
resetleitung usw.? Ganz so einfach mit einem Widerstand wie bei AVRs 
gehts wahrscheinlich nicht oder?

Kennt jemand ein gutes tutorial??

Vielen Dank!

von Gnubbel (Gast)


Lesenswert?

UM0919

Das Usermanual vom STM32VL-Discovery.

Da ist ein Schaltplan drin.

von Moritz (Gast)


Lesenswert?

Vielen dank!

Reset also wie bei avr mit einem widerstand an Vcc? Was für einen 
widerstand benutzt ihr dort 10kOhm??

Für was ist OSC32 out und in?? einfach frei lassen??
OSC out und in ist doh wahrscheinlich für den "cputakt" oder??

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Der STM32 braucht nur:
- VCC 3,3V
- GND
- Reset-Pin auf Hi
- Boot-Pin(s) entsprechend beschaltet

ansonsten nur ein paar einzelne C's 100nF an VCC/GND.

Kein Takt, der hat einen internen 8MHZ Takt.

von W.S. (Gast)


Lesenswert?

Hallo Moritz,

du brauchst als allererstes eine Art Festlegung für den 
Programmierstecker, die du dir selber gibst und die du bei allen deinen 
Bastelprojekten einhältst, damit du dir später nicht selber ein Bein 
stellst.

Am Controller brauchst du (in Klammern bei meinem STM32F103ZET6):
RxD     (RxD1, Pin 102)
TxD     (TxD1, Pin 101)
/Reset  (Pin 25)
/BOOT   (BOOT0, Pin 138)

Für den Normalbetrieb wird /Reset mit ca. 10k auf +3.3V gezogen, und 
/BOOT ebenso. Zum Programmieren zieht der Adapter /BOOT auf low und gibt 
dem Controller dann kurz ein Reset. Der sieht /BOOT auf low und geht 
damit in den Programmiermodus.

An meinem Adapter hab ich 2 Open Drain Transistoren (BSS138) für /Reset 
und /BOOT, die ich über je ein XOR-Einzelgatter (NC7SZ86) und ein paar 
Patchbrücken an den FTDI geschaltet habe. So spare ich mir das 
Umprogrammieren des FTDI und der Adapter geht bei entsprechender 
Beschaltung auch für die ARM's von NXP. Dort benutze ich "Flashmagic" 
und auf den Namen des Tools für die STM32 komme ich gerade nicht.

W.S.

von Moritz (Gast)


Lesenswert?

cool vielen dank ich werd dass mal ausprobieren. is ja doch ziemlich 
simple.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Ich habe das mal in den Artikel mit auf genommen:
http://www.mikrocontroller.net/articles/STM32#HW-Beschaltung

Ich denke das ist für den Start doch auch wichtig.

von Moritz (Gast)


Lesenswert?

Hi,


nun hab ich noch eine Frage: Was nehmt ihr für Compiler usw? AtollicTrue 
Studio geht das mit dem o.g. Tool zusammen?

von W.S. (Gast)


Lesenswert?

Moritz schrieb:
> Was nehmt ihr...

Das ist doch völlig wurscht. Zum Schluß muß ein brennbares Hexfile dabei 
herauskommen und fertig ist. Den Rest macht das Brennprogramm. ich 
selber benutze schon seit langem keine IDE mehr - naja mit Ausnahme 
meiner selbstgeschriebenen IDE für PIC's - sondern mache alles zu Fuß 
per Batchfile und meinem Lieblingseditor. Das hat den Riesenvorteil der 
wirklichen Klarheit, d.h. ich brauche mich nicht von einer IDE 
bevormunden zu lassen, habe keinen elenden Fileoverhead und kann mir 
mein Zeugs so einrichten, wie ich das will. Übelstes Beispiel bei 
IDE's: wenn man es wagt, seinen eigenen Startupcode benutzen zu wollen, 
weil einem der Umweg über das Bibliotheks- "_main" mißfällt und man 
einiges in Assembler dort noch drinhaben will. Bei manchen IDE's schafft 
man das nach langer Sucherei irgendwie hinzubiegen und bei anderen 
schafft man es prinzipiell nicht, weil sich die IDE erfolgreich dagegen 
versperrt. Schwanz wackelt mit Hund sozusagen..

Ich wüßte auch nicht, was an diesem Atollic so gut sein sollte - da 
werkelt im Hintergrund doch wohl auch nur der Gnucompiler, oder? Dann 
kann man den Gnu-Compiler auch standalone benutzen und muß sich nicht 
erst noch mit den Befindlichkeiten irgendeines "Studios" herumschlagen.

Ach ja, ich benutze die Originalsoft von ARM, also den Compiler, der 
beim Keil dabei ist. Haben wir in der Firma und ich meine, die 
Originaltools vom CPU-Erfinder sind immer noch die besten.

W.S.

von Knut (Gast)


Lesenswert?

Ist halt geschmackssache. Der eine mag's Klickibunti, dem anderen reicht 
nur der Editor und n Batch. Muss sagen, ich mag Klickibunti gerne.

Allerdings wundere ich mich, dass es hier so vieleverschiedene 
Hersteller davon gibt.
Das macht den Einstieg etwas unübersichtlich.

Mein Eval-Board wartet auch nur darauf mal ausgepackt zu werden.


Knut

von Moritz (Gast)


Lesenswert?

hi,

vielen dank
geht auch einfach nur winARM??

von Rainer S. (rsonline)


Lesenswert?

W.S. schrieb:
> ich meine, die
> Originaltools vom CPU-Erfinder sind immer noch die besten.

Die Tools sind von ARM aufgekauft worden soweit ich das in Erinnerung 
habe.

von Moritz (Gast)


Lesenswert?

Hi,

ich hab mich jetzt erst mal für die µVision von Keil entschieden. (is 
finde ich sehr übersichtlich und fürs erste reichtes mir)

Doch wenn ich jetzt F7 drücke Build Project erscheint immer nur Target 
has no object modules

was muss ich einstellen??

Vielen Dank!

von Ralf M. (rmeeh)


Lesenswert?

Hallo,
leider finde ich unter dem link
http://www.er-forum.de/obd-diag-dl/index.php?&direction=0&order=nom&directory=OBD-DIAG%20Software

keine Software die mir nach Programmiertool Software aussieht.
Gibt es die noch?
Wenn nicht ist es nicht soo tragisch, ich verwende den ST Flashloader, 
muß halt jedesmal beim flashen denSchalter für Boot0 und die Reset Taste 
bedienen.
viele Grüße -Ralf-

von W.S. (Gast)


Angehängte Dateien:

Lesenswert?

probier mal dieses.

W.S.

von W.S. (Gast)


Lesenswert?

Rainer S. schrieb:
> Die Tools sind von ARM aufgekauft worden..

Das hast du falsch in Erinnerung. Keil ist aufgekauft worden - aber die 
ARM-Kern-Tools (Compiler, Assembler usw.) sind von ARM.

W.S.

von Ralf M. (rmeeh)


Lesenswert?

Vielen Dank, das werd ich probieren.
Schönes Wochenende

von Ralf M. (rmeeh)


Lesenswert?

Hallo zusammen,
ich bin da auf ein kleines Problem aufgelaufen. Bisher habe ich meine 
STM32 immer seriell programmiert. Nun hab ich mir so ein Wiggler Derivat 
Kabel gekauft, das man an die Druckerschnittstelle anschließen kann im 
glauben damit die STM´s erstens programmieren und auch debuggen zu 
können. So wie bei den AVR´s (ich habe dafür einen JTAG ICE MKII) aber 
bisher ist es mit nicht gelungen dieses Kabel in Verbindung mit meinem 
Keil uVision4 zum laufen zu kriegen. Hat mir vielleicht jemand einen 
grundlegenden Tip?

Das andere ist, dass ich mir auch auf meinem Laptop (der läuft unter 
Debian) auch eine IDE aufsetzen möchte. Bevor ich da in die gleiche 
Falle laufe, hat hier jemand nen Tip wie die Toolchain aussehen sollte 
dass ich damit später auch mit dem Wiggler Kabel und der entsprechenden 
Tool Chain arbeiten kann?
Danke im Voraus -Ralf-

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Kaufe dir einen J-LINK EDU von Segger und Du wirst Freude daran haben.

Die Software gibt es für Windows & Linux:
http://www.segger.com/jlink-software.html

Unter Linux kannst Du noch Eclipse installieren und dann sollte alles 
klappen.

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Die Fragen wären einen eigenen Thread wert gewesen.

Ralf Meeh schrieb:
> Hallo zusammen,
> ich bin da auf ein kleines Problem aufgelaufen. Bisher habe ich meine
> STM32 immer seriell programmiert. Nun hab ich mir so ein Wiggler Derivat
> Kabel gekauft, das man an die Druckerschnittstelle anschließen kann im
> glauben damit die STM´s erstens programmieren und auch debuggen zu
> können.

Wiggler ist Selbstkasteiung. ParPorts sterben auch aus. Eine Alternative 
wurde bereits genannt, die ist allerdings nur sehr günstig, falls "EDU" 
Bedingungen erfüllt sind. Falls nur STM32 im Spiel sind, vielleich 
ST-LINK V2 in Erwägung ziehen (Einzelgerät oder Teil eines Eval-Boards).

> So wie bei den AVR´s (ich habe dafür einen JTAG ICE MKII) aber
> bisher ist es mit nicht gelungen dieses Kabel in Verbindung mit meinem
> Keil uVision4 zum laufen zu kriegen. Hat mir vielleicht jemand einen
> grundlegenden Tip?

Wiggler + µVision: http://www.hjtag.com/en/index.asp

> Das andere ist, dass ich mir auch auf meinem Laptop (der läuft unter
> Debian) auch eine IDE aufsetzen möchte. Bevor ich da in die gleiche
> Falle laufe, hat hier jemand nen Tip wie die Toolchain aussehen sollte
> dass ich damit später auch mit dem Wiggler Kabel und der entsprechenden
> Tool Chain arbeiten kann?

OpenOCD als gdbserver. Die Software "kann" mit Wigglern umgehen.

von Ralf M. (rmeeh)


Lesenswert?

@Markus und Martin,
zum ersten herzlichen Dank für Eure Antworten.
Ja ok, stimmt schon mit dem Thread, werds mir beim nächsten mal vorher 
besser durch den Kopf gehen lassen. STLink hab ich auch für ein Board 
mit einem F100 drauf (Discovery). Jetzt wo Du es sagst hab ich mal 
nachgesehen, der kann tatsächlich auch JTAG. Da da aber auch SWD steht 
kann der wohl auch Serial Wire debugging, hmmm, ich bin überascht, ich 
war der irrigen Annahme ich kann damit nur seriel programmieren wie bei 
STM-Flash Loader. Ich glaub das mit dem JLINK lass ich mir trotzdem 
durch den Kopf gehen, ich habe vorher einen entdeckt zu nem fairen 
Preis. Ich denke schon dass mir das ein vernünftiges 
Entwicklungswerkzeug wert ist.
Danke für die Tips, ich seh mir das mal der Reihe nach an.
-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.