Forum: Mikrocontroller und Digitale Elektronik STM32 SWDP-Connector als Bootloader-Connector verwenden


von Pepe (Gast)


Lesenswert?

Hallo.
Ich habe auf meinen Boards mit STM32F4xx wenig Platz. Bin deshalb am 
überlegen, wir ich - für die Serie - möglichst platzsparend einen 
Connector für den Bootloader unterbringe. Da ich eh einen 10 poligen 
SW-DP Anschluss drauf habe, hatte ich mir gedacht, diesen gleich als 
Möglichkeit für den Bootloader zu verwenden.

Hätte mir folgende Pinbelegung gedacht:

Org. SWD                             USART
SWDIO                                USART-TX
SWCLK                                USART-RX
TDI (Nicht verwendet bei SWDP)       BOOT0
RESET                                RESET

Somit könnte ich für die Programmierung einen Programmer und für das 
Bootloader einen entsprechenden Adapter anstecken.

Ich frage mich nur, wie ich verhindern kann, dass das SW-DP während des 
Flashens anspringt. Zur Not hatte ich mir schon überlegt, mit zwei 0R 
Widerständen die beiden Leitungen (SWDIO/SWCLK) entsprechend umzubiegen.
Würde gehen ist aber nicht wirklich schön.

Hat bei so was ähnlichem schon jemand Erfahrung und kann mir einen Tipp 
geben?

Vielen Dank, Pepe.

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

RM0090 -> "sw-dp"
38.3.1 Mechanism to select the JTAG-DP or the SW-DP
By default, the JTAG-Debug Port is active.
If the debugger host wants to switch to the SW-DP, it must provide a 
dedicated JTAG
sequence on TMS/TCK (respectively mapped to SWDIO and SWCLK) which 
disables the
JTAG-DP and enables the SW-DP. This way it is possible to activate the 
SWDP using only
the SWCLK and SWDIO pins.
This sequence is:
1. Send more than 50 TCK cycles with TMS (SWDIO) =1
2. Send the 16-bit sequence on TMS (SWDIO) = 0111100111100111 (MSB 
transmitted
first)
3. Send more than 50 TCK cycles with TMS (SWDIO) =1

Die Bausteine machen doch einfach Dienst nach Vorschrift, warum soll da 
plötzlich irgendwas "anspringen"?
Wichtig ist, dass Deine Bootstrap-Konfig (BOOT0/BOOT1) passend zur 
gewünschten Aufgabe steht.

Und wenn's für die Serie klein und billig sein soll, kannst Du Dir mal
http://www.tag-connect.com/
anschauen.

Die von Dir gestellte Aufgabe kannst Du auf 8 Pins abbilden:
1 nRESET
2 UART_RX
3 SWDIO
4 UART_TX
5 SCLK
6 +3V3
7 BOOT0
8 GND

von Pepe (Gast)


Lesenswert?

Oh Mann.
Manchmal sieht man den Wald vor lauter Bäumen nicht.

Ich bin bisher von einer Standardbelegung des ST Link ausgegangen.
Aber wenn ich mir auch für den Programmer einen passenden Adapter mache
(auf die gleiche PC mit dem USART Adapter) dann brauch ich mich
ja um gar keine Belegung kümmern und schon ist das alles viel einfacher.

Danke...

PS. Die Tag Connects schauen gut aus.

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Danke für's Feedback. Werde doch einfach angemeldeter Stammgast hier im 
Forum. :)

Du schriebst "Serie" - und da darf der Adapter schonmal was kosten, 
wenn's hinterher Geld spart.

Ich kenne Deine Stückzahlen nicht, bei kleinen Stückzahlen wäre ggf. ein 
auch einfacher Nadelbettadapter hilfreich. 
http://www.harerod.de/applications_ger.html#PMA302010

Gibt's für die Massenfertigung natürlich auch in viel komfortabler von 
Göpel und Konsorten.

Bei schwierigeren Themen -> PM ;)

von W.S. (Gast)


Lesenswert?

Pepe schrieb:
> Da ich eh einen 10 poligen
> SW-DP Anschluss drauf habe, hatte ich mir gedacht

