Linux

Startdate

. 10.09.2018
9:00

. 14.09.2018
17:00

Im 5-tägigen Seminar werden für ein Embedded-Board die notwendigen Linux-Komponenten erstellt und angepasst. Dazu gehören der Bootloader barebox, Linux-Kernel-Konfiguration und das Root-Filesystem. Das notwendige Linux-Know-How, wie der Umgang mit der Shell, Editieren mit dem vi, Scripting, Erstellung von Programmen in C, Tracing und Debugging wird direkt auf dem Embedded-Linux-System geübt. Dadurch lernt der Teilnehmer Embedded-Linux in seinen Komponenten kennen und ist in der Lage, es an seine Projekterfordernisse anzupassen.

Dieser Kurs richtet sich insbesondere an Teilnehmer, welche mit der Umsetzung ihres Projektes unter Embedded-Linux beginnen und noch wenig Erfahrung mit Linux haben.

Alle Übungen werden direkt auf dem Embedded-Board AM335x durchgeführt. Die Teilnehmer erhalten das Embedded-Board sowie die USB-Festplatte mit Linux-Installation, welche im Seminar verwendet wurde. Dadurch kann das Gelernte auch nach dem Seminar exakt nachvollzogen werden.

Zielgruppe

Entwickler, System-Designer und Projektleiter. Es werden Kenntnisse in der Programmiersprache C vorausgesetzt.

Referent

Herr Andreas Klinger, IT-Klinger

Mitzubringende Hardware

Laptop 

Preisinhalt 
              

  • 5-tägige Schulung
  • Rapid Development Kit mit dem phyCORE AM3359
  • Verpflegung während der Schulung
  • Abendveranstaltung

Themen

  • Aufbau von Embedded-Linux (0,5 Tage)
    • Anforderungen an das Betriebssystem Linux bei Embedded-Systemen
    • Funktionsweise von Bootloader, Kernel, Root-Filesystem
    • Entwicklungsstrategien: Native, Cross oder Virtualisiert
  • Buildsystem (0,5 Tage)
    • Beispiel: ptxdist
    • Erstellung der Cross-Toolchain
    • Linux-Kernel und Root-Filesystem konfigurieren und erstellen
    • Flashen von Kernel und Root-FS
  • Umgang mit der Shell (1 Tag)
    • Benutzerkonzept; User, Gruppen und Rechte
    • Umleitung, Piping, Filter (tee, tr, sed, awk)
    • Suchen, Finden und Weiterverwenden (grep, find, xargs)
    • Hexdumps (od, hexdump), du, df
    • Scripting: Schleifen, Abfragen
    • Reguläre Ausdrücke
    • Editieren mit dem vi (insert, search, replace, yank)
  • Erstellen von Applikationen für das Target (1 Tag)
    • Nutzung der Cross-Toolchain
    • Diagnose von Problemen (file, strace)
    • Reduzierung des Footprints (strip)
    • Zugriff auf Dateien und Pipes
  • Debugging und Tracing (1 Tag) 
    • /proc- /sys- und /debug-Filesystem
    • dmesg, Syslog-Dämon
    • GNU-Debugger gdb, Native Debugging
    • Cross-Debugging gdbserver
    • JTAG-Debugging, OpenOCD
    • Kernel-Debugging kgdb
  • Dateisysteme und Bootstrategien (1 Tag) 
    • Einstellungen im Bootloader am Beispiel barebox
    • RAM-Disk, initramfs, Execute-In-Place (XIP)
    • System-Update-Szenarien: Bootloader, Linux-System
    • Dateisysteme: JFFS2, UBI-FS, squashfs, ext-FS
    • Bootzeit-Optimierung
    • Flattened-Device-Tree-Support (FDT)


Unsere Empfehlung für die Anreise- und Hotelkonditionen:

Bei Ausfall der Schulung durch höhere Gewalt, Krankheit des Dozenten oder Beraters sowie sonstige unvorhersehbare Ereignisse besteht kein Anspruch auf Durchführung. Phytec Messtechnik GmbH kann in diesem Fall nicht zum Ersatz von Reise- und Übernachtungskosten sowie für sonstige mittelbare und unmittelbare Folgeschäden haftbar gemacht werden. Bitte beachten Sie, bei Ihrer Buchung einen Tarif mit kostenfreier Stornierungsmöglichkeit zu wählen.


Dieser 5-tägige Kurs gliedert sich in zwei Teile. Der erste Teil beschäftigt sich mit der Betriebssystemschnittstelle von Linux und deren Anwendung in der Systemprogrammierung von Embedded-Systemen. Im zweiten Teil lernen Sie die Komponenten eines Echtzeit-Linux-Systems sowie deren Einsatz im Projekt.

Nach diesem Kurs sind Sie in der Lage, selbständig die Linux-API in Embedded-Echtzeit-Linux-Systemen einzusetzen.

Jeder Kursabschnitt beinhaltet den theoretischen Vortrag mit praktischen Beispielen sowie einer anschließenden Übungseinheit.

Die Übungen werden auf einem Embedded-Board durchgeführt. Das dazu benötigte Embedded-Linux-System ist inklusive der Toolchain gegeben.

Im Laufe des Seminars erstellen Sie eine Anwendung, welche mittels dem /sys-FS Hardware-Input und -Output bedient, mittels Shared-Memory und Message-Queues kommuniziert und als Echtzeit-Task auf dem RT-Preempt-Linux-System läuft. Ferner können Sie analysieren, wie der Ablauf vom Interrupt bis zum Task-Response im Linux-System vonstatten geht und woher ggf. unerwünschte Latenzen kommen.

