Altenburg | Embedded Systems | E-Book | sack.de
E-Book

E-Book, Deutsch, 406 Seiten

Reihe: Rheinwerk Computing

Altenburg Embedded Systems

Entwurf und Anwendung von Single-Chip-Systemen mit STM32
1. Auflage 2025
ISBN: 978-3-367-10907-4
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

Entwurf und Anwendung von Single-Chip-Systemen mit STM32

E-Book, Deutsch, 406 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-367-10907-4
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



Vom Hardwareentwurf bis hin zur eigenen Programmiersprache - unmöglich? Aber nein! Mit diesem Buch entwerfen Sie zunächst eine eigene Hardware auf der Basis der bekannten ARM-Microcontroller der STM32-Familie. Sie lernen, wie Sie dafür einen portablen Bootloader programmieren und schließlich sogar ein kleines Betriebssystem. Und damit nicht genug: Am Ende erstellen Sie eine eigene Skriptsprache samt Interpreter in C.
Automatisierte Tests, Treibererstellung, Qualitätssicherung für verschiedene Zielplattformen? Auch daran ist gedacht!
Mit seinem praktischen Ansatz ist das Buch ideal sowohl für die Lehre als auch für das Selbststudium. Mit erprobten Lösungen, umfangreicher Software und Best-Practice-Lösungen bauen Sie wertvolle Kenntnisse auf.

Aus dem Inhalt:

  • Einführung in Embedded Systems
  • Entwicklungstools und Testumgebung
  • Schaltungsentwurf und Leiterplattenlayout
  • Bootloader-Funktion implementieren
  • Betriebssystem mit Multitasking
  • Eine Skriptsprache implementieren
  • Interpreter und Laufzeitsystem
  • Lexikalische und syntaktische Analyse
  • Code-Generierung


Uwe Altenburg entwickelt seit mehr als 20 Jahren industrietaugliche Software für die Automatisierungstechnik. Er studierte und promovierte an der TU Ilmenau und vertrat mehrere Jahre als Professor das Fachgebiet Technische Informatik und Eingebettete Systeme an der FH Erfurt. Hardware und hardwarenahe Programmierung mit C und C++ liegen ihm ebenso am Herzen wie die objektorientierte Modellierung mit C#. Sein besonderes Interesse gilt dabei dem Entwurf domänenspezifischer Programmiersprachen und der erforderlichen Übersetzer.
Altenburg Embedded Systems jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1.  Einleitung ... 13  1.1 ... Embedded Systems ... 13  1.2 ... Was bietet das Buch ... 14  1.3 ... Die Software zum Buch ... 15  1.4 ... Verwendete Entwicklungstools ... 18  2.  Hardware ... 19  2.1 ... Single-Chip ... 19  2.2 ... Mikrocontroller ... 21  2.3 ... Breakout-Board ... 25  2.4 ... Schaltungsentwurf ... 30  2.5 ... Leiterplattenlayout ... 54  3.  Bootloader ... 69  3.1 ... System-Startup ... 70  3.2 ... Betriebssystem-Updates ... 76  4.  Betriebssystem ... 93  4.1 ... Initialisierung ... 94  4.2 ... Abstraktionen ... 114  4.3 ... Multithreading ... 143  4.4 ... Grafik-Display ... 151  4.5 ... Modbus-Protokoll ... 160  5.  Embedded BASIC ... 177  5.1 ... Ansatz ... 177  5.2 ... Sprache ... 183  5.3 ... Anwendungen ... 210  6.  Interpreter ... 227  6.1 ... Laufzeitsystem ... 228  6.2 ... Multitasking ... 292  6.3 ... Hardwarezugriff ... 302  6.4 ... Emulation am PC ... 313  7. bersetzer ... 327  7.1 ... Lexikalische Analyse ... 327  7.2 ... Syntaktische Pr fung ... 341  7.3 ... Semantische Analyse ... 359  7.4 ... Code-Generator ... 372  8.  Zusammenfassung ... 377  8.1 ... Themengebiete ... 378  8.2 ... Ausblick ... 379  Anhang ... 383  A.  Schaltplan ... 385  B.  Leiterplatte ... 387  C.  Grundlagen von Embedded BASIC ... 389  C.1 ... Grammatik ... 389  C.2 ... Token-Liste ... 392  D.  Literaturverzeichnis ... 399  Index ... 401


2.2    Mikrocontroller


Die Auswahl eines geeigneten Mikrocontrollers ist heute weniger eine Entscheidung, die aufgrund der benötigten Hardware getroffen wird. Wenn man danach gehen wollte, würde sich die Anzahl der potenziell möglichen Hersteller und Typen kaum einschränken. Jeder Hersteller bietet heute eine Vielzahl an Varianten an, und es ist eher schwierig, sich da überhaupt einen Überblick zu verschaffen.

Stattdessen geht man inzwischen lieber den Weg, einen etwas größeren Mikrocontroller zu verwenden, als für die Aufgabe tatsächlich erforderlich wäre. Dadurch gewinnt man eine gewisse Reserve, falls sich über die Produktlebensdauer hinaus neue Anforderungen ergeben. Die Mehrkosten sind meist gering, und man vermeidet vielleicht ein Redesign oder gar eine Neuentwicklung. Bei extrem kostensensitiven Anwendungen wird man das natürlich nicht machen können.