Sei kreativ!
Kein Mensch braucht wirklich diese polterigen Zollrasterbuchsen. Ich bin 
mittlerweile für's Entwickeln bei 6 oder 10 poligen einreihigen 
Steckverbindern von JST im 1 mm Raster angekommen. LP-Teil und 
Leergehäuse von Farnell, fertig konfektionierte Litzen von RS. Die 
LP-Teile gibt es stehend und liegend und sie kosten nur sehr wenig 
Platz.

Für die Serie ist ohnehin keine Buchse erwünscht. Da packt man die LP 
auf nen Adapter, wo an passenden Stellen Federkontakte eingelassen sind.

Die Anschlüsse von Tagconnect sehen übrigens recht nett und niedlich 
aus, aber SO praktisch sind sie dennoch nicht. Man braucht zum einen 
viel Platz für die Haltelöcher und diesen ganzen Klammer-Apparat an die 
LP dranzuzwicken ist mMn. umständlicher als nen Stecker in eine richtige 
Programmierbuchse zu befördern.

Obendrein: wenn du dann schon ne Serielle nebst JTAG oder SWD an deiner 
Buchse hast, dann hast du damit auch gleich ne nützliche Verbindung zum 
PC - auch wenn du über SWD brennst.

W.S.

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Angehängte Dateien:

Lesenswert?

Für verschiedene Jobs gibt es unterschiedliche, passenden Anschlüsse.
Außerdem variieren die Geschmäcker.
Das Bild im Anhang zeigt Verbinder auf meinen Baugruppen. Mit jedem 
dieser Verbinder kann man STM32 bespielen.

- 2,54mm Standard ARM 2x10
- 2,54mm Compact ARM 2x5
- Samtec SHF 2x5
- TC2030 2x3 mit Rastnasen (TC2050 wäre 2x5)
- TC2030NL 2x3 ohne Rastnasen (TC2050NL wäre 2x5)

Der TC2030NL wird entweder während der Programmierung von Hand in 
Position gehalten, oder während der Entwicklung gibt es ein Konterboard, 
welches von der andere Seite der Platine auf die Führungspins gesteckt 
wird und damit den NL-Stecker in Position hält.

von Hubert O. (fiftyonebits)


Angehängte Dateien:

Lesenswert?

W.S. schrieb:
> Sei kreativ!

> Kein Mensch braucht wirklich diese polterigen Zollrasterbuchsen. Ich bin
> mittlerweile für's Entwickeln bei 6 oder 10 poligen einreihigen
> Steckverbindern von JST im 1 mm Raster angekommen.



Es geht noch kreativer:

Also mir reicht ein 4 poliges Steckersystem ( Raster 1,27, MiniBridge 
von ERNI)  für den SWD

Für Debugzwecke (Auslesen von Werten übers Terminal) benutze ich 
ebenfalls ein 4 poliges Steckersystem (Raster 1,25,  PicoBlade / Molex)

Einer der  Vorteil hier ist,  dass man bei beengten Platinen besser 
platzieren kann.

Und es geht noch mehr kreativer:

Als Debug Adapter habe ich mir einen Nucleo 32 Board umgebaut und dazu
mit dem 3D Drucker ein Gehäuse drumherum kreiert, klein, fein und ohne 
jeden Schnickschnack.

von Migelchen (Gast)


Lesenswert?

Marcus H. schrieb:
> Danke für's Feedback. Werde doch einfach angemeldeter Stammgast hier im
> Forum. :)
>
> Du schriebst "Serie" - und da darf der Adapter schonmal was kosten,
> wenn's hinterher Geld spart.
>
> Ich kenne Deine Stückzahlen nicht, bei kleinen Stückzahlen wäre ggf. ein
> auch einfacher Nadelbettadapter hilfreich.
> http://www.harerod.de/applications_ger.html#PMA302010
>
> Gibt's für die Massenfertigung natürlich auch in viel komfortabler von
> Göpel und Konsorten.
>
> Bei schwierigeren Themen -> PM ;)

Das kann man ja schon nicht mal mehr Schleichwerbung nennen.

von W.S. (Gast)


Lesenswert?

Hubert O. schrieb:
> Also mir reicht ein 4 poliges Steckersystem

und dann nochmal dasselbe für die Serielle. Zusammen soviel Platz wie 
ein 8 poliger Pinhead im 2.54er Raster. Bäh.

