Forum: Mikrocontroller und Digitale Elektronik Auswahl eines passenden Nucleo Boards


von Bert (zapfen)


Lesenswert?

Guten Morgen,

ich würde gerne mit der STM32 Platform anfangen und versuche ein gutes 
Board zu finden. Ich habe schon viele Jahre mit ATTinys und ATMegas in C 
programmiert. Die Discovery Boards habe ich erstmal ausgeschlossen, da 
mir dort ab Werk zu viele Komponenten  eingelötet sind.
Die Nucleo Boards gefallen mir sehr gut, aber da habe ich noch ein paar 
Fragen zu.

Auf den Fotos sieht man die Boards mal mit und mal ohne eingelöteter 
Stiftleiste. Sind die ab Werk einheitlich eingelötet bzw. liegen die dem 
Board überhaupt bei?

Je nach Board scheint der Aufpreis für einen M7 gegenüber einem M3 nur 
ein paar Euro zu betragen. Der M7 ist in der Regel schneller und hat oft 
mehr IOs, mehr Flash und mehr RAM. Ich werde diesen Mehrwert später 
sicherlich nutzen, aber am Anfang werde ich mich auf die klassischen 
Methoden wie Polling, Interrupt-CallBacks, Timer-CallBacks, 
Flag-Auswertung in der main, usw. beschränken. Ist ein M7 in dem Fall 
nicht viel komplizierter als ein M3 bzw. gibt es irgendetwas, was gegen 
einen M7 spricht?

Es gibt Nuceleos mit Ethernet, also komplett mit PHY/RJ45-Buchse. 
Irgendeine Verbindung mit z.B. einem Linux-Server wäre hilfreich. Das 
Mindeste wäre, mit einem API Befehl ein unverschlüsseltes HTTP-Get 
absetzen zu können und die Antwort dann in einem CallBack zu 
verarbeiten. Ich frage mich halt so, wie Benutzerfreundlich das beim 
STM32 ist oder ob ich besser ein Board ohne Ethernet nehme und dafür 
lieber ein günstiges Ethernet-Shield nehme?

Einen schönen Sonntag wünsche ich euch noch.

von J. S. (jojos)


Lesenswert?

Eingelötet sind üblicherweise nur die Arduino kompatiblen Header, die ST 
Morpho nicht.
Für Ethernet gibt es Unterstützung durch STM HAL und CubeMX 
Codegenerator, durch Arduino, durch OS wie Mbed-OS, ChibiOS, NuttX, 
Zephyr uvm.
Wobei es für die höheren Protokollschichten gute Arduino Unterstützung 
gibt.

: Bearbeitet durch User
von Onkel Ted (Gast)


Lesenswert?

Bert schrieb:
> Der M7 ist in der Regel schneller und hat oft
> mehr IOs, mehr Flash und mehr RAM.

Da hast du doch schon deine Antwort.

Nimm das dickste Board und fertig.

Dieser Wahn selbst bei Hobbyprojekten 30ct am µC zu sparen ist einfach 
vollkommener Schwachsinn von irgendwelchen Minderleistern die meinen 
dadurch etwas bei 10 Stück, lass es 10000 Stück im Jahr zu sparen.

Du schränkst dich mit einem kleinen Controller nur ein, ein M7 schreit 
geradezu nach FreeRTOS, gerade wenn man Ethernet benutzen möchte.

Und leg dir direkt zu Beginn einen anständigen JTAG Adapter zu, die 
Frickellösungen sind alle Müll.

von J. S. (jojos)


Lesenswert?

Onkel Ted schrieb:
> Und leg dir direkt zu Beginn einen anständigen JTAG Adapter zu, die
> Frickellösungen sind alle Müll.

Die Nucleos haben einen STLink on Board, der reicht völlig und ist mit 
STM32CubeIDE schon eine Plug & Play Angelegenheit. Auf neueren Nucleos 
ist mittlerweile der superschnelle STLink V3 drauf. Wenn man die noch 
bekommt, auch da ist die Verfügbarkeit eher das Problem.

Die M0...M4 sind schon deutlich einfacher was den Core angeht. 
Aufwändiger sind Taktkonfiguration (STM32Cube hilft), das man Takte für 
die verschiedenen Devices erst einschalten muss, die vielen Optionen in 
den Peripheriedevices und dann noch DMA Möglichkeit die bei STM32 sehr 
unterschiedlich und wenig generisch gebaut ist. Bei DMA fängt es dann an 
das RAM nicht gleich RAM ist, es gibt Matrizen in denen verschiedene 
Speicher gelistet sind und wer wie darauf zugreifen kann. Beim F7 wird 
es noch wilder und als Krönung bei STM dann die H7 mit den Caches und 
verschiedenen Powerdomains obendrauf. Da kann man schon sehr lange an 
irgendwelchen Problemen sitzen, auch wenn man hunderte Seiten Doku und 
Appnotes durchgesehen hat.

Die F4 Nucleos sind da also etwas freundlicher beim Einstieg und haben 
auch schon ordentlich Power.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Da der Markt seit 2 Jahren leer gefegt ist, musst du nehmen, was du 
kriegen kannst. Ich bin ebenfalls Umsteiger von AVR und habe mich mit 
den Serien F1, F3 und L0 beschäftigt. Die schienen mir als nächst höhere 
Stufen sinnvoll.

F1 weil sie billig als Modul zu haben waren (inzwischen nur noch 
schlechte Fälschungen). Dann bemerkte ich, dass der Hersteller die sehr 
ähnliche F3 Serie als verbesserte Nachfolger heraus brachte. Die L0 
interessieren mich wegen geringerem Stromverbrauch und Flash Speicher.

Meine Erfahrungen damit habe ich dort zusammen gefasst:
Siehe http://stefanfrings.de/stm32/index.html

> Je nach Board scheint der Aufpreis für einen
> M7 gegenüber einem M3 nur ein paar Euro zu betragen.

Die Nucleo64 Boards sind mehr oder weniger als Werbeartikel zu 
verstehen. Sie kosteten vor der Chipkrise unabhängig von der Bestückung 
stets 10-16 Euro. Die größeren Boards mit Ethernet waren deutlich 
teurer.

Beim M7 bezahlst du eher mit deiner Lebenszeit, ihn kennen zu lernen. 
Denn wo viel drin ist, muss man auch viel lernen - oder man macht viele 
Fehler, was auch Zeit kostet.

Als PC Schnittstelle bietet sich USB an. Viele (nicht alle) STM32 Chips 
kann man direkt an den USB Port des PC anschließen, um z.B. wie bei 
Arduino üblich einen COM Port zu emulieren.

Statt integrierte Ethernet Schnittstellen magst du vielleicht ESP-01 
WLAN-Module für ca. 2€ verwenden. Da bekommst du den TCP/IP Stack fix 
und fertig mit geliefert, was die Programmierung vereinfacht.

Den darauf befindlichen ESP8266 Chip kannst du (wenn du willst) später 
auch selbst programmieren, was ihn für mich eh interessant macht. Meine 
Erfahrungen damit habe ich dort zusammen gefasst:
Siehe http://stefanfrings.de/esp8266/index.html

> Und leg dir direkt zu Beginn einen anständigen JTAG Adapter zu,
> die Frickellösungen sind alle Müll.

Die Nucleo Boards enthalten einen ST-Link Adapter, mit dem man alle 
STM32 programmieren und debuggen kann. Außerdem enthalten sie einen 
USB-UART Adapter.

Ich wüsste nicht, wo bei diesen Boards ein JTAG Adapter irgendwelche 
Vorteile bringen würde. Soweit mir bekannt ist, sind alle Funktionen der 
Programmierschnittstelle auch über das SWD Protokoll des ST-Link 
Adapters verfügbar. Und das ist nebenbei bemerkt der Standard bei allen 
ARM Cortex M Prozessoren.

von J. S. (jojos)


Lesenswert?

Die Nucleos gibt es immer noch günstig und die Qual der Wahl hat man 
auch noch:
https://www.mouser.de/c/?q=Nucleo
Da gibt es noch reichlich Lagerware.

Nur wenn man ein eigenes Board bauen möchte wird die Auswahl an 
lieferbaren Controllern sehr sehr eng.
Und den OS Support gibt es nicht für alle, am Meisten noch für 
Arduino/Mbed weil da STM mitgewirkt hat und mit dem HAL schnell 
adaptieren konnte.

: Bearbeitet durch User
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.