Embedded Systems mit RISC-V und ESP32-C3 (eBook)

Eine praktische Einführung in Architektur, Peripherie und eingebettete Programmierung
eBook Download: EPUB
2023 | 1. Auflage
346 Seiten
dpunkt (Verlag)
978-3-96910-999-1 (ISBN)

Lese- und Medienproben

Embedded Systems mit RISC-V und ESP32-C3 -  Patrick Ritschel
Systemvoraussetzungen
39,90 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Dein Einstieg in Embedded Systems mit RISC-V - Mit Schritt-für-Schritt-Anleitungen und zahlreiche Abbildungen werden Sie an das Thema herangeführt - Hands-On-Projekte vermitteln Ihnen grundlegende Konzepte und Funktionsweisen - Erhalten Sie einen kostengünstigen Start in die Welt der eingebetteten SystemeNeu und groß im Kommen - RISC-V ist eine auf freier Technologie basierende Befehlssatzarchitektur. In Anwendung im ESP32-C3-DevKitM-1 werden hier grundlegende Konzepte und Funktionsweisen von Mikrocontrollern theoretisch vermittelt. Mehrere Hands-On-Projekte dienen außerdem dazu, Leser*innen einen ersten Einblick zu geben und Sie für das selbstständige Programmieren mit Mikrocontrollern vorzubereiten und das Gelernte Schritt für Schritt zu vertiefen. Das Werk ist in drei Teile gegliedert, welche aufeinander aufbauen. Teil I geht hierbei auf den Aufbau eines RISC-V-Mikroprozessors und die hardwarenahe Programmierung ein. Hierbei werden den Leser:innen wichtige Grundlagen mit auf den Weg gegeben. Der zweite Teil setzt den Fokus auf das Erlernen von elektrotechnischen Grundlagen und wie Peripheriemodule angesteuert werden. Im letzten Teil wird ein Pulsoximeter als Beispiel genommen, wie verschiedene Internetprotokolle funktionieren.

Prof.(FH) Dipl-Ing. Patrick Ritschel studierte Informatik an der TU Wien. Anschließend leitete er die Entwicklung von Smart Cards bei der Winter AG. Seit 2003 unterrichtet er embedded Systems, Programmierung und Algorithmik in C, C++ und Java, sowie Mobile Computing an der Fachhochschule Vorarlberg. Er gründete die clownfish IT GmbH, die eingebettete Anwendungen im B2B-Bereich anbietet. In seiner Freizeit zieht es ihn mit seiner Familie auf die Theaterbühne, um zu spielen, zu singen und auch Theaterstücke zu schreiben.

Prof.(FH) Dipl-Ing. Patrick Ritschel studierte Informatik an der TU Wien. Anschließend leitete er die Entwicklung von Smart Cards bei der Winter AG. Seit 2003 unterrichtet er embedded Systems, Programmierung und Algorithmik in C, C++ und Java, sowie Mobile Computing an der Fachhochschule Vorarlberg. Er gründete die clownfish IT GmbH, die eingebettete Anwendungen im B2B-Bereich anbietet. In seiner Freizeit zieht es ihn mit seiner Familie auf die Theaterbühne, um zu spielen, zu singen und auch Theaterstücke zu schreiben.

1Einleitung


»Kompliziertes kompliziert zu sagen ist einfach.

Nur Einfaches einfach zu sagen ist kompliziert.«

KARL-HEINZ KARIUS

Laut statista.com [57] wurden im Jahre 2021 weltweit 31,2 Milliarden Mikrocontroller produziert, was rund vier neuen Mikrocontrollern pro Erdenbürger entspricht. Damit sind diese Kleinstcomputer mittlerweile auch in Gegenständen des Alltags verbaut (»eingebettet«, embedded), in denen wir sie nicht vermuten. Oft werden Consumer-Produkte, Haushalts- und Kommunikationsgeräte, die Mikrocontroller enthalten, als »smart« bezeichnet. Vom üppig ausgestatteten Smartphone bis zur stark ressourcenbeschränkten Smart Card ist ein Mikroprozessor informationsverarbeitender Kern des Gerätes. All diese Geräte benötigen eine weitestgehend fehlerfreie Software, um mitunter ohne Update-Möglichkeit viele Jahre reibungslos zu funktionieren. Um dies zu gewährleisten, ist ein solides Grundverständnis von Aufbau und Arbeitsweise der Embedded Systeme unerlässlich.