Die Entscheidung für einen konkreten Mikrocontroller fällt heute eher aufgrund anderer Kriterien. Einerseits ist das die langfristige Verfügbarkeit eines speziellen Typs bzw. die Möglichkeit eines Ersatzes. Wenn beides gegeben ist, fällt zum anderen die Entscheidung nach den Entwicklungswerkzeugen. Die Kosten werden heute maßgeblich durch die Entwicklungszeit bestimmt. Bessere Tools versprechen natürlich eine kürzere Entwicklungszeit und sichern zudem die getätigte Investition.

2.2.1    ARM-based


Zur Zeit der Homecomputer kamen nicht nur so bekannte Geräte wie etwa der C64 oder später der Amiga auf den Markt. Es gab auch eher »exotische« Homecomputer, die man heute kaum noch kennt – dazu zählte unter anderem der Acorn Archimedes. Dieser klassische Homecomputer, der rein äußerlich einem Amiga 500 ähnelte, basierte auf einer neuartigen CPU. Die britische Firma Acorn hatte selbst eine CPU für diesen Rechner entwickelt, die eine Reduced Instruction Set Architecture (RISC) aufwies. RISC-CPUs zeichnen sich dadurch aus, dass ihr Befehlssatz einfacher aufgebaut ist. Das Wort »einfacher« darf man in dem Zusammenhang nicht negativ interpretieren. Eine RISC-CPU benötigt weniger Schaltungsaufwand als eine vergleichbare CPU mit Complete Instruction Set Architecture (CISC) und hat dadurch prinzipbedingt eine geringere Stromaufnahme. Im Bereich der eingebetteten Systeme ist das ein großer Vorteil.

Die Acorn-Homecomputer konnten sich nicht durchsetzen, aber die Technologie, RISC-CPUs zu entwerfen, wurde in die Firma Advanced RISC Machines Ltd., kurz ARM Ltd. übernommen. ARM stellt selbst keine Prozessoren her, lizenziert jedoch ihre ARM-CPU als Intellectual Property Core (IPC) an viele Hardwarehersteller.

Man kann nicht pauschal sagen, dass eine RISC-CPU besser wäre als eine CISC-CPU. Der geringere Aufwand, den eine RISC-CPU jedoch auszeichnet, ist auch ein großer Vorteil, wenn es darum geht, diese CPU in ein System-On-a-Chip zu integrieren. Genau das passiert mit den ARM-Cores nämlich, und man findet sie daher in vielen Mikrocontrollern und in fast jedem Handy!

Wenn eine CPU eine große Verbreitung hat, lohnt sich der Aufwand, dafür sehr gute Tools zu entwickeln, und umgekehrt führen gute Tools wiederum zu einer stärkeren Akzeptanz und Verbreitung der CPUs. Inzwischen hat ARM eine ziemlich dominante Marktstellung, die natürlich schon durch die technische Qualität begründet ist, aber eben auch durch solche Markteffekte.

Man hat nun die Auswahl zwischen verschiedenen Herstellern, die die ARM-Cores lizenzieren und sie in ihre Mikrocontroller integrieren, und es gibt eine sehr gute Toolunterstützung dafür. In diesem Buch wollen wir uns auf eine spezielle Mikrocontroller-Familie beschränken, obwohl es von verschiedenen Herstellern vergleichbar gute Alternativen gibt. Das trifft dann natürlich auch auf die Tools zu.

2.2.2    STM32-Familie


Die Firma ST-Microelectronics (ST) ist seit vielen Jahren ein Begriff, wenn es um Mikrocontroller geht – bekannt sind vielleicht noch die Mikrocontroller der Reihen ST6, ST7 oder ST9. Die von ST basierend auf dem ARM-Kern entworfene STM32-Familie hat aber inzwischen eine herausragende Rolle auf dem Markt eingenommen. Der Gedanke einer Mikrocontroller-Familie ist nicht neu und besteht darin, dass es zwar viele Varianten gibt, aber sofern einige Varianten gleiche Komponenten enthalten, etwa die gleichen Ports, Timer oder Schnittstellen, verhalten sich diese Komponenten auch überall gleich. Dieser Ansatz wurde bei den STM32-Mikrocontrollern konsequent umgesetzt. Zudem gibt es fein abgestufte Varianten, sodass man für seine konkrete Anwendung stets einen optimal passenden Chip findet.

ST unterteilt seine STM32-Familie von Mikrocontrollern ganz grob in die folgenden Anwendungsbereiche:

  • High-Performance (F4, F7, H5, H7)

  • Main-Stream (F0, F1, F3, G0, G4)

  • Low-Power (L0, L1, L4)

  • Wireless (W)