Guck mal dort (JST (JAPAN SOLDERLESS TERMINALS)  BM10B-SRSS-TB):
"http://de.farnell.com/jst-japan-solderless-terminals/bm10b-srss-tb-lf-sn/stecker-oben-eing-10kont/dp/1679136";

Genau sowas meine ich.

W.S.

von Hubert O. (fiftyonebits)


Lesenswert?

W.S. schrieb:
> Guck mal dort (JST (JAPAN SOLDERLESS TERMINALS)  BM10B-SRSS-TB):
> 
"http://de.farnell.com/jst-japan-solderless-terminals/bm10b-srss-tb-lf-sn/stecker-oben-eing-10kont/dp/1679136";

Da kommt dann folgendes:-(

>>Leider wurde die von Ihnen gesuchte Seite nicht gefunden<<

Bitte link dich nicht so und linke genauer !

W.S. schrieb:
> und dann nochmal dasselbe für die Serielle. Zusammen soviel Platz wie
> ein 8 poliger Pinhead im 2.54er Raster. Bäh.

Ich sehe schon du bist ein Fan vom 0,5 Pitch ;-)

Hubert

von W.S. (Gast)


Lesenswert?

Dann such doch einfach nach den Angeben, die ich gemacht habe.

Also:
    Hersteller: JST (JAPAN SOLDERLESS TERMINALS)
    Bestellnummer: 1679136
    Herstellerteilenummer: BM10B-SRSS-TB(LF)(SN)

klaro?

W.S.

von Hubert O. (fiftyonebits)


Lesenswert?

W.S. schrieb:
> klaro?

Gib halt gleich die Bestellnummer an ! und keine broken links !

W.S. schrieb:
> und dann nochmal dasselbe für die Serielle. Zusammen soviel Platz wie
> ein 8 poliger Pinhead im 2.54er Raster. Bäh.

Übrigens das glaube ich nicht !

Es ist schwierig einen 8 Pin Wannen-Stiftleiste in SMD  zu finden,
(Wanne deshalb wegen Verpolschutz, die 2 kleinen 4 poligen von mir
haben das)

Wenn ja dann stimmt deine Aussage nicht - mal nachrechnen bitte !
Solltest du aber ein TH Typ nehmen (von mir aus, aus Platzgründen auch 
ohne Wanne)
dann bedenke das die mögliche Bestückungsfläche auf der Gegenseite
blockiert ist.

Soviel zu "Bäh" - Zuerst überlegen dann blöken

von W.S. (Gast)


Lesenswert?

Hubert O. schrieb:
> Gib halt gleich die Bestellnummer an ! und keine broken links !

Du vergreifst dich im Ton.

Und wenn du meinst, es sei "schwierig einen 8 Pin Wannen-Stiftleiste in 
SMD" zu finden, dann ist das dein Problem. Ich rede von Steckverbindern 
im 1 mm Rastermaß und die sind richtig gut und platzsparend.

Aber da du nicht der TO bist, ist das Thema für mich erledigt.

W.S.

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Stichwort war "Serie", nicht "kreative Bastellösung".
D.h. wir sprechen über sehr viele Steckzyklen beim Programmer.

Eher nicht:
http://www.erni.com/fileadmin/medien/downloadcenter/minibridge/ERNI-MiniBridge-d.pdf 
-> 500 Steckzyklen

Themaverfehlung:
http://www.molex.com/webdocs/datasheets/pdf/en-us/0533980471_PCB_HEADERS.pdf 
-> 30 Steckzyklen


Hierfür bieten sich Systeme mit hohen Steckzyklenzahlen an, die auf 
gefederten Nadeln basieren, z.B. TagConnect oder Nadelbettadapter.

Während JTAG/SWD nur Boundary Scan Möglichkeiten bietet, erlauben 
Nadelbettadapter mit verhältnismäßig geringem Mehraufwand (sprich 
weiteren Testpunkten) einen umfangreicheren Baugruppentest - ohne die 
Stückkosten in die Höhe zu treiben.

Wer sowas selber bauen möchte: Bekannte Anbieter für Nadeln sind Ingun 
und Feinmetall.

