Studierende erarbeiten sich den grundlegenden Aufbau von Mikroprozessor-Architekturen für eingebettete Systeme einschl. Datenformate, Befehlsformate, Befehlssätze und Speicherorganisation. Sie erlernen und üben den praktischen Umfang mit Schnittstellen und Ein-/Ausgabe-Systemen und Peripherie-Geräten. Sie erlernen Eigenschaften von Cyber Physical Systems, Sensoren, Aktuatoren und Sensornetzen (WSN) und diskutieren deren Anwendungsgebiete. Darüber hinaus erlernen sie die Anbindung und den Einsatz von Field Programmable Gate Arrays (FPGAs) und üben die Anwendungsbezogene Programmierung eingebetteter Systeme in C und Assembler. Zudem erarbeiten sie sich den grundlegenden Aufbau aktueller Betriebssysteme für eingebettete Systeme, insbes. Realtime Operating Systems, Realtime Scheduling, Realtime Communication und üben dessen Implementierung. Zuletzt werden Aspekte der Sicherheit eingebetteter Systeme einschl. Angriffsvektoren, Prozessisolation, Trusted Computing diskutiert und bewertet.
Grundsätzlich ist die Voraussetzung zur erfolgreichen Teilnahme an Architektur Eingebetteter Systeme (AES) das regelmäßige Besuchen der Übung und das Bearbeiten von (selbstgewählten) Projekten. Um das Ganze zu überprüfen, wird während des Übungstermin eine Anwesenheitsliste gepflegt. Zusätzlich muss jede Woche ein Protokoll über den Fortschritt des (aktuellen) Projekts auf Whiteboard hochgeladen werden. Dazu haben wir wöchentlich ein "Assignment" auf dem Whiteboard angelegt. Dort stehen auch nochmal die konkreten Anforderungen bzw. Fragen die beantwortet werden sollen. Alle Kurs-Teilnehmenden müssen diese Abgabe eigenständig erledigen. Inhaltlich kann es jedoch gerne Überschneidungen zwischen verschiedenen Personen geben.
Die Idee hinter den Projekten ist das alle Studierenden selbstständig einen für sie passenden Einstiegspunkt finden können. So soll kein Studierender der bereits seit Jahren mit Eingebetteten Systemen arbeitet, gezwungen werden simple Schaltungen zu programmieren. Gleichzeitig soll aber auch kein Studierender ohne Vorerfahrung durch zu hohe Anforderungen überfordert werden. Daher haben wir im Whiteboard unter "Lessons" Empfehlungen für verschiedene Einstiegspunkte verlinkt. Darauf aufbauend können gerne Projektideen verfasst werden. Grundsätzlich gibt es dabei keine Festlegung, was genau ein "Projekt" ausmacht. Für einen Studierenden, der noch nie ein "Breadboard" in der Hand hatte ist z.B. das Erlernen der verschiedenen Verschaltungen sinnvoll und als erstes Projekt ausreichend. Im Laufe der Zeit sollten die Anforderungen an die Projekte jedoch wachsen. Gerne kann dabei auch über einen Zeitraum von mehreren Wochen an einem Projekt gearbeitet werden.
Ein Beispiel für ein längerfristiges Projekt ist die Entwicklung einer automatischen Pflanzen-Bewässerungsanlage. Auf der AES Whiteboard Lesson können Sie einen Link zu einem existierenden DIY-Kit finden. Es besteht selbstverständlich keinerlei Verpflichtung für Sie, reale Hardware zu kaufen. Das ist immer ein Kann, nie ein Muss. Für Sie hätte das den Vorteil, dass Sie die Sachen privat weiter nutzen können.
Zur erfolgreichen Teilnahme an diesem Kurs müssen (zum aktuellen Zeitpunkt) keine realen Hardwarekomponenten benutzt werden. Es gibt zahlreiche sehr mächtige Simulatoren (siehe der Lesson auf dem Whiteboard).
Insbesondere für Anfänger empfehlen wir die Verwendung eines solchen Simulators. Das Experimentieren und Versuchen wird dadurch stark vereinfacht.
Zum Organisatorischen:
Wie bereits erwähnt muss jeder Studierende eigenständig pro Woche ein Protokoll abgeben. Sollte jedoch gemeinsame Arbeit mit einem oder mehrerer Partner bevorzugt werden können Sie sich gerne in kleinen Gruppen zusammenschließen. Jeder Studierende gibt dabei weiterhin selbst ein Protokoll ab und beschreibt darin die eigene Erfahrung der Zusammenarbeit.
Sollten Sie noch keine Projektidee haben ist dies nicht tragisch. Oft entstehen Ideen im Laufe der Zeit.
Als Inspiration können wir folgende Hilfestellung anbieten:
1) Erlernen des Umgangs mit dem Simulator oder der vorhanden Hardwarekomponenten
2) Kennenlernen der verschiedenen Komponenten (Was ist ein "Breadboard"? Wie wird eine Batterie angeschlossen? Usw.)
3) Aufbau eines einfachen Stromkreises der z.B. eine LED zum Leuchten bringt.
4) Aufbau eines Stromkreises der eine an einem Arduino angeschlossene LED zum Leuchten bringt.
5) Inklusion mehrerer LEDs an den vorherigen Stromkreis.
Diese Empfehlungen lassen sich auf viele verschiedene Arten umsetzen. Es sollte die Variante gewählt werden, die für Sie am besten funktioniert. Beispielsweise bietet TinkerCAD Autodesk Ressourcen im "Learning Center" an, die alle benannten Schritte Stück-für-Stück vorstellt und durch die Lösung leitet.
So ist zum Beispiel das Lernprogramm "Blink an LED with digital Output" eine Umsetzung der Idee 4).
Bei der Verwendung von TinkerCAD (oder anderer Simulatoren) empfehlen wir die Verwendung der "Text" Optionen im "Code" Fenster. Dadurch wird der tatsächliche Quelltext angezeigt und kann entsprechend selbständig verändert werden.
Probieren Sie sich einfach aus!
Wählen Sie einen Einstiegspunkt und setzen Sie sich ein erstes Ziel!
Sollten Sie Hilfe benötigen können Sie sich an uns wenden. Wir werden auch versuchen in regelmäßigen Abständen Feedback in geeigneter Form zu geben.
Lecture | Date | Content | Book Sections | Slides |
---|---|---|---|---|
1 | 16.10.2024 | Introduction & Motivation | 1.1 & 1.2 | AES 1 Introduction.pdf |
2 | 23.10.2024 | |||
3 | 30.10.2024 | |||
4 |
06.11.2024 |
|||
5 | 13.11.2024 | |||
6 | 20.11.2024 | |||
7 | 27.11.2024 | |||
8 | 04.12.2024 | |||
9 | 11.12.2024 | |||
10 | 18.12.2024 | |||
11 | 08.01.2025 | |||
12 | 15.01.2025 | |||
13 | 22.01.2025 | |||
14 | 29.01.2025 | |||
15 | 05.02.2025 | |||
16 | 12.02.2025 | |||
Exam | 19.02.2025 | in K40/T9 |