Hallo,
ich bin auf der Suche nach einem günstigen STM32 Board zum
herumprobieren. Eines mit Cortex-M3 reicht vollkommen.
Bisher habe ich mit einem Naze32 Flightcontroller (STM32F103CB)
herumgespielt (Cross Compiling, Upload, etc. alles verstanden).
Was mir wichtig wäre:
- er sollte einen USB Port zum Programmieren haben (bitte nicht UART)
- günstig sein, so dass ich ruhigen Gewissens 1-2 davon hochjagen kann.
Wäre super, wenn ihr mir einen eBay Link einstellen könntet.
Danke!
Jonathan
fJonathan schrieb:> Was mir wichtig wäre:> - er sollte einen USB Port zum Programmieren haben (bitte nicht UART)
Hold Dir eins der Discoveries. Das hat einen ST Link, und damit kann man
nicht nur programmieren sondern auch debuggen. Und ja, das will man
auf einem ARM Cortex haben.
Bedenke das noch ein ST-Link nötig ist, oder hast Du den schon?
Bei meinem Vorschlag findest Du den auch im Angebot.
Die Lieferzeit ist zumindest für mich immer ein Kriterium.
hp-freund schrieb:> Bedenke das noch ein ST-Link nötig ist, oder hast Du den schon?
Nein, habe ich noch keinen. Aber die kosten ja nicht die Welt. Sowas
hier, oder?
www.ebay.de/itm/272302229884
hp-freund schrieb:> Der sollte funktionieren. Dann kannst Du vom gleichen Verkäufer> auch> noch ein 10 Pack ebay 272425764978 mitnehmen und bleibst immer noch> unter 22€.
OK. Aber wie funktioniert da das Debugging?
P.S.
Diese JTAG sind eh noch so ein Mysterium für mich. Mal 10-polig, mal
20-polig. Wenn ich mir diese ST-Link Adapter so anschaue werden eh nur 6
Pins wirklich benutzt.
fJonathan schrieb:> Aber wie funktioniert da das Debugging?
Nicht über JTAG sondern SWD.
Das hat nur VCC, GND, SWDIO und SWDCLK. Das ist der 4 polige Anschluss
auf den Baords.
Damit ist Programmieren und Debuggen möglich.
Alle diese Boards von ebay haben zwar einen USB-Anschluß, sind aber -
zumindest im Auslieferungszustand - nicht über USB programmierbar.
Andererseits ist natürlich die Frage, ob man das überhaupt will. Denn
auch wenn man diesen Teilen einen USB-fähigen Bootloader spendieren
kann, kann man dann immer noch nicht debuggen. Und weil diese Boards den
Pullup am USB nicht schaltbar haben, kann man auch keine
USB-Enumerierung erzwingen. Der USB ist dann nur für den Bootloader
nutzbar. Mit einem angesteckten ST-Link kann man andererseits
programmieren und debuggen.
Wenn man es ganz komfortabel haben will, kann man eines dieser Boards
mit der Blackmagic Probe Firmware bespielen und dann dieses als SWD
Adapter verwenden.
Blackmagic Probe halte ich auch für einen sehr guten Tipp.
Auf meinen Nucleo-Boards habe ich mittlerweile überall die ST-Link-
durch die BMP-Firmware ersetzt.
Dieter schrieb:> Blackmagic Probe halte ich auch für einen sehr guten Tipp.> Auf meinen Nucleo-Boards habe ich mittlerweile überall die ST-Link-> durch die BMP-Firmware ersetzt.
Alternative für Nucleo-Boards:
Segger JLink Firmware
https://www.segger.com/jlink-st-link.html
hp-freund schrieb:> fJonathan schrieb:>> Aber wie funktioniert da das Debugging?>> Nicht über JTAG sondern SWD.> Das hat nur VCC, GND, SWDIO und SWDCLK. Das ist der 4 polige Anschluss> auf den Baords.> Damit ist Programmieren und Debuggen möglich.
OK. Verstehe. Was ist eigentlich der große Vorteil von JTAG? (also wenn
ich schon so einen riesigen 10- oder 20-Pin Stecker auf dem Board habe
will ich auch einen Vorteil). So wie ich das verstehe ist das nur Device
Chaining.
Wenn ich Device Chaining nicht brauche, ist dann SWD nicht genau so gut
(oder sogar besser)?
Axel S. schrieb:> Und weil diese Boards den> Pullup am USB nicht schaltbar haben, kann man auch keine> USB-Enumerierung erzwingen. Der USB ist dann nur für den Bootloader> nutzbar.
Kann man nicht die Pins kurz auf GPIO-Eingang-Ohne-Pullup
umkonfigurieren oder in der USB-Hardware den Pullup disablen oder den
ganzen Transceiver komplett abschalten?
fJonathan schrieb:> Wenn ich Device Chaining nicht brauche, ist dann SWD nicht genau so gut> (oder sogar besser)?
In diesem Fall schon. Weniger Leitungen.
Es gibt bei JTAG je nach Hersteller noch Extras, aber das können dir
z.B. die BMP Anhänger genauer sagen.
Für STM32 bin ich bis jetzt gut mit SWD ausgekommen.
Bernd K. schrieb:> Axel S. schrieb:>> Und weil diese Boards den>> Pullup am USB nicht schaltbar haben, kann man auch keine>> USB-Enumerierung erzwingen. Der USB ist dann nur für den Bootloader>> nutzbar.>> Kann man nicht die Pins kurz auf GPIO-Eingang-Ohne-Pullup> umkonfigurieren oder in der USB-Hardware den Pullup disablen oder den> ganzen Transceiver komplett abschalten?
Fuer die Blackmagic Debug Probe mit dem STLink V1 und V2 habe ich fuer
die Reenumeration implementiert, dass DP mit PA12 als Open-Drain kurz
aktiv nach Masse gezogen wird.
fJonathan schrieb:> OK. Verstehe. Was ist eigentlich der große Vorteil von JTAG? (also wenn> ich schon so einen riesigen 10- oder 20-Pin Stecker auf dem Board habe> will ich auch einen Vorteil). So wie ich das verstehe ist das nur Device> Chaining.
Nicht ganz. Mit SWD kannst man nur den Kern debuggen, mit JTAG geht
mehr. Zum Beispiel Boundary scan.
Für Zuhause ist Boundary-scan eher uninteressant, aber man kann (bei
Boundary-scan fähigen Chips) die IOs über JTAG fernsteuern. Das geht
soweit, dass man den Chip von seinen IOs trennen kann.
Für Prüfmittel super. Damit kann man zum Beispiel alle Leitungen
zwischen solchen Devices testen. Vollautomatisch.
Natürlich gibts da noch mehr, denke ich.
Und die Chain ist nicht zu verachten. Hatte mal ein Board mit 3 µC
drauf, da haben sich die Softwerker sehr über die Chain gefreut.
Eine eigene Frage?
Dieser Thread ist über 9 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.