Size: 7923
Comment:
|
Size: 7948
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 246: | Line 246: |
- Beispielprogramme |
Embedded Linux 2021
Zoom ID: 914 3059 2895
Moodle Kurs: https://moodle.hs-augsburg.de/course/view.php?id=4640
Zum Austausch untereinander gibt es jetzt in Moodle ein Forum.
Videoaufnahmen: http://hhoegl.informatik.hs-augsburg.de/video/elinux21/
Fragen (waechst noch!).
1 Termine
23.3.2021
Vorbesprechung (http://hhoegl.informatik.hs-augsburg.de/video/elinux21/v1.mp4)
Vorkenntnisse (http://hhoegl.informatik.hs-augsburg.de/hhwiki/ElinuxVorkenntnisse)
Wer moechte ein Board bekommen? https://moodle.hs-augsburg.de/mod/questionnaire/view.php?id=186514
Literatur: Molloy und Simmonds http://hhoegl.informatik.hs-augsburg.de/nonfree/elinux/ Login und Passwort siehe v1.mp4
Zum Buch von Simmonds habe ich einige Fragen zusammengeschrieben: ElinuxSimmondsQuestions
30.3.2021
Poster (von Hr. Molloy's wunderbarer BeagleBone Website, http://exploringbeaglebone.com)
Wer es genauer wissen will: BeagleBone Black System Reference Manual (99 Seiten) http://hhoegl.informatik.hs-augsburg.de/elinux/bbb/BBB_SRM.pdf
"Skilltest" (habe ich neulich gefunden, ganz nette Idee, gerne mal durchmachen) https://www.linux4embedded.de/de/embedded-linux-skilltest
Linux Kommandos -- von Olimex, entwickeln u.a. Embedded Linux Boards, https://www.olimex.com/Products/OLinuXino/open-source-hardware. Auf der Homepage ist der News Blog der auch interessante Embedded Linux Anwendungen enthaelt. Finden und lesen Sie z.B. den Eintrag "IEEE 1588 Precision Time Protocol (PTP) is implemented for the industrial grade Open Source Hardware Linux computer STMP1-OLinuXino-LIME2".
Bitte ausfüllen: http://hhoegl.informatik.hs-augsburg.de/elinux/kurs/linux_admin_cmds.pdf
6.4.2021
ausgefallen (Ostern)
13.4.2021
Hausaufgaben vom 30.3. erledigen.
20.4.2021
ElinuxRemote Server http://hhoegl.informatik.hs-augsburg.de/hhwiki/ElinuxRemote
Democode fuer Pin Ein/Ausgabe: http://hhoegl.informatik.hs-augsburg.de/elinux/kurs/democode
Sie sollten als Hausaufgabe das Python Script "led_loop" in einer anderen Sprache ihrer Wahl schreiben.
Molloy, Kap. 6 (Interfacing to the Beagle Board Input/Outputs, S. 247-306, Sie wissen, wo Sie das PDF finden koennen ...)
https://learning.oreilly.com/library/view/exploring-beaglebone-2nd/9781119533160/
Siehe auch die Website zum Buch: http://derekmolloy.ie/beaglebone
Poster http://hhoegl.informatik.hs-augsburg.de/elinux/bbb/BeagleBonePoster.pdf
Die Pflichtaufgaben vom 30.3. sind eine fortlaufende Angelegenheit, waren also nicht komplett bis heute zu erledigen.
27.4.2021
Bootvorgang beschreiben (ROM, SPL/MLO, U-Boot, Kernel)
http://hhoegl.informatik.hs-augsburg.de/elinux/bbb/AM335x-U-Boot-User's-Guide.pdf
http://hhoegl.informatik.hs-augsburg.de/elinux/bbb/The-Boot-Process.pdf
Den U-Boot Bootmechanismus unterbrechen mit [SPACE] Taste und Funktionsweise von U-Boot untersuchen.
help, printenv, run <cmd>, mmcinfo, mmc dev 0, mmc dev 1, mmc list, ls mmc 0:1 /, ext4load mmc 0:2 ${loadaddr} /boot/uImage, ext4load mmc 0:2 ${fdtaddr} /boot/am335x-boneblack.dtb, bootm ${loadaddr} - ${fdtaddr}, run mmcboot, ...
Siehe die U-Boot Doku unter https://u-boot.readthedocs.io/en/latest
Welche Subsysteme kann U-Boot verwalten?
U-Boot Home: https://www.denx.de/wiki/U-Boot
U-Boot kann auch mit Device Trees umgehen (.dtb, .dtbo Dateien). Auch der Kernel braucht diese Device Trees. Wozu wird diese ganze Device Tree Sache ueberhaupt gebraucht? Siehe das Verzeichnis /boot/dtbs/4.19.94-ti-r42.
Was machen /boot/uEnv.txt, /boot/SOC.sh?
Booten ueber
- eMMC
- NFS (Kernel und RootFS liegen auf dem Hostrechner!)
- tftp (aehnlich NFS)
Alternative: Barebox statt U-Boot
https://www.pengutronix.de/de/software/barebox.html
Wie unterscheiden sich U-Boot und Barebox?
Lesen:
- Simmonds, Kap. 3 (All About Bootloaders)
- Molloy (Kap. 3, 6 und 7)
4.5.2021
U-Boot und Kernel kompilieren
"Yocto Project" kompilieren
Booten ueber das Netz mit tftp und nfs
Siehe die Anleitung unter ElinuxBBBPraxis
Lit.:
- Simmonds, Kap. 4 (Configuring and building the kernel)
- Simmonds, Kap. 6 (Selecting a build system)
- Simmonds, Kap. 5 (Building a root filesystem)
- Simmonds, Kap. 10 (Starting up - the init program)
11.5.2021
Cross-Kompilierung, Toolchain, ElinuxBBBPraxis#cross-kompilierung
Lit.:
- Simmonds, Kap. 2
18.5.2021
Neue Auflage des Buches von Chris Simmonds:
Frank Vasquez, Chris Simmonds, Mastering Embedded Linux Programming, 3rd edition, Packt Publishing, May 2021 ("MELPv3")
https://learning.oreilly.com/library/view/mastering-embedded-linux/9781789530384/
Kap. 6: "Introducing the Yocto Project" lesen und praktische Übungen durchführen.
25.5.2021
Freier Tag
1.6.2021
Noch genau 5 Wochen bis zur Klausur (29.6., 17 Uhr)
Restliche Themen:
Kernel, Kernelmodule, Treiber
MELPv3, Kap. 4 (Kernel konfigurieren und kompilieren)
MELPv3, Kap. 11 (Treiber)
https://learning.oreilly.com/library/view/mastering-embedded-linux/9781789530384
Quade, Kunst, Kern-Technik im Linux Magazin 11.2020 (Geraetetreiber als Kernelmodul implementieren).
http://hhoegl.informatik.hs-augsburg.de/elinux/kt/kt-112/kt-112.pdf
Valerie Henson, /dev/hello_world: A Simple Introduction to Device Drivers under Linux.
http://hhoegl.informatik.hs-augsburg.de/elinux/kerneltreiber/valerie-henson-device-drivers-hello.pdf
Echtzeit
Emde, Gleixner, Standard Linux wird echtzeitfähig, Elektronik, Februar 2007 6 Seiten, http://hhoegl.informatik.hs-augsburg.de/elinux/rt/elektronik-2007-03.pdf
MELPv3: Kap. 21
https://learning.oreilly.com/library/view/mastering-embedded-linux/9781789530384
Wie kommen wir zu einem Echtzeit-Kernel? Mit Yocto habe ich Schwierigkeiten. Kernel "zu Fuss" kompilieren mit "RT PREEMPT" Patch waere eine Loesung.
Beispielprogramme
Software-Update
Testsysteme
- Tbot - http://www.denx.de/en/view/Software/WebHome#tbot_Automatic_Test_Framework
- Labgrid - https://labgrid.readthedocs.io/en/latest/
Beispielhafte Embedded Linux Projekte
Kiessling, C. Pahl, C. Piechula, Eulenfunk (Internet Radio)
Beregnungssteuerung fuer Tennisanlage (Bachelorarbeit)
https://www.hs-augsburg.de/Informatik/Moderne-Beregnungssteuerung-fuer-Tennisanlagen.html
Vergangene Projekte im Wahlfach Embedded Linux
http://hhoegl.informatik.hs-augsburg.de/hhwiki/ElinuxProjekte
I/O Box XXX to do
2 News
Interessantes aus dem Pengutronix Blog
"Golden Image" vs. Build from Source
- https://www.pengutronix.de/de/blog/2021-04-19-wie-man-kein-betriebssystem-fuer-produkte-baut.html
- http://hhoegl.informatik.hs-augsburg.de/elinux/yocto/yocto-lj-300-2019.pdf
Open-Source Basics