1 Embedded Linux 2018

URL: http://hhoegl.informatik.hs-augsburg.de/hhwiki/EmbeddedLinux2018

Vorlesung: Freitag ab 14 Uhr im W3.05, Praktikum/Tutorium im G2.16 ab 15:45.

6 Stunden, 7,5 ECTS, ca. 25 bis 30 Arbeitsstunden pro ECTS

Die Berichte und Projekte liegen auf gitlab: https://r-n-d.informatik.hs-augsburg.de:8080/EmbLinux/SS2018

Zur Kommunikation über Issues wird ein separates git Repository „praktikum“ verwendet: https://r-n-d.informatik.hs-augsburg.de:8080/EmbLinux/SS2018/praktikum

Es gibt auch noch eine klassische Mailingliste: elinux18@hhoegl.informatik.hs-augsburg.de.

Alte Klausuren

1.1 Einführung

Im Fach „Embedded Linux“ werden Sie einen Überblick bekommen über die Kenntnisse und Tätigkeiten, die zur Entwicklung von Anwendungen unter Linux auf eingebetteter Hardware nötig sind.

Wir werden uns mit dem Beagle Bone Black (https://beagleboard.org/black) beschäftigen. Die empfohlene Literatur dazu (für den Anfang) ist das Buch „Exploring the Beagle Bone Black“ von Derek Molloy. Siehe dazu auch die Website http://derekmolloy.ie/beaglebone. Das Buch kann man auf Safari lesen: https://proquest.tech.safaribooksonline.de/book/hardware/9781119533160.

Bis zum Beginn des Praktikums am 6.4. werden wir das Board wieder in ausreichender Menge im Labor vorrätig haben. Gerne dürfen Sie es auch selber kaufen und mit Ihrer eigenen Hardware experimentieren. Es kostet meist zwischen 50 und 60 Euro und kann z.B. bei Reichelt bestellt werden. Sollten Sie das Board vor sich liegen haben, bietet der folgende Link einen schnellen Einstieg: http://beagleboard.org/Support/bone101. In den ersten sechs Wochen werden Sie eine Reihe von Pflichtaufgaben erledigen.

Sie sollten zumindest ein paar Vorkenntnisse haben, damit Ihnen das Fach gefällt.

Es geht aber nicht nur um das Beagle Board, sondern auch um eine Reihe von Themen, die allgemein wichtig für Embedded Linux sind. Dazu werden wir das Buch von Chris Simmonds, Mastering Embedded Linux Programming (2nd edition 2017) durcharbeiten. Fragen dazu sind hier: EmbeddedLinuxSimmondsQuestions . In der zweiten Hälfte des Semesters geht es dann weiter mit Projekten. In diesem Jahr wollen wir uns an ein gemeinsames „Internet-der-Dinge“ Projekt wagen (Näheres dazu kommt über Ostern). Ein paar allgemeine Regeln zum Embedded-Linux Projekt sind hier: ElinuxProjekt. Vergangene Projekte sind in ElinuxProjekte.

Es gibt einen Fragenkatalog, der allerdings neben aktuellen Themen auch noch Sachen aus der Frühzeit der Veranstaltung enthält (z.B. über das erste Board NGW100 von 2008). Ich werde gezielt auf Abschnitte darin hinweisen.

1.2 Der Bericht

Alle Experimente, die Sie mit dem Board machen, beschreiben Sie knapp im Bericht, ähnlich wie in einem Laborbuch. Der Bericht sollte …

Sehen Sie sich alte Berichte an: http://elk.informatik.hs-augsburg.de/hhwiki/ElinuxProjekte

1.3 Leistungsnachweis

Der Leistungsnachweis des Kurses besteht aus zwei Teilen:

  • Einer Prüfung am Semesterende über die theoretischen Themen und die Pflichtversuche.

  • Einem Bericht mit der Dokumentation aller durchgeführten Pflichtversuche und dem Projekt.

Die Gesamtnote ist der Mittelwert aus beiden Teilen.

Die Masterstudenten müssen noch zusätzlich eine Studienarbeit schreiben.

1.4 Termine

 1.   23.3.   W3.05 ab 14 Uhr

              2 Wochen! (Ostern)

 2.   6.4.    W3.05 ab 14 Uhr
              1. Praktikum/Tutorium im G2.16, 15:45

 3.   13.4.   W3.05 ab 14 Uhr
              2. Praktikum/Tutorium

 4.   20.4.   W3.05 ab 14 Uhr
              3. Praktikum/Tutorium

 5.   27.4.   W3.05 ab 14 Uhr
              4. Praktikum/Tutorium

              2 Wochen! (4.5. Pyramid)

 6.   11.5.   5. PraktikumTutorium

 7.   18.5.   Praktikum -- Ab hier Projekt (6 Wochen)

 8.   25.5.   Praktikum (ohne Herrn Tschirner)

              2 Wochen! (1.6. frei)

 9.    8.6.   Praktikum

10.   15.6.   Praktikum

11.   22.6.   Praktikum

12.   29.6.   Praktikum (Ende)

1.5 Literatur

http://hhoegl.informatik.hs-augsburg.de/elinux/Buecher/index.html

Fuer den Anfang konzentrieren auf:

  1. Simmonds, MELP (2. Auflage).

  2. Molloy

1.6 Kommandozeile