STM32F103C8T6 JTAG

OP #6910735
Lesenswert?

Hallo zusammen,

ich würde gerne eine Schaltung mit dem STM32F103C8T6 aufbauen, leider 
verstehe ich nicht so wirklich welche Pins und welchen JTAG/Adapter man 
dafür braucht.

Hat jemand da ein Beispiel? Am liebsten wäre mir die Verwendung eines 
ST-Link.

Danke vorab,

Bob
Moderator (Firma: Titel) Persönliche Seite #6910750
Lesenswert?

Bob E. schrieb:
> ich würde gerne
Dann mach doch. Es gibt kaum eine Plattform, über die du mehr 
Informationen findest.

> Hat jemand da ein Beispiel?
Kauf dir ein oder zwei ST Evalboards und sieh dir den zugehörigen 
Schaltplan und die entsprechende AppNote an. Lies die Datenblätter und 
versuche, sie zu verstehen. Und wenn DANN etwas unklar ist, dann frage.

> Danke vorab
Kein Problem.

BTW: Fängst du jetzt laufend solche Mikrothreads "brauche Controller", 
"brauche Jumper", "brauche Schaltplan" an? Nimm einfach diesen Thread 
hier und schreibe dort alles rein, was mit der Entstehung deiner 
Neuentwicklung zu tun hat.
Gast #6910751
Lesenswert?

Bob E. schrieb:
> Am liebsten wäre mir die Verwendung eines
> ST-Link.

Wenn ein ST-Link für dich geeignet ist, bist du damit schonmal auf dem 
richtigen Pfad. der ST-Link funktioniert.

Bei den STMs bzw generell bei ARM-Controllern, die nicht komplett hinter 
dem Mond entwickelt wurden, hast du generell 2 Optionen:

1. Anschluss der JTAG Kette mit den Pins TDO, TDI, TMS, TCK.
2. Anschluss des SWD Interfaces mit den Pins SWDIO, SWCLK.

JTAG ist der Klassiker und kann ein paar Dinge, die SWD nicht kann. 
Unter anderem könntest du mit JTAG mehrere Controller in eine Kette 
hängen.

Die meisten Leute verwenden jedoch das SWD interface. Das wird vom 
ST-Link auch unterstützt. Dafür müssen lediglich die Leitungen SWDIO, 
SWCLK und der Reset verbunden werden. Damit ist dann voller Debugzugriff 
auf den ARM + Programmierung möglich und es sind deutlich weniger 
Leitungen als JTAG.

Auf welchen Pins SWDIO/SWCLK am uC und am STLink sind, steht in den 
jeweiligen Datenblättern.

Neben den Datensignalen braucht der Debugger in der Regel noch 
Anschlüsse für VDD, um die Spannungspegel passend zu setzen, den reset 
des Controllers und natürlich eine Ground-Verbindung.

Somit ist der Anschluss des SWD Interfaces mit
 - SWDIO
 - SWCLK
 - Reset (meist nRST genannt bei ST)
 - VDD
 - GND

vollständig.

Hinweis: Natürlich kannst du auch den kompletten JTAG verdrahten. In den 
meisten Fällen ist das allerdings nicht notwendig und SWD ist absolut 
ausreichend für Debugging und Programmierung.

Edit: Beim Layout eines eignen Boards darauf achten, dass der 
entsprechende Pullup an SWDIO und der Pulldown an SWCLK nicht vergessen 
werden. IdR sind die zwar auch im Chip nochmal, aber sicher ist sicher. 
Wenn SWCLK etc. nicht korrekt angeschlossen sind könnte sich der 
Controller da was einfangen und der Debugger könnte irgendwelche 
komischen Dinge anstellen.
OP #6910754
Lesenswert?

