Beschreibung
Das Buch ist im Wesentlichen zweigeteilt: Im ersten Teil werden Techniken vorgestellt, mit denen parallele Programmabläufe realisiert werden können. Diese reichen von der einfachen automatischen Ablaufsteuerung eines Hintergrundprozesses durch Interrupts bis zur Implementierung eines an die beschränkten Möglichkeiten von AVR-Mikrocontrollern angepassten RTOS. Die Realisierung von Hintergrundprozessen lässt sich auf bequeme Weise mit Interrupts durchführen. Auf die Probleme der Synchronisierung mit Hintergrundprozessen wird ausführlich eingegangen. Interrupts werden zwar auch in ihrer „natürlichen“ Umgebung vorgestellt, aber es werden auch „exotische“ Einsätze von Interrupts beschrieben, z. B. der Einsatz eines Timer-Interrupts als Programmschleifenzähler. Dass sinnvolles Multitasking auch für die kleineren Mikrocontroller der AVR-Serie möglich ist, wird mit Kleinsystemen demonstriert, die auch auf einem ATtiny2313 ablaufen können. Für Controller mit besserer Ausstattung ist das System SLIMOS gedacht – in dem Prozesse dynamische Objekte sind – in dem Prozesse mit Semaphoren und Ereignissen synchronisiert werden können – welches Interrupts als Ereignisse integriert und eine Zeitablaufsteuerung für inaktive Prozesse besitzt.
Der zweite Teil des Buches ist der Numerik gewidmet. Höhepunkt ist die Implementierung einer AVR-freundlichen Fließkommaarithmetik, die dennoch den Standard IEEE 754 soweit umsetzt, wie das bei den kleinen AVR-Prozessoren sinnvoll erscheint. Der Vorstellung und Erläuterung dieses Standards ist ein eigenes Kapitel gewidmet. Zusätzlich gibt es noch ein vorbereitendes Kapitel, in dem die Grundbegriffe der Fließkommaarithmetik erklärt werden, das aber auch esoterische Aspekte erläutert, wie etwa das vom Standard geforderte Rechnen mit Unendlichkeiten. Ein weiteres Kapitel beschreibt die Erzeugung von Zufallszahlen. Es wird gezeigt, wie Zufallszahlen mit diskreter Verteilung, Gleichverteilung, Exponentialverteilung und Normalverteilung berechnet werden können. Sie werden als sehr schnelle Versionen in Fixkommaarithmetik bereit gestellt, woraus dann Fließkommaversionen entwickelt werden. Ein Beispiel für ihren Einsatz ist im Simulationsabschnitt des SLIMOS-Kapitels zu finden.
Der Anhang bietet u. a. eine sehr AVR-freundliche Realisierung der Methode von Fletcher und die Implementierung von Funktoren, die elegante Problemlösungen gestatten.
Alle Programme sind so ausführlich erläutert und kommentiert, dass der Leser keine Schwierigkeiten damit haben dürfte, sie an eigene Bedürfnisse anzupassen. Der für alle Programme verwendete Assembler wird vom Hersteller der AVR-Mikrocontroller kostenlos zur Verfügung gestellt.
Band 2 ist als gedrucktes Buch erhältlich: