5 tägiges Training in Mainz
Systemprogrammierung und Echtzeit mit Embedded Linux

Agenda

In diesem 5-tägigem Kurs lernen Sie den Umgang mit Embedded-Linux kennen und sind in der Lage Software dafür zu entwickeln. 

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.

 

Zum Referent

Andreas Klinger, IT-Klinger
ist seit 1998 Trainer und Entwickler im Bereich der systemnahen Softwareentwicklung mit den Schwerpunkten Treiberentwicklung, Embedded-Linux und Echtzeit. Als Spezialist für Linux beschäftigt er sich mit dem internen Aufbau des Kernels, den Systemmechanismen sowie vor allem mit deren Einsatz in Embedded-Systemen.

Er wurde 2011, 2014 und 2018 von den Besuchern des Embedded-Software-Engineering-Kongresses mit dem Speaker Award Publikumspreis ausgezeichnet. Seine Fachkompetenz hat er mit einer ganzen Reihe an Fachartikeln in der Elektronik-Praxis und im ESE-Report genauso unter Beweis gestellt wie mit einer ganzen Reihe an Commits für den Linux-Kernel.

 

Voraussetzungen

  • Sicherheit im Umgang mit der Shell
  • gute Programmierkenntnisse in C

 

Preis pro Person beträgt 1.995€ netto inkl. phyBOARD-Wega, Netzteil, SD Karte.

Mindestteilnehmerzahl von 4 Personen

Wählen Sie unten den für Sie passenden Zeitraum und melden Sie sich zum Online-Training an.

Beschreibung:

  • Erstellung von systemnahen Programmen für Embedded-Linux-Systeme
  • Funktionsweise der Linux-API und deren Hintergründe werden eingehend besprochen
  • Tracen von Anwendungen auf Embedded-Linux-Systemen
  • Identifizieren von Latenzen und Bottlenecks
  • Kennenlernen des Aufbaus und der Funktionsweise von Echtzeit-Linux mit dem RT-Preemption-Patch
  • Besonderheiten bei der Entwicklung von Echtzeit-Software


Agenda:

  • Aufbau des Linux-Kernels, Syscall-Schnittstelle
  • Verwendung von Dateien: open, read, write
  • blockierendes Verhalten und poll
  • Memory-Mapping mit mmap
  • Prozesse und Signale
  • Interprozess-Kommunikation: Message-Queue,
    Semaphore, Shared-Memory
  • Multithreading, Posix-Threads, Mutexe, Barriers
  • Posix-Timer
  • Tracing-Infrastruktur im Linux-Kernel, ftrace
  • Verwendung von trace-cmd, kernelshark und perf
  • Tracing-Events, Trace-printk, Tracing-Marker
  • Tracen von Scheduler, Interrupts, Timer, Netzwerk, GPIO, I2C, SPI
  • Messung von Latenzen
  • Verwendung von kprobe und uprobe
  • uftrace
  • Was bedeutet Echtzeit?
  • Scheduling-Modell von Linux: RT-, Deadline-, Batch- und Idle-Tasks
  • Besonderheiten des RT-Patch; Threading von Interrupts
  • Synchronisierung und PI-Mutex• Latenzzeiten messen und Systemlast generieren
  • Anwendungsentwicklung für Echtzeit-Systeme
  • Warten auf Events, Page-Faults, Priority-Inversion