STM32 Programmer fĂźr Doofe

S

Stefan

Guest
Moin,

ich suche einen Programmer, den ich zum Kunden schicken kann, damit der
eine neue Firmware in ein Gerät einspielen kann. Es geht um Cortex-M3
Prozessoren STM32-F103.

Ich hab das hier gefunden:

https://www.segger.com/products/production/flasher/models/flasher-portable-plus/

Das scheint schon das richtige zu sein. Ist nur etwas teuer.

Kennt jemand das Teil?

Gibt es Alternativen?

Ich will nicht, dass der Kunde dort mit einem Notebook und ST-Link o.ä.
da herumhampelt. Es soll wirklich so einfach sein, dass ein Laie das
bedienen kann.

FĂźr altere Systeme mit AVR-Prozessoren haben wir Keyfob eingesetzt.

https://www.kanda.com/Keyfob-AVR-Programmers.72.html

Das funktioniert soweit. Wird aber momentan praktisch nicht mehr
eingesetzt weil das Produkt durch die neue Version mit STM32 ersetzt wurde.
 
On 11/20/2018 10:06 AM, Stefan wrote:
ich suche einen Programmer, den ich zum Kunden schicken kann, damit der
eine neue Firmware in ein Gerät einspielen kann. Es geht um Cortex-M3
Prozessoren STM32-F103.

Falls du das Gerät noch baust, wßrde ich einfach einen SD-Card
Steckplatz vorsehen. Dann brauchst du dem Kunden nur eine SD-Card zu
schicken, oder auch nur eine Update-Datei, falls der Kunde eine SD-Card
hat die im Gerät läuft.

Ich verwende in einem anderen Projekt die FatFs Library. Die
funktionierte bisher bei allen getesteten SD-Cards. Ist sehr leicht in
eigene Projekte einbindbar. UnterstĂźtzt auch exFAT, getestet z.B. mit
einer 32 GB Karte, gibt ja bald keine kleineren mehr. Aber die
unterstĂźtzten alle noch das alte SPI Protokoll, zumindest die ich
getestet habe, brauchen also nur 4 Pins am Microcontroller, wobei wenn
Chipselect nicht aktiv ist, kannst du die Pins natĂźrlich mehrfach verwenden.

--
Frank Buss, http://www.frank-buss.de
electronics and more: http://www.youtube.com/user/frankbuss
 
Stefan <df9bi@gmx.de> wrote:
Moin,

ich suche einen Programmer, den ich zum Kunden schicken kann, damit der
eine neue Firmware in ein Gerät einspielen kann. Es geht um Cortex-M3
Prozessoren STM32-F103.

Ich hab das hier gefunden:

https://www.segger.com/products/production/flasher/models/flasher-portable-plus/

Das scheint schon das richtige zu sein. Ist nur etwas teuer.

Kennt jemand das Teil?

Gibt es Alternativen?

Ich will nicht, dass der Kunde dort mit einem Notebook und ST-Link o.ä.
da herumhampelt. Es soll wirklich so einfach sein, dass ein Laie das
bedienen kann.

FĂźr altere Systeme mit AVR-Prozessoren haben wir Keyfob eingesetzt.

https://www.kanda.com/Keyfob-AVR-Programmers.72.html

Das funktioniert soweit. Wird aber momentan praktisch nicht mehr
eingesetzt weil das Produkt durch die neue Version mit STM32 ersetzt wurde.

Was existiert den schon? Wie ist die Programmierschnittstelle? Welche
Stecker, welche Belegung?
--
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 1623569 ------- Fax. 06151 1623305 ---------
 
Am 20.11.2018 um 10:37 schrieb Frank Buss:
On 11/20/2018 10:06 AM, Stefan wrote:

ich suche einen Programmer, den ich zum Kunden schicken kann, damit
der eine neue Firmware in ein Gerät einspielen kann. Es geht um
Cortex-M3 Prozessoren STM32-F103.

Falls du das Gerät noch baust, wßrde ich einfach einen SD-Card
Steckplatz vorsehen. Dann brauchst du dem Kunden nur eine SD-Card zu
schicken, oder auch nur eine Update-Datei, falls der Kunde eine SD-Card
hat die im Gerät läuft.

SD-Kartenleser hat das Gerät, aber die Firmware hat keinen Bootloader.
Es geht darum, in ältere Geräte bei Bedarf die aktuelle Software
einzuspielen.

Wir haben schon einige Zeit darĂźber diskutiert, sowas zu machen, aber
fĂźr die aktuelle Aufgabenstellung nĂźtzt mir das ersteinmal nichts.
 
Am 20.11.2018 um 14:26 schrieb Uwe Bonnes:
Stefan <df9bi@gmx.de> wrote:
Moin,

ich suche einen Programmer, den ich zum Kunden schicken kann, damit der
eine neue Firmware in ein Gerät einspielen kann. Es geht um Cortex-M3
Prozessoren STM32-F103.

Ich hab das hier gefunden:

https://www.segger.com/products/production/flasher/models/flasher-portable-plus/

Das scheint schon das richtige zu sein. Ist nur etwas teuer.

Kennt jemand das Teil?

Gibt es Alternativen?

Ich will nicht, dass der Kunde dort mit einem Notebook und ST-Link o.ä.
da herumhampelt. Es soll wirklich so einfach sein, dass ein Laie das
bedienen kann.

FĂźr altere Systeme mit AVR-Prozessoren haben wir Keyfob eingesetzt.

https://www.kanda.com/Keyfob-AVR-Programmers.72.html

Das funktioniert soweit. Wird aber momentan praktisch nicht mehr
eingesetzt weil das Produkt durch die neue Version mit STM32 ersetzt wurde.

Was existiert den schon? Wie ist die Programmierschnittstelle? Welche
Stecker, welche Belegung?

Wir haben einen 20-poligen JTag Anschluss wo wir den ST-Link anschließen
kĂśnnen.

SWD per RS232 ginge vieleicht auch.
 
Stefan <df9bi@gmx.de> wrote:
....
Was existiert den schon? Wie ist die Programmierschnittstelle? Welche
Stecker, welche Belegung?


Wir haben einen 20-poligen JTag Anschluss wo wir den ST-Link anschließen
kĂśnnen.

SWD per RS232 ginge vieleicht auch.
Wenn es um Einzelstuecke geht, wird die kommerzielle Loesung das
sinnvollste sein.

Wenn es mehr werden sollen, wuerde ich das mit einer Black Magic Debug
Probe ( https://github.com/blacksphere) Variante machen, bei der der
GDB Server durch ein (noch zu schreibendes) Flash Programm ersetzt
wird. Falls das zu uebertragende Programm noch nicht zu gross ist (? 40
k) koennte schon ein Bluepill Board langen. Wenn man einen STLINKV2
umflascht haette man schon den 20 poligen Stecker. Aber auch
Varianten mit Chips mit groesseren Flash sind denkbar.

Tschuess
--
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 1623569 ------- Fax. 06151 1623305 ---------
 
Am 20.11.2018 um 15:03 schrieb Uwe Bonnes:
Stefan <df9bi@gmx.de> wrote:
...
Was existiert den schon? Wie ist die Programmierschnittstelle? Welche
Stecker, welche Belegung?


Wir haben einen 20-poligen JTag Anschluss wo wir den ST-Link anschließen
kĂśnnen.

SWD per RS232 ginge vieleicht auch.
Wenn es um Einzelstuecke geht, wird die kommerzielle Loesung das
sinnvollste sein.

Wenn es mehr werden sollen, wuerde ich das mit einer Black Magic Debug
Probe ( https://github.com/blacksphere) Variante machen, bei der der
GDB Server durch ein (noch zu schreibendes) Flash Programm ersetzt
wird. Falls das zu uebertragende Programm noch nicht zu gross ist (? 40
k) koennte schon ein Bluepill Board langen. Wenn man einen STLINKV2
umflascht haette man schon den 20 poligen Stecker. Aber auch
Varianten mit Chips mit groesseren Flash sind denkbar.

Tschuess

Ne, haut nicht hin. Unser Programm ist schon deutlich Ăźber 100k.
 
Stefan <df9bi@gmx.de> wrote:

> Ne, haut nicht hin. Unser Programm ist schon deutlich Ăźber 100k.

Dann halt als Variante mit STM32 mit groesseren Flash,
z.b. F103xC. Das offizielle Repo kennt auch ein f4discovery .
--
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 1623569 ------- Fax. 06151 1623305 ---------
 
Am 20.11.2018 um 10:06 schrieb Stefan:
Moin,

ich suche einen Programmer, den ich zum Kunden schicken kann, damit der
eine neue Firmware in ein Gerät einspielen kann. Es geht um Cortex-M3
Prozessoren STM32-F103.

Ich hab das hier gefunden:

https://www.segger.com/products/production/flasher/models/flasher-portable-plus/


Das scheint schon das richtige zu sein. Ist nur etwas teuer.

Kennt jemand das Teil?

Gibt es Alternativen?

Ich will nicht, dass der Kunde dort mit einem Notebook und ST-Link o.ä.
da herumhampelt. Es soll wirklich so einfach sein, dass ein Laie das
bedienen kann.

FĂźr altere Systeme mit AVR-Prozessoren haben wir Keyfob eingesetzt.

https://www.kanda.com/Keyfob-AVR-Programmers.72.html

Das funktioniert soweit. Wird aber momentan praktisch nicht mehr
eingesetzt weil das Produkt durch die neue Version mit STM32 ersetzt wurde.

Gibt es die MÜglichkeit (Jumper o.ä.), den STM in den Boot Modus zu
versetzen?
Dann einen RasPi und darauf im Autorun das Programm dfu-util laufen
lassen. Programmieren Ăźber die Serielle Schnittstelle.
Frank Buss kennt sich da aus, der kann hier sicher weiter helfen.

ZukĂźnftig in der Software vorsehen, dass man per Kommando den STM in den
Bootmodus bekommt. FĂźr einen STM32F405 habe ich den Code hier. Gut
getestet und im Serieneinsatz.

Rolf
 
On 11/20/2018 10:49 PM, Rolf Mennekes wrote:
Gibt es die MÜglichkeit (Jumper o.ä.), den STM in den Boot Modus zu
versetzen?
Dann einen RasPi und darauf im Autorun das Programm dfu-util laufen
lassen. Programmieren Ăźber die Serielle Schnittstelle.
Frank Buss kennt sich da aus, der kann hier sicher weiter helfen.

Ja, das geht auch prima, falls der Jumper da ist. Nicht so preiswert wie
eine SD-Card, aber läuft zuverlässig, sogar ßber USB, falls das Gerät
einen USB-Anschluss hat.

Das Programm läuft unter Windows und Linux:

http://dfu-util.sourceforge.net

Wenn allerdings nur der JTAG-Anschluss da ist und die Geräte bereits im
Feld sind, dann ginge vielleicht eine LĂśsung mit Raspberry Pi und
OpenOCD. Scheint schonmal einer gemacht zu haben:

http://www.stm32duino.com/viewtopic.php?t=940

Da kĂśnnte man mit dem Raspberry Pi Zero eine recht kompakte und
preiswerte individuelle LĂśsung bauen.

--
Frank Buss, http://www.frank-buss.de
electronics and more: http://www.youtube.com/user/frankbuss
 
Am 21.11.2018 um 08:06 schrieb Frank Buss:

Wenn allerdings nur der JTAG-Anschluss da ist und die Geräte bereits im Feld
sind, dann ginge vielleicht eine LĂśsung mit Raspberry Pi und OpenOCD. Scheint
schonmal einer gemacht zu haben:

http://www.stm32duino.com/viewtopic.php?t=940

Da kĂśnnte man mit dem Raspberry Pi Zero eine recht kompakte und preiswerte
individuelle LĂśsung bauen.

Es gibt bisher keine Aussage Ăźber die nĂśtigen StĂźckzahlen: 1, 2, 10, 100, 1000?
Wenn es nur um einen Update der Geräte beim Kunden geht und die Anzahl
Ăźberschaubar ist, ist vermutlich selbst der relativ teure Flasher von Segger
gĂźnstiger als eine eigene Entwicklung.

Den Flasher kann man dem Kunden dann zusenden und in Rechnung stellen, sollte
er den nicht vereinbarungsgemäß zurücksenden.

Bernd
 
Am 21.11.2018 um 08:57 schrieb Bernd Laengerich:
Am 21.11.2018 um 08:06 schrieb Frank Buss:

Wenn allerdings nur der JTAG-Anschluss da ist und die Geräte bereits
im Feld sind, dann ginge vielleicht eine LĂśsung mit Raspberry Pi und
OpenOCD. Scheint schonmal einer gemacht zu haben:

http://www.stm32duino.com/viewtopic.php?t=940

Da kĂśnnte man mit dem Raspberry Pi Zero eine recht kompakte und
preiswerte individuelle LĂśsung bauen.

Es gibt bisher keine Aussage Ăźber die nĂśtigen StĂźckzahlen: 1, 2, 10,
100, 1000?
Wenn es nur um einen Update der Geräte beim Kunden geht und die Anzahl
Ăźberschaubar ist, ist vermutlich selbst der relativ teure Flasher von
Segger gĂźnstiger als eine eigene Entwicklung.

Den Flasher kann man dem Kunden dann zusenden und in Rechnung stellen,
sollte er den nicht vereinbarungsgemäß zurücksenden.

Bernd

<ack>

Von dem Keyfob fĂźr die AVR Prozessoren hatten wir so 5-10 StĂźck im Einsatz.

Es geht momentan nur darum, bei einigen Geräten bei denen der Endkunde
besondere Anforderungen hat eine neue Version einzuspielen die bei den
meisten bereits installierten Geräten nicht benÜtigt wird.

Ich hab meinem Kunden schon den Flasher von Segger vorgeschlagen. Geht
jetzt nur darum, ob es nicht eine billigere Variante gibt.

Alle LÜsungen mit Raspi o.ä. scheiden aus.

Der Kunde soll auch keinen PC anschließen. Eventuell ein Techniker des
Händlers vor Ort, aber die Geräte stehen weit verteilt in einer Gegend,
wo man mĂśglicherweise Schneeschuhe benĂśtigt und sich vor WĂślfen und
ähnlichem Getier vorsehen muss. Da ist dann die Anfahrt eines Technikers
mit nicht ganz unerheblichen Kosten verbunden.
 
On 11/21/2018 04:55 PM, Andreas Fecht wrote:
Weißt Du, ob es ein Tool gibt, welches direkt hex-Dateien verarbeiten kann?
Also ohne diese Konvertierung auf das dfu-Format.

Das dfu-util Programm habe ich bisher immer nur mit reinen Binärdateien
verwendet, was Keil so als Ergebnis ausgibt. Also z.B. so:

dfu-util -d 1234:abcd -a 0 -s 0x08000000 -D firmware.bin

"1234:abcd" ist dabei die USB-Vendor/Product ID. Mit "-l" kann man alle
am USB-Port erkannten DFU-Geräte auflisten.

Um hex-Dateien nach bin-Dateien umzuwandeln gibt es haufenweise
Programme, hier ein kostenloses fĂźr Windows:

http://www.keil.com/support/docs/4038.htm

--
Frank Buss, http://www.frank-buss.de
electronics and more: http://www.youtube.com/user/frankbuss
 
Frank Buss schrieb:
On 11/20/2018 10:49 PM, Rolf Mennekes wrote:

Gibt es die MÜglichkeit (Jumper o.ä.), den STM in den Boot Modus zu versetzen?
Dann einen RasPi und darauf im Autorun das Programm dfu-util laufen lassen. Programmieren Ăźber
die Serielle Schnittstelle.
Frank Buss kennt sich da aus, der kann hier sicher weiter helfen.

Ja, das geht auch prima, falls der Jumper da ist. Nicht so preiswert wie eine SD-Card, aber
läuft zuverlässig, sogar ßber USB, falls das Gerät einen USB-Anschluss hat.

Weißt Du, ob es ein Tool gibt, welches direkt hex-Dateien verarbeiten kann?
Also ohne diese Konvertierung auf das dfu-Format.

Gruß Andreas
 

Welcome to EDABoard.com

Sponsor

Back
Top