Ich nutze aktuell einen ST-Link, um meine STM32L4 Controller zu programmieren und für die Entwicklung find ich den auch gut. Um unsere Boards in serie zu programmieren wär mir aber ein stand-alone programmer lieber, auf den ich die zu flashende FW aufspiele und dann kann ich mit dem Gerät überall und ohne PC die Controller flashen. Einfach ein Knopf drücken und fertig, absolut idiotensicher. Das einzige was ich in die Richtung bisher gefunden habe ist der Flasher von Segger, der ist eigentlich exakt was ich suche, kostet aber mit 800€ deutlich mehr, als ich mir das für unsere Kleinserie erhofft hatte. Kennt jemand ein günstigeres Gerät in diese Richtung? Andernfalls müssen wir da eben entweder in den sauren Apfel beißen und 800€ blechen oder jeder, der bei uns mal das Programmieren neuer Platinenlieferungen übernimmt, muss sich das Tool von ST installieren, das korrekte FW-File laden und dann über den Rechner flashen...
A. D. schrieb: > Kennt jemand ein günstigeres Gerät in diese Richtung? Ich würde das "mal eben schnell" mit einem Shell Script auf einem Raspberry Pi umsetzen.
Beitrag #6270434 wurde von einem Moderator gelöscht.
Wenn man ein Black Magic Probe als Programmieradapter nimmt, dann hat man schon die halbe Miete weil da die Flash Algorithmen drin sind. Dann entweder die Firmware modifizieren oder einen RPi als Host dran, dann wird es mit den Scripten wirklich einfach.
Raspberry-Eigenbau wäre eine Überlegung, müsste dann aber immer erst booten und klingt jetzt spontan erstmal nicht so nach einer stabilen Lösung. Aktuell haben wir noch PICs verbaut, dafür nutzen wir einen MPLAB PICkit. Kostet <100€ und ist absolut stand-alone nutzbar. Aber scheinbar gibts sowas schön kostengünstiges wohl nicht für STM controller.
A. D. schrieb: > Um unsere Boards in serie zu programmieren wär mir aber ein stand-alone > programmer lieber, auf den ich die zu flashende FW aufspiele und dann > kann ich mit dem Gerät überall und ohne PC die Controller flashen. > Einfach ein Knopf drücken und fertig, absolut idiotensicher. Also für eine Serienfertigung kann ich solche Anforderungen überhaupt nicht nachvollziehen. Warum will man unbedingt ein Standlone Teil? Wie kommt da neue Firmware drauf? Sollte die nicht, je nach Gerät, automatisch von einem Server gezogen werden. Und zwar die jeweils letzte freigegebene Version? "Idiotensicher" kann man einen Produktions-PC per Software machen. Dazu braucht es eine ordentliche Oberfläche und eine gute automatische Organisation (z.B. Gerät wird gescannt, dann wird die richtige FW automatisch geladen). Dafür braucht man keine spezielle Hardware. Gibt bei euch keine Rückverfolgbarkeit? Wollt ihr keine Logs oder sonstiges speichern wenn ihr Geräte produziert? Was wenn das falsche Kästchen am falschen Gerät angesteckt wird? Dann hat man das falsche Programm drauf. Und wenn was schief geht? Leuchtet da dann eine rote Lampe auf? Und dann? Woran lags? Was ging jetzt genau schief? Keiner weiß es denn irgendjemand dachte ein Kasten mit einer LED reicht. In welchem Kindergarten programmiert man SERIENGERÄTE mit einem kleinen Kästchen ohne jegliche Anbindung an die Produktionsinfrastruktur?
:
Bearbeitet durch User
Wenn Du keine 800€ investieren willst sondern Zeit (eigentlich auch Geld) dann bleibt Dir wohl nur ein Eigenbau. Ob man nun einen Raspberry PI oder PC nimmt ist dann geschmackssache. Alternativ kann man auch einen STM32FXXX mit SD-Card, Treiber und Software nehmen. Als Basis der Software wäre der Black Magic Probe oder ein andere Brenner (ST-Link) wohl eine gute Wahl. Dann musst Du "nur" noch deinen Code von SD laden und übertragen. Ich denke das es zwar ein schönes Projekt wäre so was zu bauen und wäre bestimmt für eininge Interessant, aber wenn ich mal Zeit und Kosten überschalge dann sind 800€ nicht wirkich viel wenn das Teil alles kann. Ich hätte jedenfalls interresse an so einer kleinen Kiste, weil ich auch immer den PC anwerfe und meinen Brenner rausholen muss nur um mal eben ein Update einzuspielen.
So ein Kindergarten nemmt man Automatisches Einspielen der Software. Das wird bei uns auch so gemacht, gut da ist ein PC dran der auf Komanndo einer SPS los legt. Die Anlage hat übrigens kein Ethernet und Updates einspielen ist mit tonnenweise Papierkram verbunden, da hollt sich keine Maschine mal eben Daten von einem Server.
Klaus schrieb: > So ein Kindergarten nemmt man Automatisches Einspielen der Software. Der TE sucht eher genau das Gegenteil. > Das wird bei uns auch so gemacht, gut da ist ein PC dran Also auch wieder so gar nicht was der TE sucht. > der auf > Komanndo einer SPS los legt. Die Anlage hat übrigens kein Ethernet und > Updates einspielen ist mit tonnenweise Papierkram verbunden, da hollt > sich keine Maschine mal eben Daten von einem Server. Es geht nicht um Updates sondern um verschiedene Firmware für verschiedene Geräte. Und das kommt in einer Produktion ja nun schon mal vor. Wie viel Aufwand das nun im Einzelnen bedeutet, für ein Gerät eine neue Software Version freizugeben hat damit überhaupt nichts zu tun.
A. D. schrieb: > Um unsere Boards in serie zu programmieren wär mir aber ein stand-alone > programmer lieber Ach nö. Das ganze Problem sehe ich eher auf der Firmware-Seite. Ich habe sowas bei meinen Geräten so gelöst, daß meine Firmware(n) aus einem Starter und dem rest der Firmware bestehen. Dazu ein Programm für den PC, mit dem man als Kunde vom PC aus eine neue Firmware auf das Gerät bringen kann. Die hat zwar ein GUI, aber im Grunde ist das bloß eine Drei-Knopf-Angelegenheit: Neue Firmwaredatei suchen und laden, alte Fw löschen, neue Fw programmieren. Das kann selbst die Putzfrau richtig benutzen. Die verschickbare Fw-Datei ist komprimiert, hat Versionseintrag, Geräteeintrag usw. und ist prüfsummengsichert. Da kann nix schiefgehen, weil der Lader im Gerät lediglich den Anwendungsteil löscht und neu schreibt, nicht jedoch sich selbst. Und: nen PC hat wohl jeder herumlungern, ein USB-Kabel wohl auch. W.S.
Wie schon gesagt Bau dir einen Kasten am besten noch mit Display und deine Kleinserie genauso wie ein update von einem Gerät kannst Du damit machen. Ich würde wenn es vielleicht sogar nachbauen, kommt auf den Aufwand an. Einen internen Brenner kann man haben ist auch was feines nur der muss auch erst mal drauf. Klar geht auch der interne Bootloader für vieles, aber der muss auch erstmal gestartet werden und arbeitet leider nicth immer so zuverlässig, wie ich selber feststellen durfte (F407 und Seriel).
Klaus schrieb: > Als Basis der Software wäre der Black Magic Probe oder ein andere > Brenner (ST-Link) wohl eine gute Wahl. Dann musst Du "nur" noch deinen > Code von SD laden und übertragen. Die 1. Frage wäre, ob es denn unbedingt SWD sein muß. Die STM's haben doch alle einen UART Bootloader im ROM. Das Protokoll ist simpelst. Da braucht man nur noch einen µC, der eine SD-Karte o.ä. ansprechen kann und die Firmware über den UART rausschickt. Dann geht das sogar mit Arduino. Man müßte halt mal ein Pflichtenheft schreiben. Danach kann man ja immer noch in einem Forum herumnerven.
Ein Arduino, ein paar Chips , Display paar Knöpfe und eine SD-Karte und das wars. Da auf mein USBasp - Programmer auch ein Atiny-85 wusselt, stelle ich mir das nicht wirklich schwer vor. Opfer anschließen, mit der Software des Arduino die Firmware aussuchen, und gib ihm. Vielleicht noch eine Testroutine ob alles OK drauf ist, und fertig ist. Ich verstehe zu wenig davon das zu bauen, aber ich halte es absolut für machbar. Das ganze in einen kleinen Kasten montiert und das war's. Gruß Pucki
Klaus schrieb: > interresse an so einer kleinen Kiste, weil ich auch > immer den PC anwerfe und meinen Brenner rausholen muss nur um mal eben > ein Update einzuspielen. Und du glaubst, so eine kleine Kiste hat ganz von selbst die neueste Softwareversion für ein bestimmtes Gerät? Ohne Verbindung irgendwohin und ohne Angaben dazu welche Version aktuell ist, und ohne diese von irgenwoher zu laden? Mit KI und Cloud über 5G? Und das natürlich für ein paar wenige Euro... Georg
Ich glaube das niemand der sowas einsetzt nicht in der Lage ist seine Daten auf einer sd aktuell zu halten. Muss er jetzt ja auch auf dem Rechner aktuell haben. Einige der stm32 arbeiten nicht so gut auf der sio beim Update. Die meisten aber gehen super. Stellt sich nur die Frage ob die sio erreichbar ist. Ich denke auch das man für Arduino alles an Software finden kann. Aber die Pegel sind unterschiedlich wenn man einen avr hat. Aber egal ob stm32 oder avr am Ende ist es die Software die die entsprechenden Funktionen benötigt.
A. D. schrieb: > Das einzige was ich in die Richtung bisher gefunden habe ist der Flasher > von Segger, der ist eigentlich exakt was ich suche, kostet aber mit 800€ > deutlich mehr, als ich mir das für unsere Kleinserie erhofft hatte. Das ist der Preis vom Flasher Pro. Evtl. reicht dir auch ein Flasher ARM bzw. ein Flasher Portable, die kosten "nur" 600,- Euro. https://www.segger.com/products/production/flasher/models/about-flasher-arm/ https://www.segger.com/products/production/flasher/models/flasher-portable-plus/
Mir würde der "Flasher Portable PLUS" reichen, aber bis jetzt war der Druck nicht so gross das ich den jetzt kaufen würde! Wie ich schon sagte ein STM32 mit passender Software und Du bist in X Stunden fertig. Die Arduino AVR Lösung würde auch gehen aber dann bitte nicht über die Seriele und Pegel anpassung nicht vergessen dein Ziel ist ein 3,3V System! Eine Arduino STM32 Lösung wäre da besser, wenn es den umbegingt Arduino sein müsste. Ich kenne nur keine ISP /SWD LIB für Arduino, sollte aber auch kein Hexenwerk sein. Wenn Du das machst hätte ich wie gesagt interesse, aber habe keinen Druck das haben zu müssen.
Wir nutzen RaspberryPis mit OpenOCD. Dazu Multiplexer, um das SWD auf 6 Targets zu verteilen. Hard- und Software sind bei uns so ausgelegt, dass der Pi erkennt, wenn ein Target angeschlossen ist (nicht via SWD) und legt dann los und programmiert nacheinander.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.