M. H. schrieb:
> Somit ist der Anschluss des SWD Interfaces mit
>  - SWDIO
>  - SWCLK
>  - Reset (meist nRST genannt bei ST)
>  - VDD
>  - GND
>
> vollständig.
>
> Hinweis: Natürlich kannst du auch den kompletten JTAG verdrahten. In den
> meisten Fällen ist das allerdings nicht notwendig und SWD ist absolut
> ausreichend für Debugging und Programmierung.

Das hört sich auf jeden Fall bequemer an.
Die Programmierung geht dann auch mit solch einem Gerät ?
https://de.rs-online.com/web/p/chip-programmiergerate/7141701?cm_mmc=DE-PLA-DS3A-_-google-_-PLA_DE_DE_Halbleiter-_-(DE:Whoop!)+Chip+Programmierger%C3%A4te-_-7141701&matchtype=&aud-826607885427:pla-340008192680&gclid=EAIaIQobChMI3afFiL3l9AIVyu5RCh05jQ0_EAQYAiABEgJHb_D_BwE&gclsrc=aw.ds

Danke für den Tipp
Gast #6910757
Lesenswert?

Bob E. schrieb:
> Das hört sich auf jeden Fall bequemer an.
> Die Programmierung geht dann auch mit solch einem Gerät ?
> 
https://de.rs-online.com/web/p/chip-programmiergerate/7141701?cm_mmc=DE-PLA-DS3A-_-google-_-PLA_DE_DE_Halbleiter-_-(DE:Whoop!)+Chip+Programmierger%C3%A4te-_-7141701&matchtype=&aud-826607885427:pla-340008192680&gclid=EAIaIQobChMI3afFiL3l9AIVyu5RCh05jQ0_EAQYAiABEgJHb_D_BwE&gclsrc=aw.ds

Ja. Das funktioniert.

Ich weiß jetzt nicht genau, was du machen willst und ob du ein eigene 
Board designen möchtest. Wenn ja: Achte auf jeden Fall noch auf die 
anderen Fallstricke bei den controllern einschließlich, aber nicht 
ausschließlich, der Anschluss der BOOT Pins z.B.
#6910764
Lesenswert?

M. H. schrieb:
> einschließlich, aber nicht
> ausschließlich, der Anschluss der BOOT Pins z.B.

Und wenn man mit CubeMX oder der Cube IDE die HAL verwendet: Die 
SWD-Pins als solche auch im Konfigurator definieren. Ansonsten ist das 
SWD-Interface nach dem ersten Programmieren erst einmal weg. Wenn man 
die Boot-Jumper hat, kein großes Problem, aber bis man sich daran 
erinnert hat, vergehen ein paar Momente.
Gast #6910766
Lesenswert?

Eigentlich fängt man immer mit einem fertigen Eval Board an, um sich mit 
den Arbeitsmitteln vertraut zu machen. Ich kann dir das nur dringend 
empfehlen, du hast sonst zu viele Baustellen gleichzeitig offen.

Ich ahne schon die nächste Frage: "Ich kann mein Programm nicht 
hochladen (kryptische Fehlermeldung), woran liegt es?"
Gast #6910769
Lesenswert?

> verstehe ich nicht so wirklich welche Pins und welchen JTAG/Adapter man
> dafür braucht.

> Hat jemand da ein Beispiel? Am liebsten wäre mir die Verwendung eines
> ST-Link.

Dann ist das doch ganz einfach. Wenn du fuer Kohle entwickelst dann 
kaufst du dir einen schwarzen J-Link. Da du offensichtlich noch 
Anfaenger ohne grosse Ahnung bist reicht vermutlich der kleine der um 
die 600Euro kostet. Brauchst du Netzwerkanschluss oder willst Trace dann 
einfach mehr Geld ausgeben.

Bist du ein armes privates Wuerstchen kaufst du dir einen EDU fuer 
50Euro.

Danach liesst du dir die gute und reichliche Doku durch die Segger dir 
fuer deine Kohle zur verfuegung stellt. Da steht dann drin welche Signal 
am Segger wo liegt. Ebenfalls liesst du dir dir Dokus deines 
Mikcrocontrollers durch und verknuepperst die 3-4Leitungen. Das wars 
dann auch schon.