Alle Übungen werden direkt auf dem Embedded-Board AM3359 durchgeführt. Die Teilnehmer erhalten das Embedded-Board sowie die USB-Festplatte mit Linux-Installation, welche im Seminar verwendet wurde. 
Dadurch kann das Gelernte auch nach dem Seminar exakt nachvollzogen werden.

Zielgruppe

Entwickler und System-Designer.
Linux-Grundkenntnisse werden vorausgesetzt, wie sie auch im Seminar „Embedded-Linux“ vermittelt werden sowie gute Programmierkenntnisse in C.

Referent

Herr Andreas Klinger, IT-Klinger

Mitzubringende Hardware

Laptop, welches von USB-Platte bootet


Themen

  • Datei-Schnittstelle --- virtuelles Filesystem
    • Virtuelles Dateisystem (VFS)
    • reguläre Datei, Verzeichnisse, Gerätetreiber, Named Pipes, Sockets
    • Lesen, Schreiben, Positionieren, poll() und select()
    • I-Node-Watch, Memory-Mapping
    • effizienter GPIO-Zugriff mit ioctls
    • mit I2C-Devices kommuzieren
  • Prozesse, Threads und Inter-Prozeß-Kommunikation
    • Generierung von Prozessen und Threads, Statusabfragen, Zombies;
    • Signal-Handling, Core-Dumps
    • Shared-Memory, Semaphore, Message Queues
    • Spezifikas von Multithreading-Anwendungen
    • Mutex, Futex, Read-Write-Lock, Barrier
    • Posix-Timer
  • Echtzeit und der Mainstream-Kernel
    • Kriterien für Echtzeitfähigkeit
    • Scheduling und Preemption
    • Realtime-, Deadline-, Batch-Tasks
    • Interruptbehandlung im Kernel
    • Synchronisierung; PI-Mutex
    • Prioritäsinversion, Preemption- und Interrupt-Sperren
  • Harte Echtzeit mit dem RT-Preemption-Patch
    • threaded Interrupts und SoftIRQ's
    • Implementierung von Echtzeit-Tasks im User-Space
    • Konfiguration und Installation
    • Bewertung des Echtzeitverhaltens; Latenzmessungen
  • ftrace - Tracing-Framework
    • Aufbau und Funktionsweise
    • Tracing-Events: Scheduling-Switch, Interrupts, Timer, GPIO's
    • Timing-Analyse, Latenzen im Anwendungssystem
    • Optionen, Marker, Verwendung in Applikationen und Treibern
    • trace-cmd und kernelshark


Unsere Empfehlung für die Anreise- und Hotelkonditionen:

Bei Ausfall der Schulung durch höhere Gewalt, Krankheit des Dozenten oder Beraters sowie sonstige unvorhersehbare Ereignisse besteht kein Anspruch auf Durchführung. Phytec Messtechnik GmbH kann in diesem Fall nicht zum Ersatz von Reise- und Übernachtungskosten sowie für sonstige mittelbare und unmittelbare Folgeschäden haftbar gemacht werden. Bitte beachten Sie, bei Ihrer Buchung einen Tarif mit kostenfreier Stornierungsmöglichkeit zu wählen.

Preise inklusive Hardware, Software, Schulungsunterlagen sowie Tagesverpflegung. 

Voraussetzung für die Umsetzung der Schulung ist eine Mindestteilnehmerzahl von fünf Personen.


Linux Treiberprogrammierung - Teil 3/3

Jetzt geht’s an den Kernel: Teil 3 der Seminarreihe zu Linux für den industriellen Einsatz behandelt die Programmierung von Kernel-Treibern. Der viertägige Hands-On-Workshop mit Andreas Klinger vermittelt Ihnen alle notwendigen Kenntnisse, um selbst Kernel-Treiber zu entwickeln. 

Im Laufe des Workshops erstellen Sie einen Character-Device-Driver mit Dateischnittstelle (open(), read(), write(), close()), /sys-FS- und udevd-Unterstützung, Memory-Mapping, Interrupt-Service-Routine sowie Synchronisierung. Dazu stehen Ihnen ein Phytec phyBOARD-Wega Single Board Computer sowie eine USB-Festplatte mit Linux-Installation zur Verfügung. Die Hardware ist im Preis des Kurses enthalten, sodass Sie das Gelernte im Anschluss an den Kurs nachvollziehen und weiter vertiefen können.


Ihr Referent

Andreas Klinger ist Inhaber des Ingenieurbüros IT-Klinger, das Kundenprojekte rund um Embedded Linux entwickelt. Als Referent auf namhaften Kongressen und Veranstaltungen trägt er zum Wissenstransfer im Open Source Bereich bei. Phytec veranstaltet mit Andreas Klinger den Workshop Linux Embedded für Einsteiger – Teil 1/3 sowie die darauf aufbauenden Seminare Linux Systemprogrammierung und Echtzeit – Teil 2/3 und Linux Treiberprogrammierung – Teil 3/3.


Erforderliche Vorkenntnisse

Der Workshop richtet sich an Entwickler und System-Designer. Linux-Grundkenntnisse werden vorausgesetzt, wie sie z.B. im Seminar Linux Embedded für Einsteiger - Teil 1/3 vermittelt werden. Gute Programmierkenntnisse in C sind ebenfalls notwendig. Für den Workshop benötigen die Teilnehmer einen eigenen Laptop.

Price

Price
1.990 €

Registration

Registration

Linux 1.990 €

Registration

5 .