Hallo, ich komme ursprünglich von der AVR und Renesas Fraktion. Für neue Projekte plane ich was aus der STM32-Reihe einzusetzen. Ich habe schon diverse Manuals und Einsteigerhilfen durch, eine Frage bleibt dennoch. Ich finde den 20pol. JTAG Stecker ziemlich unhandlich und da meine Baugruppen überwiegend sehr klein sind auch total überdimensioniert. Außerdem möchte ich eine einfache Möglichkeit schaffen, die Software zu aktualisieren. Die Renesas-Controller aus der MC16-Serie lassen sich alle über den Serialport sowohl flashen als auch debuggen. Das ganze sogar sehr komfortabel wenn auch ein wenig langsam weil nur mit 38400 Baud. Die STM32-Controller lassen sich ja nachdem was ich gelesen habe auch per serieller Schnittstelle flashen. Aber lassen sie sich auch debuggen ? Und falls ja, funktionirt das halbwegs schnell und welche Tools benötigt man dafür bzw mit welcher IDE ist man da am besten bedient. Hat einer von euch Erfahrung damit ?
Braucht der STM alle 20 Pins für JTAG? Kann ich mir nicht vorstellen. Führe nur die notwendigen raus und baue dir einen Adapter auf den Debugger Anschluss.
Moin, also richtig Debuggen, wie mit einem normalen Debugger geht nicht. Über die serielle (und auch andere) Schnittstellen kannst du dein Programm nur in den Flash laden. Aber du musst ja nicht unbedingt den 20pol. JTAG verwenden. STM32 unterstützt auch SWD-Debugging. Das kommt mit 5 Pins aus und du hast vollen Debug-Support mit Semihosting usw. Serielle Schnittstelle bräuchte ja fast ähnlich viele Pins (mit Versorgungsspannung). Moritz
SWD braucht mit zwei Datenleitungen genausoviel wie Seriell, bietet aber viel mehr Moeglichkeiten... SWD gibt es z.Bmit den Nucleo Boards fuer wenig Geld.
Also auf den Discovery-Boards sind die Programmier/Debugschnittstellen ausgeführt, dort sind es 6Pins. Über diese Pins kann man auch im Programm Debuggen, ich glaube das Stichwort ist hier SWO und sprintf. Getestet habe ich es schon, funktioniert auch, nur zur Geschwindigkeit kann ich leider nichts sagen, aber für meine Messwertausgabe hat es ausgereicht.
Natürlich braucht man nicht alle 20 Pins fürs JTAG. Aber 7 bzw 8 mit Versorgungsspannung sinds trotzdem. Und ich hasse Adapter. Gerade wenn man ihn baucht ist das Teil wieder verlegt. Außerdem fehlen enem die Pins natürlich für andere Sachen, insbesondere wenn man da eh schon knapp ist. (bei den 48pol. Versionen) SWD ... ist mir bei der Recherche auch schon über den Weg gelaufen. Aber was braucht man dafür auf der anderen Seite ? So ich das jetzt auf die schnelle gesehen habe, haben ja die meisten Bastelboards noch n weiteren Controller drauf so das man sich direkt per USB connecten kann. Sorry, aber beim Thema STM32 sieht man am Anfang den Wald vor lauter Bäumen nicht mehr. Ach so, unter gescheitem debuggen verstehe ich eigentlich, das man auch in die Prozessorregister schauen kann oder zumindest n Breakpoint setzen und sich diverse Variablen anschauen kann.
:
Bearbeitet durch User
R2 D2 schrieb: > Ach so, unter gescheitem debuggen verstehe ich eigentlich, das man auch > in die Prozessorregister schauen kann oder zumindest n Breakpoint setzen > und sich diverse Variablen anschauen kann. ST-LINK V2 reicht zum Debuggen (17 € bzw. 63 € exkl. für die galvanisch isolierte Variante), VCC/GND + 2 Pins/3 Pins ohne/mit Trace wie oben schon erwähnt. http://www.st.com/web/catalog/tools/FM146/CL1984/SC720/SS1454/PF251168 Zum reinen Programmieren brauchst die nicht. Die STM haben je nach Controller u.a. UART, SPI, I²C, CAN und USB (DFU-Class)-Bootloader eingebaut... https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Attachments/18225/AN2606.pdf
:
Bearbeitet durch User
R2 D2 schrieb: > Ich finde den 20pol. JTAG Stecker ziemlich unhandlich und da meine > Baugruppen überwiegend sehr klein sind auch total überdimensioniert. > Außerdem möchte ich eine einfache Möglichkeit schaffen, die Software zu > aktualisieren. ARM hat deswegen für Cortex einen neuen Standard geschaffen: 10 Pins im 1/10" Raster. Das ist wirklich kompakt. Siehe http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm Keil ist ja Teil von ARM. Die Samtec Part # steht dort auch. Der gleiche Stecker wird auch beim Atmel JTAGice 3 verwendet. Für den Cortex Trace Port wird der 10 Pin Connector auf 20 Pin erweitert. http://www.keil.com/support/man/docs/ulinkpro/ulinkpro_hw_if_etm.htm Dafür brauchst Du dann einen uLinkPro oder einen JTrace. fchk
> Das kommt mit 5 Pins > aus Seit wann braucht man für SWD denn 5 Pins? Man benötigt nur 2 Leitungen: CLK und SWD. Und natürlich GND. Also 2 Datenleitungen für Debuggen und Programmieren. Weniger geht nüscht.
luss schrieb: > Seit wann braucht man für SWD denn 5 Pins? Man benötigt nur 2 Leitungen: > CLK und SWD. Und natürlich GND. Das stimmt schon. Aber Reset und SWO würde ich auch immer mit verbinden. Hinzu kommt, das manche Debugger noch +3V sehen möchten um festzustellen, ob überhaupt etwas angeschlossen ist. Damit ist man bei 6 Pins - mit dieser Version bin ich bisher ganz gut gefahren. Den Stecker dann im 1,27mm-Raster, dann hat man eine recht kompakte Lösung. Gruß Rainer
Rainer M. schrieb: > Den Stecker dann im 1,27mm-Raster Diese kleinen Stecker sind fuer Experimentieraufbauten Schwachsinn. Wire Jumper fuer 2.54 mm sind gebraeuchlich, alles andere nicht!
Nutze für so was auch mal gerne 6-polige FPC (Jumper) mit 0.5 mm Pinabstand... Oder auch die DF12 von Hirose (10-polig 0.5 mm)
Uwe Bonnes schrieb: > Diese kleinen Stecker sind fuer Experimentieraufbauten Schwachsinn. Wire > Jumper fuer 2.54 mm sind gebraeuchlich, alles andere nicht! Für Experimentieraufbauten, wo man keine Beschränkungen hat, was den Platz angeht, mag das stimmen. Aber der TO hat von sehr kleinen Baugruppen gesprochen. Bei mir ist es bei den aktuellen Projekten auch so, dass der Platz auf der Platine knapp ist. Da sind die Stecker im 1,27mm eine gute Lösung.
Das schwierigste an Baugruppen sind manchmal die Steckverbinder! Der neue 'kleine' JTAG ist ganz schoen hoch, wenn man 'ne flache Platine bastelt und das Footprint ist auch ein riesen Ding, wenn man schon bei 0603 Rs und Cs und SC70 FETs ist. Arc Net schrieb: > Nutze für so was auch mal gerne 6-polige FPC (Jumper) mit 0.5 mm > Pinabstand... Oder auch die DF12 von Hirose (10-polig 0.5 mm) Wieviele Steckzyklen machen die eigentlich? Bei so FFC/FPC Sachen bin ich ziemlich aengstlich (bisher). Fuer eingige (nicht ganz so kleine) Sachen find ich die ERNI-Minibridge ganz witzig: SMD, sehr solide, 1.27mm, recht flach und 500 Steckzyklen. Wenn bloss das Beschaffungsproblem nicht w"are, aber ERNI gelobt ja Besserung bis mitte des Jahres...
Marc P. schrieb: > Wieviele Steckzyklen machen die eigentlich? > Bei so FFC/FPC Sachen bin ich ziemlich aengstlich (bisher). Nicht viele... Meist sind 10 - 20 Steckzyklen spezifiziert. (wenn's nicht reicht, hilft dann etwas Papier o.ä...) Wenn's länger halten soll, gibt's auch dafür ausgelegte FFC, die direkt auf die Platine gelötet werden. > Fuer eingige (nicht ganz so kleine) Sachen find ich die ERNI-Minibridge > ganz witzig: SMD, sehr solide, 1.27mm, recht flach und 500 Steckzyklen. > Wenn bloss das Beschaffungsproblem nicht w"are, aber ERNI gelobt ja > Besserung bis mitte des Jahres... http://de.rs-online.com/web/p/leiterplatten-buchsen/7866699/ ;) 2 x 5 Pin, brauchen nur ~ 4 mm x 2.2 mm auf der Platine...
Arc Net schrieb: > ;) 2 x 5 Pin, brauchen nur ~ 4 mm x 2.2 mm auf der Platine... Chic! Danke, die werd ich mir merken!
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.