Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Embedded-Linux-Schulung: Embedded-Echtzeit-Linux vom Bootloader bis zum Realtime-System (Linux-RTOS) - Live-Online-Training

  • Inhalt
     
  • Ziele -
    Ihr Nutzen
  • Teilnehmer
     
  • Voraussetzungen
     

Sie haben die Aufgabe, ein Embedded-Linux-Target aufzubauen?

Wie fange ich damit an? Was benötige ich dazu?

Wie komme ich zu einem echtzeitfähigen System?

Der Aufbau und die Funktionsweise eines Embedded-Linux-Systems mit harten Echtzeiteigenschaften stehen im Mittelpunkt der Embedded-Linux-Schulung.

Im 1. Teil beginnen wir beim Embedded-Board ohne SW und erstellen die notwendigen Komponenten vom Bootloader bis zum fertigen Echtzeit-Linux-Betriebssystem und der ersten Embedded-Linux-Anwendung.

Sie bekommen den "roten Faden" der Vorgehensweise und transferieren das erlernte Wissen auf Ihr individuelles Projekt und Ihre Zielarchitektur.

Im 2. Teil erlernen Sie das Scheduling und die Echtzeitfähigkeit vom RT Preemption Patch.

Die Funktionsweise sowie der Einsatz in echtzeitrelevanten Anwendungssystemen wird detailliert behandelt sowie auf zweckmäßige Synchronisierungsmechanismen eingegangen.

In der Übungsaufgabe werden alle Komponenten basierend auf frei zugänglicher Open-Source-Software erstellt und eingesetzt.

Die Embedded-Linux-Schulung legt großen Wert darauf, dass die verwendeten Tools für eine breite Auswahl an Architekturen verfügbar sind.

Dadurch können Sie die praktischen Fähigkeiten der Embedded-Linux-Schulung in modifizierter Form für Ihr Embedded-Board einsetzen.

Die Embedded-Linux-Schulung richtet sich an Software-Entwickler und Software-Architekten.

Sichere Programmierkenntnisse in ANSI-C sowie gute Linux-Grundlagenkenntnisse.

Entwicklungsumgebung

  • Cross-Development Toolchain
  • Erstellung von Toolchain, Kernel und Root-Filesystem --> Buildsysteme
  • Buildmethoden im Vergleich: yocto, buildroot, Debian-basierend
  • Hardware-Debugging mit dem gdb

Übungen:

  • Erstellen einer Cross-Development Toolchain für das Target Cortex-A8 mit dem Buildsystem buildroot
  • Erstellen eines bootbaren Flashes für das Zielsystem

Linux Bootloader

  • Konfiguration und Installation von u-boot und barebox
  • Anpassungen an individuelles Board
  • Diagnose von Bootproblemen

Übungen:

  • Konfigurieren und Erstellen des Bootloaders für das Embedded-Board
  • Einrichten von barebox auf dem Target (Environment und Startskripte)

Linux-Betriebssystem - Linux-Kernel und Root-Filesystem

  • Kernel-Konfiguration und -Erstellung
  • Boardspezifische Kernel-Anpassungen
  • Flattened Device Tree (FDT)
  • RAM-Disk, optimiertes und minimales Root-FS mit busybox
  • Startvorgang im Root-FS - init-Dämon
  • Dämonen (syslog, inetd, Webserver, dropbear, crond)
  • Bibliotheken (uClibC, glibc)

Übungen:

  • Konfigurieren und Erstellen eines Linux-Kernels mit zugehörigem Device-Tree
  • Einstellungen im Bootloader vornehmen

Flash als Massenspeicher

  • Unmanaged/ Raw-Flash (NOR, NAND), Memory Technology Devices (MTD)
  • Flash-Dateisysteme (JFFS2 und UBIFS)
  • FTL/ Managed-Flash, ext-FS
  • Read-only Filesysteme, squashfs

Übung:

  • Erstellen eines Root-Filesystem für das Zielsystem auf dem Flash

Herausforderungen an Embedded-Systeme

  • Systemupdate-Szenarien
  • Bootzeit-Optimierung im Bootloader, Linux-Kernel und Root-Filesystem
  • Messung der Bootzeiten
  • Konfiguration des Embedded-Systems; Initial RAM-FS
  • Reproduzierbarer Erstellvorgang
  • Prüfung und Bewertung von Board Support Packages

Übungen:

  • Anpassungen am Device-Tree vornehmen
  • Minimalst-Root-Filesystem zur Reduzierung der Bootzeit

Echtzeit-Linux, RT Preemption Patch

  • Echtzeit-Definition; Anforderungen an das Betriebssystem
  • Scheduling-Klassen (Deadline- und RT-Task, Batch-Aufgaben)
  • Threading von Interrupts und SoftIRQ's
  • Prioritätsinversion, Prioritätsvererbung, RT-Mutex, Spin-Lock
  • Vergleich unterschiedlicher Echtzeit-Linux-Varianten: RT-Patch, xenomai, RTAI

Übungen:

  • Erstellen eines Realtime-gepatchten Kernels
  • Echtzeit- und Deadline-Tasks erstellen und Fallstricke bei deren Einsatz kennenlernen

Tracing, Latenzmessungen und Timer im Echtzeit-Linux

  • Latenzen im Betriebssystem
  • Power-Management und Latenzzeiten
  • Funktionsweise des Function Trace Frameworks (ftrace), trace-cmd, kernelshark
  • Echtzeitverhalten, Latenzen und Wakeup-Zeiten diagnostizieren
  • Hochauflösende Timer (hrtimer-Framework)

Übungen:

  • Tracing von Tasks, Interrupts und SoftIRQ's durchführen
  • Generierung von Last: CPU, Interrupt, Memory, Disk-IO
  • Fallbeispiel: Suchen von Latenzproblemen bei GPIO-Interrupts eines realen Treibers

Hardware

  • Alle Übungsaufgaben der Embedded-Linux-Schulung werden auf dem phyBOARD mit ARM Cortex-A8 (AM-335x) unter Verwendung frei zugänglicher Open-Source-Tools durchgeführt

MicroConsult Plus:

  • Das Übungsboard können die Teilnehmer zur weiteren Vertiefung des Gelernten behalten

Im Preis enthalten:
Trainingsdokumentation, Ihr Zertifikat sowie ggf. erforderliche Ziel-HW o.ä.


ALL INCLUSIVE!

Spätestens 3 Wochen vor Trainingsbeginn erhalten Sie eine verbindliche Durchführungsbestätigung.

Einige Tage vor dem Live-Online-Training erhalten Sie von uns E-Mails mit …

  • ausführlichen Infos rund um Ihr Training
  • Ihre Schulungsunterlagen (Download-Link)
  • einer Einladung zu einer optionalen Probesession mit dem Trainer
  • einer Einladung für die Schulungstage, mit Link und Zugangsdaten

Ggf. erforderliche Übungs-HW senden wir Ihnen rechtzeitig vorab zu.


ABLAUF

Live Online Training

Termin Preis *Dauer
21.06. – 25.06.20212.950,00 €5 Tage 
25.10. – 29.10.20212.950,00 €5 Tage 
Anmeldecode: L-LIN-RTD
* Preis je Teilnehmer, in Euro zzgl. USt.


> Download Blanko-Anmeldeformular
> Trainingsbeschreibung als PDF

Präsenz-Training - Deutsch

Termin Dauer
21.06. – 25.06.2021 5 Tage  
25.10. – 29.10.2021 5 Tage  
07.02. – 11.02.2022 5 Tage  

Embedded-Linux-Schulung: Embedded-Echtzeit-Linux vom Bootloader bis zum Realtime-System (Linux-RTOS) - Live-Online-Training

Inhalt

Entwicklungsumgebung

  • Cross-Development Toolchain
  • Erstellung von Toolchain, Kernel und Root-Filesystem --> Buildsysteme
  • Buildmethoden im Vergleich: yocto, buildroot, Debian-basierend
  • Hardware-Debugging mit dem gdb