Da die Komplexität durch wachsende Applikationsgröße und Internetanbindung steigt, wird auch die Programmentwicklung umfangreicher und komplexer. Diese IoT(»Internet of Things«)-Geräte besitzen embedded Betriebssysteme, deren Tasks miteinander kommunizieren. Auch dieses Zusammenspiel muss gut durchdacht sein, um performante Software ohne Deadlocks zu designen.

1.1Ziel des Buchs


Ein Einstieg in die Entwicklung eingebetteter Systeme (in der Folge »Embedded Systeme« genannt) bringt verschiedene Hürden mit sich. Oft ist eine Programmiersprache bekannt, doch die technischen Details machen die Lernkurve steil und den Weg zum Ziel steinig.

Nimmt man ein Buch über die C-Programmiersprache zur Hand, enthält dieses keine Details zur Programmierung von Mikrocontrollern. Versucht man hingegen, die Datenblätter, Family Guides und Reference Manuals zu verwenden, machen die technischen Details den Einstieg schwer. Die Beispielprogramme und Application Notes auf den Webseiten der Hersteller implementieren Lösungen für sehr spezielle Probleme, was eine Umsetzung einer Lösung zu einem anders gearteten Problem schwierig gestaltet.

Insgesamt lässt sich sagen, dass eine Entwicklung oder Anpassung der Software ohne fundiertes Basiswissen aufwendiger und fehleranfälliger als mit den entsprechenden Grundlagen ist.

Ziel dieses Buches ist, der Leserin bzw. dem Leser die Grundlagen anschaulich und fundiert zu vermitteln. Aufgrund der Größe des Gebiets werden einige Bereiche nur gestreift, punktuell werden Themen aber in die Tiefe verfolgt.

1.2Struktur des Buches


Die Struktur des Buches mag etwas ungewohnt erscheinen. Statt eines strukturierten, aufzählenden Aufbaus wurde ein beispielorientierter erzählerischer Ansatz gewählt. Anhand von Beispielen wird die embedded Welt durchwandert und erklärt.

Ein detaillierter Index am Ende des Buches dient dem Nachschlagen einzelner Themen. Der Inhalt ist drei Teilen zugeordnet, die schichtweise aufeinander aufbauen, aber jeweils für sich separat gelesen werden können, wie Abb. 1–1 zeigt.

Abb. 1–1 Das Buch ist in drei Teile gegliedert.

Teil Ibehandelt den Aufbau eines RISC-V-Mikroprozessors, dessen Anbindung an ein Bussystem und die Grundlagen des Zugriffs auf Peripheriemodule. Grundlagen der Assemblersprache und der hardwarenahen Programmierung in C mit Memory-Mapped I/O, Speicherverwaltung und Performanz werden vermittelt.

Teil IIbeinhaltet elektrotechnische Grundlagen zum Verständnis einfacher elektronischer Schaltungen. Verschiedene Peripheriemodule zur Ein-/Ausgabe, Kommunikation, Interrupt-Behandlung sowie die Verarbeitung analoger Sensordaten werden anhand der beispielhaften Implementierung eines Pulsoximeters erläutert.

Teil IIIbettet das Pulsoximeter in den Kontext des IoT ein, indem Daten über verschiedene Internetprotokolle verschickt werden. Die Grundlagen von embedded Betriebssystemen und deren Systemprogrammierung werden anhand des Beispiels verständlich. Eine praktische Betrachtung von Bluetooth LE und der Möglichkeiten des Stromsparens rundet das Kapitel ab.

1.3Zielpublikum


In erster Linie ist dieses Buch für den Einsatz im einführenden und fortgeschrittenen Unterricht über Embedded Systeme geplant. Es ist von großem Vorteil für das Verständnis, wenn Grundlagen der Informatik und des Programmierens in der Programmiersprache C vorhanden sind. Alternativ sind Grundlagen in einer anderen Programmiersprache sehr anzuraten. Die einzelnen Teile bieten sich an, in separaten Lehrveranstaltungen zu Rechnerarchitektur/-organisation (Teil I), Embedded Programmierung (Teil II), Betriebssystemen (Teil III) und Kommunikationssystemen/IoT (Teil III) Eingang zu finden.

In zweiter Linie richtet sich das Buch an interessierte Leser:innen mit informatischem Background. Entsprechendes Interesse vorausgesetzt profitiert diese Leserschaft vom Inhalt. Die Lesereihenfolge ist beliebig, idealerweise sequenziell vom Anfang zum Ende.

