Forum: Mikrocontroller und Digitale Elektronik Flashen mehrer STM32 über SWD an einem System


von Jürgen H. (nobody)


Lesenswert?

Hallo zusammen,


ich suche schon eine Weile nach einer Möglichkeit 6 STM32 gleichzeitig 
zu flashen.

Es geht hier um eine größere Produktion und um die Zeiten klein 
zuhalten, müssen 6 Stück gelichzeitig parametriert / geflasht werden.

Der interne Bootloader zum programmieren über die UART ist zu langsam. 
Das dauert 6 Minuten mit 115200 Baud. Über SWD dauert das ganze nicht 
mal eine Minute.

Welche SWD Adapter kann man parallel an einem PC betreiben?

Wer hatte schon so ein Problem und wie habt ihr es gelöst?

Gruß

von Jim M. (turboj)


Lesenswert?

Über JTAG könnte man die 6 Stück in eine Chain hängen und so mit einem 
einzelnen Programmierer nacheinander ansprechen - aber das geht mit SWD 
nicht.

JLink Debugger werden über die Seriennummer angesprochen, ich hatte 
schon mal mit 3 Stück auf einmal am Schlepptop.

von Florian (Gast)


Lesenswert?

Hallo,

also meines Wissens kannst Du mit KEIL µVision (Auch einer Trialversion) 
Mehrere ULINK-ME (Die sind nicht so teuer) betreiben.

Wenn Du dann Dummyprojekte anlegst die immer einen anderen ULINK 
ansprechen, müsstest Du per Kommandozeile die einzelnen Projekte 
aufrufen und auch flashen können.

Ich habe das mal vor Urzeiten mit einem(1!) ULINK und einer selbst 
geschriebenen Oberfläche gemacht.

Es müsste aber auch möglich sein das für mehrer parallel zu machen.

Florian

von Jürgen H. (nobody)


Lesenswert?

Jtag geht nicht, da die Pins nicht herraus geführt sind. Nur SWD ist 
möglich.

Ich habe hier zum test den Ulink2 liegen, der wird auch über die 
Serienummer angesprochen. Mit dem geht es. Darum denke ich das der 
J-Link auch so funktioniert. Aber die sind halt teuer (ca. 350€ pro 
Stück)

Kann der Ulink-ME SWD? Habe dazu noch keine Beschreibung gesehen.

Ja würde es aktuell auch über das MDK und den Projekten laufen lassen.

von Florian (Gast)


Lesenswert?

Ja der ULINK ME kann auch SWD.

von GB (Gast)


Lesenswert?


von derKer (Gast)


Lesenswert?

Du könntest statt UART auch CAN verwenden. Bei mir geht das sehr 
schnell. Da alle meine Contoller sowiso am CAN Bus hängen verteile ich 
das Programm so. Musst einfach einen Bootloader schreiben.

Gruss derKer

von Jürgen H. (nobody)


Lesenswert?

Servus,

nein CAN ist nicht möglich, da keine Verbindung / Hardware dazu da ist.

Gruß

von Thomas (Gast)


Lesenswert?

Nimm doch ST-Link zum flashen, der kostet weniger als 20 EUR. Musst halt 
mal probieren, ob der mehrere Adapter an einem PC erlaubt.
Gruss Thomas

von Jim M. (turboj)


Lesenswert?

Bastellösung: 2 mal FTDI FT4232H verwenden, der hat je 4 Schnittstellen 
für JTAG und SWD und ist auch als Modul erhältlich.

JTAG-to-SWD Adapter werden benötigt - der besteht im einfachsten Fall 
aber nur aus einem Widerstand 400 Ohm - 1 kOhm von TDI nach TDO.

Als Software käme OpenOCD in Frage, dass muss man dann aber selbst aus 
Git kompilieren da SWD erst nach 0.8.0 hinzu kam.

von 6A66 (Gast)


Lesenswert?

Jim Meba schrieb:
> Über JTAG könnte man die 6 Stück in eine Chain hängen und so mit einem
> einzelnen Programmierer nacheinander ansprechen - aber das geht mit SWD
> nicht.
>
> JLink Debugger werden über die Seriennummer angesprochen, ich hatte
> schon mal mit 3 Stück auf einmal am Schlepptop.

Hallo tuboj,

hast Dus chon mal versucht, die SWD-Schnittstelle umzuschalten um die 
dann mit einem Adapter zu flashen?

rgds

von Uwe Bonnes (Gast)


Lesenswert?

Den Blackmagic Code http://www.blacksphere.co.nz/main/blackmagic 
koenntest Du liecht anpassen, dass er mehrere SWD Verbindungen zur 
Verfuegubg stellt...

von 6A66 (Gast)


Lesenswert?

6A66 schrieb:
> Hallo tuboj,
>
> hast Dus chon mal versucht, die SWD-Schnittstelle umzuschalten um die
> dann mit einem Adapter zu flashen?
>
> rgds

Habe gerade mit Seggeer geturtelt.
Die Umschaltung der SWD Schnittstelle über schalter sollte machbar sein.

rgds

von Jürgen H. (nobody)


Lesenswert?

Ja das es geht denke ich mir.
Aber das Problem ist hier ein serielles flashen und nicht parallel.

Ich werde es nun über den Ulink2 machen. Das funktioniert mir mehreren 
Adapter parallel recht gut.

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.