Mir sei verziehen, dass ich für ein Beispielbild auf meine eigene 
Entwicklung zurückgegriffen habe. Ein Klick auf die Bilder beim 
PMA302010 zeigt jedoch schön, wie ein einfacher Adapter aussehen kann.
Ich sehe gerade, dass das nächste Bild auf der Website einen 
TagConnect-Anschluss zeigt (Bluetooth Low Energy Sensor) - TC2030.

von Hubert O. (fiftyonebits)


Lesenswert?

W.S. schrieb:
> Du vergreifst dich im Ton.


Bitte auf den Boden bleiben:

wer hängt eigentlich  hinter jeden 2.Absatz "Bäh" hinten dran ??
Halte dir mal selber den Spiegel vor guter Mann :-(

von Hubert O. (fiftyonebits)


Lesenswert?

Marcus H. schrieb:
> Stichwort war "Serie", nicht "kreative Bastellösung".

Den folgenden Beitrag bitte nicht als Angriff sehen sonder als
eine andere Sichtweise.

Lieber Marcus,

hier ist die Widerrede:

Marcus H. schrieb:
> Stichwort war "Serie", nicht "kreative Bastellösung".

ich habe mir den 1. Beitrag des Themenstarters angesehen
da war aber nicht die Rede von "Serie" oder "Bastellösung" ist aber im 
folgenden ohne Belang

Marcus H. schrieb:
> Eher nicht:

Bei deinen Angaben der Steckzyklen kommt es mir so vor wie bei den 
Verfalldatum bei den Lebensmitteln: Heute noch "Kontakt" (Zyclus 500)
und morgen "kein Kontakt" (Zyclus 501) ;-)
Mal im Ernst: bei den ERNI Stecker (Prog Con) steckt man wenn es hoch 
kommt ca. 100 mal bis die SW einigermaßen steht.
(wer mehr braucht ist wahrscheinlich ein Programmierer der kurz vor 
seiner Kündigung steht ;-) ;-)
Und sollte man dann in die  Großserie gehen  (wie wahrscheinlich bei 
deinen Produkten) dann hast du Recht, dann könnt man auf Nadeln 
ausweichen.

Aber für einen Serie <100 halte ich meine Lösung als die bessere.

Marcus H. schrieb:
> Themaverfehlung:

Mir sind die Dinger  bezüglich  der Steckzyklen in KEINSTER Weise 
wehrend einer Prototypenphase negativ aufgefallen.
Im Prinzip gilt das gleiche wie oben ausgeführt.

Nach der Prototypenphase werden diese sowieso bloß für einen BITE Test 
1x kontaktiert.
(für so was sind die vom Hersteller ja auch angedacht)

Marcus H. schrieb:
> Wer sowas selber bauen möchte: Bekannte Anbieter für Nadeln sind Ingun
> und Feinmetall.

Also ich nicht !
Ich kann mir nicht vorstellen dass hier im Forum es Leute gibt die so 
was
suchen, kann mich aber irren.

Wie gesagt nachdem ich kein "Grossserialist" bin sehe ich das ganz 
entspannt.

Interessehalber: Gibt es bei dir auch Nadelbretter
für Fakiere zu kaufen ? ;-)

Hubert

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Teil 1: Netiquette
Hubert O. schrieb:
> ich habe mir den 1. Beitrag des Themenstarters angesehen
> da war aber nicht die Rede von "Serie" oder "Bastellösung" ist aber im
> folgenden ohne Belang
-> ziemlich versteckt in der dritten Zeile:
"- für die Serie -"

Ansonsten - willkommen im Forum. Ich freue mich über jeden angemeldeten 
Foristen. https://www.mikrocontroller.net/articles/Netiquette

Empfundene persönliche Probleme darfst Du auch gerne im Vorfeld per PM 
ansprechen. Nicht jeder Kram braucht hier auf alle Ewigkeiten hier 
gespeichert werden. Wenn zu keiner Klärung kommt, kannst Du Dich immer 
noch an die Moderatoren wenden.