Olaf
OP #6910773
Lesenswert?

Stefan ⛄ F. schrieb:
> Eigentlich fängt man immer mit einem fertigen Eval Board an, um sich mit
> den Arbeitsmitteln vertraut zu machen. Ich kann dir das nur dringend
> empfehlen, du hast sonst zu viele Baustellen gleichzeitig offen.

Die Schaltung ist bis zum Eintreffen des Nucleo wahrscheinlich schon 
fertig und ich kann dann mit neuen Erkenntnissen die Schaltung 
"weiterentwickeln"
OP #6910774
Lesenswert?

Olaf schrieb:
> Dann ist das doch ganz einfach. Wenn du fuer Kohle entwickelst dann
> kaufst du dir einen schwarzen J-Link. Da du offensichtlich noch
> Anfaenger ohne grosse Ahnung bist reicht vermutlich der kleine der um
> die 600Euro kostet. Brauchst du Netzwerkanschluss oder willst Trace dann
> einfach mehr Geld ausgeben.

> Bist du ein armes privates Wuerstchen kaufst du dir einen EDU fuer
> 50Euro.

> Danach liesst du dir die gute und reichliche Doku durch die Segger dir
> fuer deine Kohle zur verfuegung stellt. Da steht dann drin welche Signal
> am Segger wo liegt. Ebenfalls liesst du dir dir Dokus deines
> Mikcrocontrollers durch und verknuepperst die 3-4Leitungen. Das wars
> dann auch schon.


Darauf verzichte ich, trotzdem danke
Gast #6910778
Lesenswert?

Wo bekommst du eigentlich den STM32F103C8T6 her? Ich will dir den Spaß 
nicht vermiesen, aber ist dir bekannt dass dieser Chip Beginn der Corona 
Pandemie überall ausverkauft ist? Und ist dir bekannt, dass seit Anfang 
2020 aus Asien fast ausschließlich schlechte Fälschungen in Umlauf 
gebracht werden?

Dieser Chip ist einer der ersten, den die Firma ST gemacht hat, und das 
merkt man ihm deutlich an. ST selbst empfiehlt den Nachfolger STM32F303 
zu benutzen, dem kann ich mir nur anschließen. Er ist sogar billiger und 
hat die ganzen Kinderkrankheiten nicht mehr. Außerdem hat der STM32F303 
eine FPU.
Gast #6910779
Lesenswert?

Olaf schrieb:
>> verstehe ich nicht so wirklich welche Pins und welchen  JTAG/Adapter man  dafür 
braucht.
>
>> Hat jemand da ein Beispiel? Am liebsten wäre mir die Verwendung eines
>> ST-Link.
>
> Dann ist das doch ganz einfach. Wenn du fuer Kohle entwickelst dann
> kaufst du dir einen schwarzen J-Link.
>
> ...
>
> Olaf

Wenn er am liebsten einen ST-Link verwenden würde, sollte er der 
Einfachheit halber einen J-Link verwenden??? Klar...
Moderator (Firma: Titel) Persönliche Seite #6910781
Lesenswert?

Stefan ⛄ F. schrieb:
> wenn du mit einem Eval Board von ST (die heissen "Nucleo")
> anfängst, bekommst du einen ST-Link Adapter dazu geschenkt.
Man kanns gar nicht oft genug sagen...

Besonders, weil man dann 100% sicher weiß, dass die Platine 
funktioniert. Ich erinnere mich da lebhaft an den 
Beitrag "Fehler auf Platine finden"

Davon abgesehen gibt es auch schon fertige und passende Codebeispiele 
für diese Evalboards und zig andere können mit ihrem gleichen Evalboard 
einen Fehler nachvollziehen, und, und, und...
OP #6910785
Lesenswert?

Stefan ⛄ F. schrieb:
> Wo bekommst du eigentlich den STM32F103C8T6 her? Ich will dir den Spaß
> nicht vermiesen, aber ist dir bekannt dass dieser Chip Beginn der Corona
> Pandemie überall ausverkauft ist? Und ist dir bekannt, dass seit Anfang
> 2020 aus Asien fast ausschließlich schlechte Fälschungen in Umlauf
> gebracht werden?
>
> Dieser Chip ist einer der ersten, den die Firma ST gemacht hat, und das
> merkt man ihm deutlich an. ST selbst empfiehlt den Nachfolger STM32F303
> zu benutzen, dem kann ich mir nur anschließen. Er ist sogar billiger und
> hat die ganzen Kinderkrankheiten nicht mehr. Außerdem hat der STM32F303
> eine FPU.

oOoOo.. das war mir nicht klar. Wollte ihn aus China beziehen. Ich 
schaue mir mal den 303er an, danke
Gast #6910787
Lesenswert?

Bob E. schrieb:
> ich würde gerne eine Schaltung mit dem STM32F103C8T6 aufbauen

Warum nicht erst mal ein fertiges Experimentierboard verwenden?
Das vermeidet schon mal einige Fehler und Stolpersteine. Und
man kommt erst mal schnell(er) in die Gänge.

Ansonsten bleibt darauf hinzuweisen dass bei fehlenden Abblock-
Kondensatoren schnell mal was nicht so läuft wie man sich das
vorstellt. Daher:

Ich muss bei jedem Pin für die Stromversorgung ein Abblock-C
von VCC nach GND anschliessen.
Ich muss bei jedem Pin für die Stromversorgung ein Abblock-C
von VCC nach GND anschliessen.
Ich muss bei jedem Pin für die Stromversorgung ein Abblock-C
von VCC nach GND anschliessen.
OP #6910791
Lesenswert?

Lothar M. schrieb:
> Stefan ⛄ F. schrieb:
>> wenn du mit einem Eval Board von ST (die heissen "Nucleo")
>> anfängst, bekommst du einen ST-Link Adapter dazu geschenkt.
> Man kanns gar nicht oft genug sagen...
>
> Besonders, weil man dann 100% sicher weiß, dass die Platine
> funktioniert. Ich erinnere mich da lebhaft an den
> Beitrag "Fehler auf Platine finden"
>
> Davon abgesehen gibt es auch schon fertige und passende Codebeispiele
> für diese Evalboards und zig andere können mit ihrem gleichen Evalboard
> einen Fehler nachvollziehen, und, und, und...

Das ist ja schön und gut. Ich nehme den Tipp ja auch gerne an und würde 
zunächst ein Evalboard bestellen.

-> Was genau hat der Beitrag mit dem Fehler auf der Platine nun damit 
zutun ? Da war das Problem ein ganz anderes.. aber ja. Danke
OP #6910792
Lesenswert?

reminder schrieb:
> Bob E. schrieb:
>> ich würde gerne eine Schaltung mit dem STM32F103C8T6 aufbauen
>
> Warum nicht erst mal ein fertiges Experimentierboard verwenden?
> Das vermeidet schon mal einige Fehler und Stolpersteine. Und
> man kommt erst mal schnell(er) in die Gänge.

Wenn es noch 20 mal empfohlen wird hab ich auch nix gewonnen.

> Ansonsten bleibt darauf hinzuweisen dass bei fehlenden Abblock-
> Kondensatoren schnell mal was nicht so läuft wie man sich das
> vorstellt. Daher:
>
> Ich muss bei jedem Pin für die Stromversorgung ein Abblock-C
> von VCC nach GND anschliessen.
> Ich muss bei jedem Pin für die Stromversorgung ein Abblock-C
> von VCC nach GND anschliessen.
> Ich muss bei jedem Pin für die Stromversorgung ein Abblock-C
> von VCC nach GND anschliessen.

