Embedded Linux in Theorie und Praxis

Kompaktkurs

Seminar:
3 Tage  9:00 - 17:00 Uhr

Termine:
05. - 07.03.2018
23. - 25.07.2018

  Teilnahmegebühr:
1.890 Euro zzgl. MwSt
  Anmeldung
 
   

Beschreibung des Seminars
Der Einstieg in ein so mächtiges Werkzeug wie Linux ist nicht trivial! Ziel des Seminars ist es, Ihnen grundlegende Embedded Linux Konzepte sowie die Handhabung von Linux zu vermitteln.
Sie erfahren, welche Vor- und Nachteile Linux bietet und welche Komponenten man braucht, um ein Embedded GNU / Linux System zu bauen. Des Weiteren wissen Sie am Ende des Seminars, woher man entsprechende Komponenten beziehen  kann und wie man diese konfiguriert, übersetzt und installiert. Sie lernen außerdem, woher man bei Unsicherheiten Hilfestellungen erhalten kann und welche Lizenzmodelle im Linux-Umfeld angewandt werden.
Mit Hilfe von zahlreichen Hands-on-Beispielen erlernen Sie, wie man ein Embedded GNU / Linux System aus Mainline-Komponenten zusammenstellt.

Embedded Linux in Theorie und Praxis

Zielgruppe
Projektmanager, Software-, Hardware-, Entwicklungs- und Systemingenieure

Voraussetzungen
Grundkenntnisse zur Bedienung von Linux (Ubuntu), Vertrautheit mit Embedded C Konzepten und Programmierung, die Fähigkeit, Software in C-Syntax zu entwickeln, und grundlegende Erfahrung mit Embedded Hardware (Eval Boards) sind von Vorteil.

Inhalte des Seminars
1. Tag: Grundlagen

  • Einführung: Geschichte, GNU/Linux, Lizenzen, Standards, mit freier Software arbeiten, Spelunking, Unix Philosophie
  • Eigenheiten von Embedded Linux:
    - Embedded System,
    - Gegenüberstellung Embedded Linux vs. Desktop Linux
    - Disfunktionalitäten erkennen und beheben
    - Portierbarkeit
    - Für das Target bauen: Toolchains, C-Bibliotheken
  • Eval Board - Beagle Bone Black
    - Booten (generisch) bzw. das Beagle Bone Black
    - SD Karte partitionieren bzw. formatieren
    - Partitionen mit boot-loader, kernel, rootfs befüllen
    - serielle Konsole konfigurieren
    - Board mit GNU/Linux booten

2. Tag: Installieren, konfigurieren von Host und Target

  • Toolkit installieren, NFS Server, tftp Server 
  • U-boot: aus-checken/konfigurieren/cross-kompilieren/installieren
  • Flattened device tree
  • GNU/Linux kernel: uImage, aus-checken/konfigurieren/cross-kompilieren/installieren, Kernel Module)
  • Root File System
  • Anpassungen: Dem Board Netzwerkunterstützung hinzufügen (U-boot Scripting, Netzwerkunterstützung in U-boot, maßgeschneiderter Kernel mit Netzwerkunterstützung)
  • Rootfs über NFS
  • Init (Sys-V, Upstart, Initng, Systemd), Bootgraph, Bootchart
3. Tag: Kernel Module, Treiber und Debugging Überblick
  • Kernel Module: Hello Kernel, module-init-tools, Kconfig, Kbuild, out of tree, in tree
  • Device Treiber: Device Nodes, Character Treiber schreiben, Registrierung, Initialisierung, Miscellaneous Character Treiber
  • Debugging/Profiling/Tracing - Überblick:
    - Einfache Debugging Werkzeuge: lsof, ltrace, strace, proc, top, netstat, syslog
    - Weitere Debugging Werkzeuge: gdb: target gdb, gdbserver, kgdb/kdb + agent-proxy, JTAG
    - Profiling: time, gprof, gcov, oprofile
    - Tracing: ftrace, kernelshark, LTTng
    - Verschiedene andere Werkzeuge: top, latencytop, powertop, powerdebug, crash, systemtap

Methodik und Seminarunterlagen
Vortag und praktische Beispiele mit Host (Laptops mit Ubuntu 14.04.x LTS) und Zielsystem (Beagle Bone Black Rev. C - http://beagleboard.org/BLACK).
Die Geräte werden Ihnen während des Trainings zur Verfügung gestellt, jeweils ein Arbeitsplatz für zwei Teilnehmer.
Sie erhalten ein Arbeitsbuch (in Englisch), ein Beagle Bone Black Rev. C + Standard FTDI 3.3V to USB Kabel und nach dem Training einen Download Link mit Beispielen. Damit können Sie das erlernte vertiefen.

 

Referent
Robert Berger

Robert Berger

Seminarbeschreibung: PDF