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
Inhalt
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: http://proquest.tech.safaribooksonline.de/book/hardware/9781118935217.
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 PflichtaufgabenBBB 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.
2 Der Bericht
Alle Experimente, die Sie mit dem Board machen, beschreiben Sie knapp im Bericht, ähnlich wie in einem Laborbuch. Der Bericht sollte ...
die Pflichtaufgaben und das Projekt beschreiben. Er ist vor allem für Sie zur späteren Erinnerung gedacht.
eine freie Lizenz haben, z.B. die Creative Commons (http://creativecommons.org).
sollte ein einheitliches Format haben, schreiben Sie ihn im Restructured Text Format bzw. in Sphinx.
Sphinx Vorlage: http://hhoegl.informatik.hs-augsburg.de/dva/sphinxbericht
Sehen Sie sich alte Berichte an: http://elk.informatik.hs-augsburg.de/hhwiki/ElinuxProjekte
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.
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 2 Wochen! (1.6. frei) 9. 8.6. Praktikum 10. 15.6. Praktikum 11. 22.6. Praktikum 12. 29.6. Praktikum (Ende)
5 Literatur
http://hhoegl.informatik.hs-augsburg.de/elinux/Buecher/index.html
Fuer den Anfang konzentrieren auf:
- Simmonds, MELP (2. Auflage).
- Molloy
6 Kommandozeile
Freies Buch "LPIC Essentials"
Put yourself in command
http://en.flossmanuals.net/command-line
http://en.flossmanuals.net/_booki/command-line/command-line.pdf (2013, 208 Seiten)
Umfangreiches Schulungsmaterial von Bootlin (ehem. "Free Electrons")
http://booltin.com/doc/unix_linux_introduction.pdf
Schnellreferenzen
http://www.pixelbeat.org/cmdline.html
Auch das Gnublin-Wiki enthält Tipps zur Kommandozeile