Übungen:

  • Erstellen einer Cross-Development Toolchain für das Target Cortex-A8 mit dem Buildsystem buildroot
  • Erstellen eines bootbaren Flashes für das Zielsystem

Linux Bootloader

  • Konfiguration und Installation von u-boot und barebox
  • Anpassungen an individuelles Board
  • Diagnose von Bootproblemen

Übungen:

  • Konfigurieren und Erstellen des Bootloaders für das Embedded-Board
  • Einrichten von barebox auf dem Target (Environment und Startskripte)

Linux-Betriebssystem - Linux-Kernel und Root-Filesystem

  • Kernel-Konfiguration und -Erstellung
  • Boardspezifische Kernel-Anpassungen
  • Flattened Device Tree (FDT)
  • RAM-Disk, optimiertes und minimales Root-FS mit busybox
  • Startvorgang im Root-FS - init-Dämon
  • Dämonen (syslog, inetd, Webserver, dropbear, crond)
  • Bibliotheken (uClibC, glibc)

Übungen:

  • Konfigurieren und Erstellen eines Linux-Kernels mit zugehörigem Device-Tree
  • Einstellungen im Bootloader vornehmen

Flash als Massenspeicher

  • Unmanaged/ Raw-Flash (NOR, NAND), Memory Technology Devices (MTD)
  • Flash-Dateisysteme (JFFS2 und UBIFS)
  • FTL/ Managed-Flash, ext-FS
  • Read-only Filesysteme, squashfs

Übung:

  • Erstellen eines Root-Filesystem für das Zielsystem auf dem Flash

Herausforderungen an Embedded-Systeme

  • Systemupdate-Szenarien
  • Bootzeit-Optimierung im Bootloader, Linux-Kernel und Root-Filesystem
  • Messung der Bootzeiten
  • Konfiguration des Embedded-Systems; Initial RAM-FS
  • Reproduzierbarer Erstellvorgang
  • Prüfung und Bewertung von Board Support Packages

Übungen:

  • Anpassungen am Device-Tree vornehmen
  • Minimalst-Root-Filesystem zur Reduzierung der Bootzeit

Echtzeit-Linux, RT Preemption Patch

  • Echtzeit-Definition; Anforderungen an das Betriebssystem
  • Scheduling-Klassen (Deadline- und RT-Task, Batch-Aufgaben)
  • Threading von Interrupts und SoftIRQ's
  • Prioritätsinversion, Prioritätsvererbung, RT-Mutex, Spin-Lock
  • Vergleich unterschiedlicher Echtzeit-Linux-Varianten: RT-Patch, xenomai, RTAI

Übungen:

  • Erstellen eines Realtime-gepatchten Kernels
  • Echtzeit- und Deadline-Tasks erstellen und Fallstricke bei deren Einsatz kennenlernen

Tracing, Latenzmessungen und Timer im Echtzeit-Linux

  • Latenzen im Betriebssystem
  • Power-Management und Latenzzeiten
  • Funktionsweise des Function Trace Frameworks (ftrace), trace-cmd, kernelshark
  • Echtzeitverhalten, Latenzen und Wakeup-Zeiten diagnostizieren
  • Hochauflösende Timer (hrtimer-Framework)

Übungen:

  • Tracing von Tasks, Interrupts und SoftIRQ's durchführen
  • Generierung von Last: CPU, Interrupt, Memory, Disk-IO
  • Fallbeispiel: Suchen von Latenzproblemen bei GPIO-Interrupts eines realen Treibers

Hardware

  • Alle Übungsaufgaben der Embedded-Linux-Schulung werden auf dem phyBOARD mit ARM Cortex-A8 (AM-335x) unter Verwendung frei zugänglicher Open-Source-Tools durchgeführt

MicroConsult Plus:

  • Das Übungsboard können die Teilnehmer zur weiteren Vertiefung des Gelernten behalten