Dasselbe gilt für kommerzielle Anfragen.

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Teil 2: Technik
Hubert O. schrieb:
> Bei deinen Angaben der Steckzyklen kommt es mir so vor wie bei den
> Verfalldatum bei den Lebensmitteln: Heute noch "Kontakt" (Zyclus 500)
> und morgen "kein Kontakt" (Zyclus 501) ;-)
> Mal im Ernst: bei den ERNI Stecker (Prog Con) steckt man wenn es hoch
> kommt ca. 100 mal bis die SW einigermaßen steht.
> (wer mehr braucht ist wahrscheinlich ein Programmierer der kurz vor
> seiner Kündigung steht ;-) ;-)
> Und sollte man dann in die  Großserie gehen  (wie wahrscheinlich bei
> deinen Produkten) dann hast du Recht, dann könnt man auf Nadeln
> ausweichen.
Ich habe mir die Mühe gemacht für Dich Datenblätter rauszusuchen. Dort 
werden auch die Normen genannt, nach denen die Steckzyklen gezählt 
werden.

> Aber für einen Serie <100 halte ich meine Lösung als die bessere.
Du hast ein Recht auf eine eigene Meinung.
Allerdings geht es bei der Entwicklung um ein Gesamtbild.
Meine, nun mittlerweile recht breitgetretenen, Empfehlungen für die 
Serie haben, neben der höheren Standzeit, auch Kostenersparnis zur 
Folge.
Realitätsbelastetes Beispiel: 
http://www.harerod.de/applications_ger.html#allTimer
Das Teil soll pro Jahr zwanzigtausendmal vom Band fallen.
Da hat jedes Designmerkmal seinen Grund:
- Platinengröße/Lötkontakte auf Kundenvorgabe
- low-End MCU wegen Funktionsflexibilität, Energiebedarf und Preis
- TagConnect für Entwicklung und ggf. Update
- Nadelbettprüfpunkte für Serie


> Marcus H. schrieb:
>> Wer sowas selber bauen möchte: Bekannte Anbieter für Nadeln sind Ingun
>> und Feinmetall.
>
> Also ich nicht !
> Ich kann mir nicht vorstellen dass hier im Forum es Leute gibt die so
> was suchen, kann mich aber irren.
Es gibt Interessenten, die meine Beiträge hier als Auslöser für die 
Kontaktaufnahme nehmen. Der kleine Nadeladapter macht sich gut in 
Entwicklung und Service, insbesondere wenn auf der Platine nicht mal 
Platz für den TC2030ML ist. Habe ich erst vor ein paar Wochen mal wieder 
angeboten - nach PM-Anfrage.

> Interessehalber: Gibt es bei dir auch Nadelbretter
> für Fakiere zu kaufen ? ;-)
Ich bin freiberuflicher Elektroingenieur und biete daher nur 
Dienstleistungen an. Falls Du Dir so ein Bett zulegen möchtest, könnte 
ich es Dir konstruieren und ggf. auch die Fertigungssteuerung 
übernehmen.
Falls Du das Thema Fakir weiter verfolgen möchtest, kann ich Dir sogar 
eine prima Yogi empfehlen und Tipps für gute Lassi-Bezugsquellen geben.
Das allerdings wiederum nur per PM, damit in diesen Thread keine 
unzulässige Werbung reinkommt.

von Hubert O. (fiftyonebits)


Lesenswert?

Marcus H. schrieb:
> Empfundene persönliche Probleme


Welche Probleme  ??

Ich habe zu bestimmten Themen halt ne andere Ansicht.
Sowas ist für mich kein "KRAM" sondern eine "andere Meinung"
Wir wollen doch hier im Forum ein Meinungsvielfalt pflegen oder nicht?

Versuche einer  unbequeme "Meinung"  (nach deiner Auffassung Problem)ins 
PM abzudrängen geht mit mir schon gar nicht.

Marcus H. schrieb:
> Dasselbe gilt für kommerzielle Anfragen

Du hast wohl die Anfrage falsch verstanden - kein Sinn für Humor ?
( zumal ich ;-) hinten dran geheftet habe)

Hubert

von Hubert O. (fiftyonebits)


Lesenswert?

Marcus H. schrieb:
> Du hast ein Recht auf eine eigene Meinung.


Genau so wie du.

So möchte ich das auch beibehalten.

So ein technischer Diskurs hat für die Mitleser
ja auch eine gewissen Spannung und einen Nährwert.

Da kann sich jeder  für seine Belange
die passende Info raus ziehen,sofern er es möchte.

So soll es sein.
Im diesen Sinne

Hubert

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.