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.
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
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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.