Embedded Linux 2024

Allgemeines

1. Treffen (26.3.2024)

2. Treffen (9.4.2024)

3. Treffen (16.4.2024)

Ich kann leider an dem Tag nicht an der Hochschule sein. Es wird also keine Vorlesung im J3.19 geben.

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

Die Sache von letzter Woche mit dem USB-zu-UART Adapter am WSL2 hat sich mittlerweile geklärt. Herr Schäferling weiß Bescheid.

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

Sie koennen gerne ab etwa 12 Uhr wieder in den G2.16 kommen, so wie letzte Woche.

4. Treffen (23.4.2024)

5. Treffen (30.4.2024)

Nachträge von letzter Woche

Neuigkeiten

  • Siehe Notizen.md in elinux/2024/MicroSD-Karten/24-1/

    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 (7.5.2024)

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 (14.5.2024)

Kernel auf Hostrechner bauen, oder den WSL2 Kernel bauen.

Verwenden alle das gleiche Konfigurationssystem „Kconfig“

  • Busybox

  • Buildroot

  • Linux Kernel

  • U-Boot

(21.5.2024 war ein Brückentag wegen Pfingsten)

8. Treffen (28.5.2024)

9. Treffen (4.6.2024)

  • 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 28. Juni 2024

    • 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.6.2024)

11. Treffen (18.6.2024)

War durch Online-Workshop verhindert, Hr. Schäferling macht eine Echtzeit-Linux Vorführung im 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 (25.6.2024)

Über Prüfung reden.

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