Schon vorgesehen, danke
Gast #6910794
Lesenswert?

Bob E. schrieb:
> Lothar M. schrieb:
>> Stefan ⛄ F. schrieb:
>>> wenn du mit einem Eval Board von ST (die heissen "Nucleo")
>>> anfängst, bekommst du einen ST-Link Adapter dazu geschenkt.
>> Man kanns gar nicht oft genug sagen...
>>
>> Besonders, weil man dann 100% sicher weiß, dass die Platine
>> funktioniert. Ich erinnere mich da lebhaft an den
>> Beitrag "Fehler auf Platine finden"
>>
>> Davon abgesehen gibt es auch schon fertige und passende Codebeispiele
>> für diese Evalboards und zig andere können mit ihrem gleichen Evalboard
>> einen Fehler nachvollziehen, und, und, und...
>
> Das ist ja schön und gut. Ich nehme den Tipp ja auch gerne an und würde
> zunächst ein Evalboard bestellen.
>
> -> Was genau hat der Beitrag mit dem Fehler auf der Platine nun damit
> zutun ? Da war das Problem ein ganz anderes.. aber ja. Danke

Die Variante ohne Eval-Board würde praktisch garantiert in einem 
ausufernden Hardwarefehler-Thread in 1-2 Wochen enden.

Dein Eval-Board der Wahl wäre dann übrigens wohl ein NUCLEO-F303K8:

https://www.mouser.ch/ProductDetail/511-NUCLEO-F303K8
Moderator (Firma: Titel) Persönliche Seite #6910795
Lesenswert?

Bob E. schrieb:
> Was genau hat der Beitrag mit dem Fehler auf der Platine nun damit zutun ?
Es hat damit zu tun, dass ich dort gelernt habe, dass man dir einen 
guten Ratschlag nicht oft genug erteilen kann: Kauf ein Evalboard!

https://www.st.com/en/evaluation-tools/nucleo-f303re.html

https://www.google.com/search?q=NUCLEO-F303RE
Gast #6910803
Lesenswert?

Bob E. schrieb:
> Wenn es noch 20 mal empfohlen wird hab ich auch nix gewonnen.

Aber du scheinst dir als Anfänger der Tragweite deines Entschlusses
zum Selbstbau noch nicht so ganz bewusst zu sein.

Wie viele Leute haben wir hier schon erlebt die .....
(rhetorische Frage)
Gast #6910804
Lesenswert?

Das Nucleo-F303RE ist verfügbar und derzeit sogar ausgesprochen 
preisgünstig:

https://www.conrad.de/de/p/stmicroelectronics-entwicklungsboard-nucleo-f303re-stm32-f3-series-1416930.html

> Und aus Evalboards ablöten ist auch nicht das wahre.

Das hat ja auch keiner verlangt. Vielleicht hast du es noch nicht 
bemerkt: Zur Zeit sind fast alle STM32 Controller überall ausverkauft. 
Sei froh dass man wenigstens noch Nucleo Boards kaufen kann.
Moderator (Firma: Titel) Persönliche Seite #6910814
Lesenswert?

Bob E. schrieb:
> reminder schrieb:
>> Ich muss bei jedem Pin für die Stromversorgung ein Abblock-C
>> von VCC nach GND anschliessen.
> Schon vorgesehen, danke
Besser sollte es heißen: ich muss direkt an jedem Vcc-GND-Pärchen einen 
Abblock-C anbringen. Denn die wurden nicht zufällig meist paarweise 
nebeneinander und zur besseren Versorgung sogar diagonal platziert.
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #6910826
Lesenswert?

Stefan ⛄ F. schrieb:
> Du hast VDDA/VSSA und VBAT vergessen.
Diese Pins sind meist nicht so kritisch, weil sie keine schnellen 
Stromimpulse erzeugen. Trotzdem liegen ganz offensichtlich auch 
VDDA/VSSA (wenigstens beim großen Gehäuse) nebeneinander und VBAT nicht 
weit von einem GND-Pin entfernt.