Die Varianten der High-Performance-Reihe zeichnen sich generell durch höhere Taktfrequenzen, einen größeren Speicher sowie eine Floating-Point-Unit (FPU) aus. Die FPU unterstützt mindestens das 32-Bit-Single-Precision-Format, manche F7-Varianten unterstützen aber auch das Double-Precision-Format mit 64 Bit Breite. Darüber hinaus bieten die High-Performance-Typen komplexere Hardwarekomponenten. Dazu zählt etwa eine RGB-Display-Schnittstelle mit XGA-Auflösung (1.024 × 768 Bildpunkte) oder auch ein Ethernet Physical Layer (PHY). Damit lassen sich dann Anwendungen mit grafischem Human Machine Interface (HMI) realisieren oder auch komplexe Steuerungen.

In der Main-Stream-Reihe werden alle die Mikrocontroller zusammengefasst, die über die heute üblichen Peripheriekomponenten verfügen. Dazu zählen insbesondere Timer, die komplexe Impulsmuster generieren können, oder Schnittstellen wie UART, SPI, I2C und USB. Anwendungen für diese Varianten sind etwa Motorsteuerungen oder Sensor-Aktor-Applikationen. Die Varianten G0 und G4 sind speziell für Mixed-Signal- Anwendungen optimiert und bieten dafür neben einer höheren Taktrate auch noch schnelle DA- und AD-Wandler sowie spezielle Filterstrukturen an.

Die Low-Power-Reihe bietet erstaunlich viel Rechenleistung für besonders energiearme Applikationen. Im Grunde bekommt man beim L4 den gleichen Kern wie bei einem F4, jedoch mit deutlich geringerer Stromaufnahme. Damit werden Anwendungen möglich, die über lange Zeit autark betrieben werden und trotzdem über moderne Kommunikation, wie etwa Funkprotokolle, verfügen müssen. Typische Applikationen finden sich daher auch bei Metering- bzw. Sensornetzwerken sowie in der Medizintechnik. Aktuell unterstützen die F4-Varianten noch etwas höhere Taktraten – sind damit also schneller –, und auch beim verfügbaren Speicher liegen die F4-Varianten noch vorn. Es lohnt sich aber, zu beobachten, wie sich die Produktpalette bei den Low-Power-Varianten entwickeln wird.

Unter dem Begriff Internet of Things werden sogenannte Low-Power-Funkstandards zusammengefasst, die eine große Reichweite bei gleichzeitig geringer Sendeleistung ermöglichen. Dazu zählen etwa LoRa (Long Range) und Sigfox. Diesen Funkstandards ist gemein, dass sie in einem freien ISM-Band (Industrial Science Medical Band) operieren. In Europa liegen die Frequenzen für diese Bänder bei 433 MHz und 868 MHz. Da die Sendeleistungen sowie die Zykluszeiten in diesen Bändern jedoch stark limitiert sind, kann die Reichweite nur durch komplexe Modulationsarten erreicht werden. ST bietet dafür spezielle Mikrocontroller an, die zusätzlich gleich einen Funktransceiver mit auf dem Chip integrieren. Damit ermöglichen diese Mikrocontroller HF-Kommunikationslösungen (Hochfrequenz) mit geringstem Bauteilaufwand. Anwendungen für derart spezielle Mikrocontroller finden sich in der Gebäudeautomation, der Sicherheitstechnik oder bei Metering-Lösungen.

Dieser kurze Überblick kann den vielen Möglichkeiten der STM32-Familie von Mikrocontrollern natürlich nicht gerecht werden. Es ist aber zu erkennen, dass ein und derselbe Kern mit unterschiedlicher Peripherie auf eine Vielzahl von Lösungen passt.

2.2.3    STM32F412RET6


Es stellt sich natürlich die Frage, welchen STM32 man sich aus der Vielzahl der Varianten herausgreifen sollte, um damit eine eigene Hardware zu entwerfen – in diesem Buch soll es der STM32F412RET6 sein. Dieser Mikro-controller gehört zwar prinzipiell schon zum Anwendungsbereich High-Performance, dort jedoch noch zur Kategorie Access Line. Unter Access Line versteht ST eine recht umfangreiche Gruppe, die ein breites Spektrum von Anwendungen abdecken kann. Um die Entscheidung etwas zu untermauern, folgen jetzt die wesentlichen Eigenschaften, die für diesen konkreten Typ sprechen.

Aufgrund der ARM-M4-Architektur besitzt dieser Mikrocontroller bereits eine 32-Bit-Floating-Point-Unit (FPU) – alle Operationen, die mit dem Datentyp FLOAT ausgeführt werden, werden sehr...


Altenburg, Uwe
Uwe Altenburg entwickelt seit mehr als 20 Jahren industrietaugliche Software für die Automatisierungstechnik. Er studierte und promovierte an der TU Ilmenau und vertrat mehrere Jahre als Professor das Fachgebiet Technische Informatik und Eingebettete Systeme an der FH Erfurt. Hardware und hardwarenahe Programmierung mit C und C++ liegen ihm ebenso am Herzen wie die objektorientierte Modellierung mit C#. Sein besonderes Interesse gilt dabei dem Entwurf domänenspezifischer Programmiersprachen und der erforderlichen Übersetzer.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.