Embedded Linux

Allgemeines

1. Treffen

Ältere Sachen aus der Corona Zeit, muss ich noch überarbeiten:

2. Treffen

3. Treffen

Machen Sie am besten weiter mit den Übungen in elinux/uebungen. Zum Beispiel Anbindung an Internet mit nmcli, U-Boot kompilieren und Flashen, …

Lesen Sie schon mal das Kap. 4 in MELPv3. Es geht um den Kernel.

4. Treffen

5. Treffen

Nachträge von letzter Woche

Neuigkeiten

  • Siehe MicroSD-Karten/24-1/Notizen.md unter https://hhoegl.informatik.hs-augsburg.de/elinux/kurs/2024.

    Hier geht es nochmal verstärkt darum, wie man mit dem Embedded Linux Board vernünftig arbeiten kann: Zugang über den UART mit Terminal Emulator microcom und bootterm — Anpassen der Terminalgroesse — Einrichten von bash, vim, ssh Zugang, tmux — praktische Tools fd und rg — Netzwerkverbindung vom Hostrechner zum Target über USB oder Ethernet-Kabel einrichten mit ip und nmcli — DNS Server — Zugang mit ssh und scp; scp vom Host zum Target; scp vom Target zu anderen Rechnern — Dateien schnell übertragen/synchronisieren mit rsync — Datum/Timezone setzen — gcc — Python 3 — Cross-Kompilierung — Programmbeispiele in den Programmiersprachen C, C++, Go, Rust, Python.

  • In MELPv3 sollten Sie nun beim Kapitel 4 „Configuring and Building the Kernel“ sein.

  • Die aktuellen Aufgaben sind

    • U-Boot selber kompilieren und auf eigene SD-Karte schreiben

    • Kernel selber kompilieren und auf SD-Karte schreiben

      • U-Boot bootet Kernel

      • U-Boot lädt Kernel über tftp/nfs über das Netz (RootFS kommt später)

6. Treffen

Elinux-Remote, ESP8266 („Node-MCU“) + Firmware — Fernsteuerung von Reset und GPIO Pins — kurzer Ausflug zu Echtzeit und Latenzmessungen — Saleae Logikanalysator / Klon, Software von saleae.com — automatischen Bootvorgang mit SPACE unterbrochen — NFS/TFTP Einstellungen in U-Boot — hat leider erst mal nicht geklappt — BA von Maximilian Stephan - Inverses Pendel gesteuert über PRU im AM335x — Strommessung über USB Adapter — Buildroot, OpenWRT

Hausaufgaben:

  • Seriellen Port per Programm ansteuern (z.B. pyserial)

  • Kernel bauen (MELP, Kap. 4)

  • RootFS bauen (MELP, Kap. 5)

  • Markdown Texte, nicht so lange Zeilen machen! Bei Spalte 79 umbrechen.

7. Treffen

Kernel auf Hostrechner bauen, oder den WSL2 Kernel bauen.

Verwenden alle das gleiche Konfigurationssystem „Kconfig“

  • Busybox

  • Buildroot

  • Linux Kernel

  • U-Boot

8. Treffen

9. Treffen

  • Restliche Planung:

    • 11.6.

    • 18.6. Bin nicht an der Hochschule

    • 25.6.

    • 2.7.

    • 5.7. (Freitag) - Klausur M2.03

  • Restliche Themen

    MELPv3

    • Kap 6. BR/Yocto

    • Kap 7. Yocto

    • Kap 10. Update

    • Kap 21. Realtime

  • Studienarbeiten

    • Deadline Ende Juni

    • Erklaerung unterschreiben: Selbstaendig verfasst und Verwendung von generativen KI-Tools kenntlich gemacht

    • 20+ Seiten

    • Keine peer-review Literatur noetig

    • Tools zur freien Wahl: Latex, typst, quarto, pandoc, sphinx, …

  • Phytec Yocto Anleitung (Beispielhafte Anleitung eines Board-Herstellers)

    https://phytec.github.io/doc-bsp-yocto/yocto/kirkstone.html

  • German Bionic, Exoskelette, Betrieb mit Embedded Linux, Yocto, Go

10. Treffen

11. Treffen

Echtzeit-Linux Vorführung im Labor (G2.16).

Lernen:

Anregungen fuer abschliessende praktische Versuche:

  • Sie sollte auf alle Faelle mal ein Yocto Linux bauen so wie in MELPv3 Kap. 6 beschrieben. Nehmen Sie aber statt „dunfell“ die „kirkstone“ Version (4.0). Sie haben die Wahl ob qemu-x86-64, qemu-arm, bbb oder rpi.

  • Mit Software Update Verfahren kann man auch mit QEMU experimentieren, so wie in MELPv3 Kap. 10 beschrieben.

  • GPIO ansteuern mit libgpiod

    elinux/memo-07.pdf (Theorie: kt-101 und kt-134)

  • Echtzeit Versuche

12. Treffen

Die Prüfung steht im Vordergrung.

Themenvorschläge für Master

Literatur zu Yocto Project

  • MELPv3, Kap. 6, zweite Haelfte (Basics)

  • MELPv3, Kap. 7 (eigene Layer)

  • BA Thomas Hampp, 2021, TSGRain, Yocto, SEBRAUC, … BA. Der Sourcecode ist auf dem Gitea Server von Hr. Hampp unter https://code.thetadev.de/TSGRain.

Literatur zu Software Update

Literatur zu Real-Time

Literatur zu Kernel, Kernelmodule, Gerätetreiber

Sonstiges

Übersichten, Quickrefs, etc.

Praktische Embedded Linux Anwendungen

Vergangene Semester (2023 und 2019 ist der Kurs entfallen): EmbeddedLinux2022 | EmbeddedLinux2021 | EmbeddedLinux2020 | EmbeddedLinux2018 (BBB) | EmbeddedLinux2017 (BBB) | EmbeddedLinux2016 (BBB) | EmbeddedLinux2015 (RPi, BBB, Gnublin) | EmbeddedLinux2014 (Gnublin) | EmbeddedLinux2013 (Gnublin) | EmbeddedLinux2012 (Gnublin) | Embedded Linux 2009 bis 2011 (todo) | EmbeddedLinux0809 (NGW100) | EmbeddedLinuxAlt

Verwandte Seiten PflichtaufgabenBBB | ElinuxSimmondsQuestions | ElinuxProjekte | EmbeddedProjectsJournal