Zur näheren Lektüre empfehle ich wie üblich das Datenblatt und die 
passende Appnote.
Gast #6910911
Lesenswert?

> Wenn er am liebsten einen ST-Link verwenden würde, sollte er der
> Einfachheit halber einen J-Link verwenden??? Klar...

Das liegt dann daran das ich ein Wurm bin und das falsch gelesen habe. 
:-D

Allerdings kann man dann immer noch ein Demoboard nehmen, darauf von
Segger die J-Link Software flashen und alles in kostenlos und 
schmwerzfrei
verwenden.

Olaf
Gast #6910915
Lesenswert?

Ich habe wenig Verständnis dafür, dass hier Anfängern immer gleich zu 
Beginn der Wechsel auf J-Link empfohlen wird. Die ST-Link funktionieren 
und gehören zum Lieferumfang. Punkt.

Das "über den Tellerrand schauen" kommt später.
#6910934
Lesenswert?

Bob E. schrieb:
> Stefan ⛄ F. schrieb:
>> Bob, zeige doch mal Schaltplan und Layout von deinem Board.
>
> Es gibt noch kein Layout. Und der Schaltplan besteht bisher nur aus der
> Versorgungsspannung. Also gibt es da nicht viel zum zeigen. Ich habe das
> Evalboard zum 303er bestellt und werde dann sehen ob dieser uC für uns
> das richtige ist.

Schau erstmal, ob Du den Prozessor überhaupt bekommst, bevor Du das 
Evalboard bestellst.

Alternative:

https://www.digikey.de/de/products/detail/texas-instruments/TM4C1233H6PMI/4036435

Digikey hat 628 Stück vorrätig. Da solltest Du gleich die 
voraussichtlich benötigte Menge + vielleicht ein paar extra ordern.

Evalboard wäre das hier, auch lieferbar:

https://www.digikey.de/de/products/detail/texas-instruments/EK-TM4C123GXL/3996736
Da ist zwar ein leicht anderer Prozessor drauf, aber das wird dich nicht 
stören.

IDE+Compiler wäre das hier: https://www.ti.com/tool/CCSTUDIO-TM4X

Treiberdibliothek TIVAWARE:
https://www.ti.com/tool/SW-TM4C

Als Debugger für das Zielsystem kannst Du das hier nehmen: 
https://www.digikey.de/de/products/detail/texas-instruments/TMDSEMU110-U/7104516
auch lieferbar. Oder JLink, der wird auch unterstützt.

fchk
OP #6911002
Lesenswert?

Frank K. schrieb:
> Schau erstmal, ob Du den Prozessor überhaupt bekommst, bevor Du das
> Evalboard bestellst.
>
> Alternative:
>
> 
https://www.digikey.de/de/products/detail/texas-instruments/TM4C1233H6PMI/4036435
>
Das sieht auf jeden Fall interessant aus.

> Digikey hat 628 Stück vorrätig. Da solltest Du gleich die
> voraussichtlich benötigte Menge + vielleicht ein paar extra ordern.
>
> Evalboard wäre das hier, auch lieferbar:
>
> 
https://www.digikey.de/de/products/detail/texas-instruments/EK-TM4C123GXL/3996736
> Da ist zwar ein leicht anderer Prozessor drauf, aber das wird dich nicht
> stören.
>
> IDE+Compiler wäre das hier: https://www.ti.com/tool/CCSTUDIO-TM4X
>
> Treiberdibliothek TIVAWARE:
> https://www.ti.com/tool/SW-TM4C
>
> Als Debugger für das Zielsystem kannst Du das hier nehmen:
> https://www.digikey.de/de/products/detail/texas-instruments/TMDSEMU110-U/7104516
> auch lieferbar. Oder JLink, der wird auch unterstützt.

Danke!!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren