Eine Anleitung für Einsteiger in Riverdi STM32 Embedded Displays

Was ist STM32?

STM32 ist die 32-Bit-MCU, die von unseren Ingenieuren für die Riverdi Embedded Display-Serie ausgewählt wurde. In dieser kurzen Einführung werden wir erklären, warum dieses Produkt von STMicroelectronics eine Spitzentechnologie ist. Wir geben auch Tipps, wo man mit der Programmierung des STM32 beginnen kann.

STM32 ist eine Familie von 32-Bit-Mikrocontrollern auf der Basis des ARM Cortex-M-Kerns, die von STMicroelectronics entwickelt und hergestellt wird. Um das alles zu verdeutlichen, beginnen wir mit den Grundlagen und stellen die Architektur des Mikrocontrollers vor.

Die Grundprinzipien der MCU-Bausteine

Wenn ein Ingenieur ein modernes HMI-Gerät mit einem visuellen Informationssystem entwirft, z. B. ein Display mit einem Touchscreen, dann wird er oder sie mit der Entscheidung für einen Mikrocontroller beginnen. Man müsste mit der Auswahl der Kernarchitektur beginnen. Es gibt großartige und vielseitige ARM-Verarbeitungseinheiten mit Befehlssatzarchitekturen (RISC – Reduced Instruction Set Computer), die als Mikroprozessorkerne bezeichnet werden. ARM-Kerne sind in vielen Geräten des täglichen Gebrauchs, wie z. B. in Smartphones, weit verbreitet. Eine der beiden Hauptreihen von ARM-Kernen, Cortex-A genannt, wird in Geräten für Verbraucher wie Raspberry Pi-Einplatinencomputern (SBCs) oder Smartphones verwendet.

ARM Cortex-M

Der zweite Teil der ARM-Core-Familie, bekannt als Cortex-M, ist für industrielle Anwendungen gedacht. Dies ist die ARM-Core-Serie, für die sich die oben genannten Designer interessieren werden. Aus diesem Grund hat STMicroelectronics diesen Baustein für die Entwicklung der STM32-MCUs ausgewählt. Die Cortex-M-basierte Serie verfügt über verschiedene Arten von Kernen mit unterschiedlichen Leistungen und Funktionen. So gibt es beispielsweise einen M0 (den billigsten Kern mit geringer Leistung), den M3 (Kern mit mittlerer Leistung), den M4 (ein effizienter Kern mit zusätzlicher FPU- oder DSP-Unterstützung) und den neuesten und leistungsstärksten M7-Kern.

Warum ist ein Kern nicht die MCU?

Wichtig ist, dass ARM-Einheiten als IP-Core-Lizenzen und nicht als MCUs verkauft werden, da sie erst später zu MCUs werden. Der Kern wird seine Aufgabe nicht von selbst erfüllen. Es braucht eine gewisse Unterstützung, z.B. durch externen Speicher und externe Schnittstellen. STMicroelectronics ist das Unternehmen, das sich auf die Herstellung von MCUs spezialisiert hat, indem es Komponenten zu einem endgültigen Mikrocontroller zusammensetzt.

Warum STMicroelectronics?

Was zeichnet STMicroelectronics auf dem Markt für MCUs aus? Dafür gibt es mehrere Gründe, aber die wichtigsten sind:

  1. Leistungsstarke digitale Signalverarbeitung in Echtzeit
  2. Stromsparender Betrieb
  3. Vielseitige Konnektivität
  4. Einfache Entwicklung und Integration
  5. Nützliche Programmierwerkzeuge & kostenlose Bibliotheken

Dank dieser Eigenschaften sind die STM32-Mikrocontroller weithin anerkannt und werden in verschiedenen Anwendungen eingesetzt. Dies sind einige der Gründe, warum sich die Ingenieure von Riverdi entschieden haben, den STM32 als Kern unserer STM32 Embedded Displays zu verwenden.

STMicroelectronics umfangreiches Portfolio

Dank der großen Auswahl an MCUs ist es sehr einfach, das richtige Modell für Ihre Anwendungen zu finden. Je nach Ausführung haben sie einen geringen Stromverbrauch bei recht begrenzten Ressourcen oder Modelle mit sehr hoher Rechengeschwindigkeit und einer Vielzahl von Peripheriegeräten.

STMicroelectronics bietet viele lösungsbasierte Produktgruppen, kostenlose Ressourcen und Prototypen. Die Unterstützung des Prototyping-Prozesses ist eine Philosophie, die von Riverdi geteilt wird. Wir sind der Meinung, dass ein schnelles und einfaches Prototyping für den Designprozess von entscheidender Bedeutung ist, daher empfehlen wir, unsere Muster auszuprobieren. Hilfreich für den Entwicklungsprozess sind auch Designdetails wie die Pin-Kompatibilität, so dass Sie MCUs austauschen können, um die am besten geeignete zu finden.

Wie sind die STM32 MCUs gruppiert?

Die MCU-Produktpalette von ST umfasst mehrere Serien, die nach ihren Merkmalen gruppiert sind.

High Performance Units – leistungsstarke STM32s, die für die Übertragung enormer Datenmengen mit hohen Kerntaktraten ausgelegt sind. Dazu gehören der F4 mit M4-Kern und FPU, manchmal aufgerüstet mit Display-Controllern oder MIPI-Unterstützung, der F7 mit dem neuesten M7-Single-Core und das Flaggschiff H7 mit Dual-Core (M7+M4). Diese leistungsstarke Einheit(STM32H757XIH6) wird von Riverdi verwendet.

Mainstream Units – Allzweck-Mikrocontroller. Sie reichen von den Basis-MCUs der F0-Serie über die F1s mit hoher Leistung und einfacher Architektur bis hin zum G4, der eine breite Palette an analoger Peripherie bietet.

Ultra Low Power Units – entwickelt für den geringstmöglichen Stromverbrauch. Dazu gehören der 14-polige L0, der L4 mit zusätzlicher FPU und der L5 mit verbesserter Grafikbeschleunigung.

Drahtlose Geräte – mit integrierter Unterstützung für drahtlose Kommunikation, wie Bluetooth oder RF 2,4 GHz.

Werfen Sie einen Blick auf die oben genannte Serie (Bild von STMicroelectronics zur Verfügung gestellt):

Weitere Informationen über die verschiedenen Funktionen der STM32-MCUs finden Sie auf der Website von STMicroelectronics (Bild von STMicroelectronics)

Wie mit der Programmierung des STM32 Eingebettete Displays von Riverdi ?

Hier sind die Grundlagen dessen, was ein Neueinsteiger in das STM32-Ökosystem über die Entwicklung von STM32 Embedded Displays wissen muss.

Welche Hardware für STM32?

Es ist nicht empfehlenswert, mit unbekannten Hardware-Herstellern zu beginnen, insbesondere wenn Sie neu in der Embedded-Programmierung sind. Entscheiden Sie sich stattdessen für gut etablierte Unternehmen.

Die STM32-Serie von Riverdi eignet sich hervorragend für den Einstieg und zum Lernen, da wir eine umfassende Dokumentation anbieten und kostenlose Demos, Presets und Bibliotheken zur Verfügung stehen, mit denen Sie Code-Beispiele ausprobieren können.

Sie können auch die offiziellen Boards von ST ausprobieren (z. B. Nucleo oder Discovery-Serie).

Welche Dokumentation für STM32?

Bei der Dokumentation handelt es sich in den meisten Fällen um technische Literatur, die vom Hersteller erstellt wurde, um Sie durch die Komplexität von Mikrocontrollern zu führen. Diese Dokumente können Ihnen helfen, alle Funktionen der MCUs kennenzulernen:

Leitfaden für den Einstieg, der für Neueinsteiger sehr hilfreich ist,

Datenblatt, das eine umfassende technische Beschreibung aller MCU-Eigenschaften enthält,

Benutzerhandbuch (oder Anleitung), das ausführliche Anweisungen und Parameter enthält und bei der Lösung der häufigsten Probleme hilft,

Anwendungshinweis, der genauere Einzelheiten zur Verwendung einer Komponente in einer bestimmten Anwendung enthält

Referenzhandbuch, das einen detaillierteren Überblick über die Architektur der MCUs gibt,

Programmierhandbuch, das die für die Softwareentwicklung auf Anwendungs- und Systemebene erforderlichen Informationen enthält.

Es ist ratsam, bevor Sie eine bestimmte MCU in Ihrem Projekt verwenden, zumindest einen kurzen Blick in das Datenblatt zu werfen. Sie sollten die Peripheriegeräte, die GPIOs und andere grundlegende Parameter, wie den Taktgeber, überprüfen. Das Ziel ist es, sicherzustellen, dass die gegebene Hardware den Anforderungen Ihres Projekts entspricht.

Welche Programmiersprache für STM32?

Die empfohlene Programmiersprache für STM32 ist C. Wenn Sie Code direkt für Mikrocontroller schreiben wollen, ist C die beste Wahl. Es ist auch die Grundlage, auf der Sie Ihre MCU-Kenntnisse mit anderen Programmiersprachen weiter ausbauen können.

Welches Framework für STM32?

Um die Programmierung der STM32s reibungslos zu gestalten, benötigen Sie den richtigen Rahmen. Ein Framework ist eine Plattform, auf der Sie Code schreiben und Ihr Projekt entwickeln. Software-Frameworks können Unterstützungsprogramme, Compiler, Code-Bibliotheken, Toolsets und Anwendungsprogrammierschnittstellen (APIs) umfassen. Welche Rahmenwerke stehen zur Auswahl?

Es gibt das empfohlene, das STMicroelectronics-Ökosystem. Es besteht aus zwei sich ergänzenden Ebenen: den Low Layer (LL)-Bibliotheken und dem Hardware Abstraction Layer (HAL). Low-Level-Bibliotheken eignen sich gut für die Optimierung von Hardware und den Betrieb mit begrenzten Ressourcen, erfordern aber ein gewisses Know-how (das durch die Dokumentation erworben werden kann). HAL, eine High-Level-Bibliothek, ist für Neueinsteiger vielleicht besser geeignet. Beides kann mit der kostenlosen Software STM32CubeIDE gehandhabt werden.

Es gibt Mbed von ARM, das Online-Gemeinschaftsprojekt für internetfähige Geräte auf der Basis von ARM Cortex-M. Es verwendet die Programmiersprachen C und C++, was eine gute Nachricht für diejenigen ist, die diese Sprachen beherrschen. Eine großartige Lösung für IoT-Geräte. mBed OS ist Arduino sehr ähnlich. Apropos Arduino: Es gibt mehrere Boards, die STM32 direkt unterstützen. Eines davon ist das STM32Duino-Projekt, das auf Nucleo-Boards basiert. Bei diesen beiden Frameworks geht es um Einfachheit, aber der Nachteil ist, dass die STM32-Funktionen in Bezug auf die Hardwaresteuerung begrenzt sind und die Qualität der Bibliotheken möglicherweise nicht gewährleistet ist.

Nicht zuletzt ist die Sprache Pure C eine Garantie für gut optimierte Ergebnisse in Bezug auf die Leistung. Pure C verbraucht weniger Speicher und ist trotzdem superschnell. Aber diese Vorteile ergeben sich nur mit Wissen und Erfahrung, so dass es für Anfänger nicht zu empfehlen ist.

Welche Programmierwerkzeuge für STM32?

Wenn Sie sich für den empfohlenen ST-Ökosystem-Ansatz entscheiden, können Sie eine Reihe von Software-Tools, die von STMicroelectronics zur Verfügung gestellt werden, kostenlos nutzen. Es gibt Entwicklungswerkzeuge, Evaluierungswerkzeuge, Entwicklungsumgebungen, eingebettete Software und so weiter. Hier sind einige der wichtigsten Instrumente, die Sie kennen sollten:

STM32CubeMX – ein grafisches Tool für die MCU-Konfiguration und die Erzeugung von Initialisierungscode;

STM32CubeIDE – All-in-One-Tool für die erweiterte C/C++-Entwicklung im STM32-Ökosystem: Mikrocontroller-Auswahl, Peripherie-Konfigurator, Code-Generator, Compiler, Debugger und Programmierer;

STM32CubeProgrammer – All-in-One-Tool zur Programmierung von STM32-Produkten;

TouchGFX Designer – fortschrittliches Grafiksoftware-Framework zur Erstellung von GUI in einer WYSIWYG-Methode;

STM32CubeMonitor – Laufzeit-Überwachungstool zur Feinabstimmung und Diagnose von STM32-Anwendungen auf der Grundlage von Echtzeit-Visualisierung von Variablen.

Ein kurzer Blick auf TouchGFX Designer

TouchGFX Designer ist ein GUI-Designer, der für Riverdi-Produkte auf STM32-Mikrocontrollern optimiert ist – Riverdi-Demoprojekte und -Voreinstellungen sind in der TouchGFX-Bibliothek enthalten. Das TouchGFX-Tool ist eine fortschrittliche Software-Framework-Lösung zur Erstellung einer hervorragenden GUI mit der WYSIWYG-Methode, die das GUI-Design benutzerfreundlich macht. Die Partnerschaft von Riverdi mit STMicroelectronics kann die Zeit und die Kosten für die Erstellung von Prototypen reduzieren und die Markteinführung des Projekts beschleunigen.

Wo kann man mehr über STM32 Embedded Displays erfahren?

Bei der Wahl der Lernmethode sollte man immer berücksichtigen, was die Ziele sind. Sind es Kenntnisse im Prototyping, in der Programmierung, im GUI-Design? Ist es allgemeines Wissen, wie man die STM32 Embedded Displays im Endgerät einsetzt? Ist es die von Amateuren gesteuerte Neugier? Wenn Sie sich Ziele setzen, können Sie diese schnell erreichen. Weitere Fragen betreffen die verfügbaren Ressourcen (wie Zeit und Geld), das Lernverhalten und die individuellen Präferenzen. Glücklicherweise gibt es eine wachsende Anzahl von Quellen, um Wissen über STM32 zu erlangen.

Videos

Video-Tutorials sind eine gute Möglichkeit, mehr über STM32 zu erfahren, und die meisten davon finden Sie auf YouTube.

Bitte melden Sie sich zunächst für den Newsletter der Riverdi University an und abonnieren Sie den Riverdi YouTube-Kanal. Wir geben unser Wissen und Know-how weiter, damit Sie das Beste aus Ihren STM32-gesteuerten Riverdi Embedded Displays herausholen können. Wir bieten Anleitungen für den Einstieg, spezielle Tutorials, Unboxing-Videos und vieles mehr.

Zweitens: Folgen Sie dem offiziellen STMicroelectronics-Kanal. ST bietet Live-Webinare und umfassende MOOCs (Massive Open Online Courses) an, die für das Erlernen der MCU-Programmierung von unschätzbarem Wert sind.

Blogs

Blogs eignen sich hervorragend für die Lösung spezifischer Probleme. Die meisten von ihnen sind kostenlos, aber da das Wissen dort täglich veröffentlicht wird, müssen Sie nach einer genauen Lösung suchen. Sie können auch auf dem Laufenden bleiben und neue Beiträge verfolgen, indem Sie sich für einen Newsletter anmelden.

Riverdi bietet ständig aktualisierte Blog-Beiträge, Anleitungen für den Einstieg und Wissensaustausch über Artikel und Videos der Riverdi University.

Sie können auch versuchen: Controllerstech’s Blog: https://controllerstech.com/

Kurse

Kurse, sowohl online als auch offline (letzteres ist heutzutage eher unüblich), bieten einen vollständigen Lernprozess in verschiedenen Leistungsstufen. Bitte bedenken Sie jedoch, dass es sich um eine langfristige Verpflichtung handelt und Sie in den meisten Fällen für die Teilnahme bezahlen müssen. Ein weiterer Ansatz, der in Betracht gezogen werden sollte, ist ein kostenloser Online-Kurs in C-Programmierung, da diese bei der STM32-Entwicklung immer nützlich sein wird.

Wikis & Leitfäden

Wenn man tiefergehendes Wissen sucht, sollte man sich immer an die Hersteller wenden, wie Riverdi oder STMicroelectronics. Riverdi bietet für jedes Display eine umfassende Dokumentation, die Ihnen hilft, sich in unseren STM32 Embedded Displays zurechtzufinden. Außerdem geben wir unser Know-how über die Riverdi University und die Reihe Display 101 weiter. Sie könnten auch versuchen, in die von STMicroelectronics herausgegebenen Anleitungen und Tutorials einzutauchen, z. B. in das umfangreiche Wiki zu den STM32 MCUs.

Wenn Sie Fragen zur STM32 Embedded Display Serie haben, nehmen Sie bitte Kontakt mit uns auf.