Auch Personen, die bereits im Embedded Systems-Umfeld aktiv sind, sind von diesem Buch angesprochen. Die technischen Details zu Architektur und Programmierung, die hier zusammengetragen sind, vertiefen das vorhandene Wissen. Dieser Leserschaft ist angeraten, das Buch von vorne nach hinten zu lesen und bekannte Teile zu überfliegen. Beim Überspringen könnten wertvolle Details ausgelassen werden.

Für alle Leser:innen dient das Buch als Nachschlagewerk zu den vielfältigen Technologien, die in Embedded Systemen zum Einsatz kommen.

1.4Gebrauchsanweisung


Es ist möglich, das Buch nur zu lesen. Um ideal zu profitieren, ist anzuraten, die entsprechende embedded Hardware anzuschaffen und die Beispiele im Buch nachzuvollziehen. In diesem Sinne handelt es sich nicht um ein Lese-, sondern ein Arbeitsbuch.

Embedded HardwareAls embedded Hardware findet ein ESP32-C3-Mikrocontroller (siehe Abschnitt 2.2.1), basierend auf einem modernen RISC-V-Prozessor, Anwendung. Die Beispiele erfordern teilweise zusätzliche Komponenten wie eine Steckplatine (siehe Abschnitt 5.3.4) und Bauteile, die auch mit einem kleinen Budget zu beschaffen sind. Quellen zur Materialbeschaffung finden Sie auf der Webseite zum Buch (siehe Anhang A).

BeispielprogrammeDie Herausforderungen, die sich bei den ersten Implementierungen im embedded Umfeld ergeben, folgen typischerweise bestimmten Mustern, die sich hauptsächlich aus der Interaktion des Systems mit seiner Umgebung ergeben. Solche Muster werden im Buch zum besseren Verständnis durchgehend in Beispielprogrammen verwendet. Um diese besser nachzuvollziehen, ist der Code der Beispiele online zugänglich (siehe Anhang A) abgelegt. Dies ist vor allem beim großen Pulsoximeterbeispiel wichtig, da im Buch wesentliche Teile, aber nicht die gesamten Sourcen abgedruckt sind.

ÜbungsbeispieleJeder Teil verfügt über theoretische und praktische Übungen. Diese dienen dem Sammeln von Erfahrungen mit der embedded Plattform und dem Üben anhand typischer Problemstellungen. Ein Vergleich mit den bereitgestellten Lösungen hilft bei der Beurteilung der eigenen Ausarbeitung.

Wichtig ist dabei zu beachten, dass eine Musterlösung nicht die einzig sinnvolle Lösung darstellt. Es gibt immer viele Wege zum Ziel, die jeweils ihre eigene Begründung haben. Deshalb werden auf der Webseite zum Buch (siehe A) Kommentare zu den Musterlösungen und alternative Ansätze gesammelt und bereitgestellt.

1.4.1Konventionen

Im Bereich der Informatik werden oft Fachbegriffe verwendet, die eine sperrige oder ungewohnte deutsche Übersetzung haben. Aus diesem Grund werden die Begriffe bei der ersten Verwendung in »französischen« Anführungszeichen eingeführt und dann direkt verwendet. Eine Vermischung wie »Embedded Systeme« statt »eingebettete Systeme« oder »embedded systems« ist eine unweigerliche Folge, die dem Autor bitte verziehen wird.

Die abgedruckten Sourcen in der Programmiersprache C wurden der Übersichtlichkeit halber auf den Platzbedarf hin optimiert. Umbrüche langer Zeilen werden mit dargestellt. Der Programmierstil ist modern und teils ungewöhnlich. So wird ein int *pX als int* pX dargestellt, um zu zeigen, dass der Pointer zum Typ gehört und nicht zum Namen. Die Benennung von Variablen und Funktionen ist modern in Camel-Case. Wer das unangebracht findet, möge bitte über diese Spitzfindigkeiten...

Erscheint lt. Verlag 4.5.2023
Verlagsort Heidelberg
Sprache deutsch
Themenwelt Informatik Weitere Themen Hardware
Schlagworte Befehlssatzarchitektur • C++ • computing • Embedded Systems • ESP32 • Maker • Mikrocontroller • Peripherie • Prozessorarchitektur • RISC-V
ISBN-10 3-96910-999-X / 396910999X
ISBN-13 978-3-96910-999-1 / 9783969109991
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Wasserzeichen)
Größe: 26,1 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich