Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

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

  • 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
  • JTAG-Schnittstelle, OpenOCD
  • 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

Demonstration:

  • JTAG-Debugging mit OpenOCD und gdb

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

  • 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:

Mittagessen, Getränke, Trainingsunterlagen und Teilnahmezertifikat


Für Personalabteilungen

Sie können in unserem Online-Formular bis zu 5 Teilnehmer auf ein Training buchen.
Möchten Sie mehrere Teilnehmer auf verschiedene Trainings buchen, kontaktieren Sie uns bitte!

Bitte beachten Sie auch unser Bonusprogramm bei der gleichzeitigen Buchung von mehreren Trainings und/oder Teilnehmern.

Für Personalabteilungen

Verwandte Trainings

Linux-Schulung: Systemprogrammierung
Trainings-Code: LINUX-SYS

Embedded-Linux-Architektur: Kernel-Treiberentwicklung
Trainings-Code: LINUXE-AR

Embedded-Linux-Training: Für Tester, Support und Service
Trainings-Code: LINUXE-T

Embedded-Linux-Softwareentwicklung
Trainings-Code: LINUXE-SWE

Softwarerecht: Haftungsrisiken beim Einsatz von Embedded-Software und Open-Source-Software
Trainings-Code: SW-RECHT


Verwandte Trainings

Offenes Training

TerminPreis *Dauer
19.02. – 23.02.20182.400,00 €5 Tage 
18.06. – 22.06.20182.400,00 €5 Tage 
27.08. – 31.08.20182.400,00 €5 Tage 
26.11. – 30.11.20182.400,00 €5 Tage 
11.03. – 15.03.20192.400,00 €5 Tage 
Anmeldecode: LINUXE-RTD
* Alle Preise zzgl. der gesetzlichen USt.


> Download Blanko-Anmeldeformular
> Trainingsbeschreibung als PDF

Inhouse Training

In maßgeschneiderten Workshops kombinieren wir Ihre konkreten Projektaufgaben mit unserem Trainingsangebot. Dabei berücksichtigen wir Ihre Anforderungen bezüglich Inhalt, Zeit, Ort, Dauer, technischem Umfeld und Vermittlungsmethodik.

Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.

> Trainingsbeschreibung als PDF

Coaching

Unsere Coaching-Angebote bieten den großen Vorteil, dass unsere Experten ihr Wissen und ihre Erfahrungen direkt in Ihren Lösungsprozess einbringen und damit unmittelbar zu Ihrem Projekterfolg beitragen.

Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.

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

Inhalt

Entwicklungsumgebung

  • Cross-Development Toolchain
  • Erstellung von Toolchain, Kernel und Root-Filesystem --> Buildsysteme
  • Buildmethoden im Vergleich: yocto, buildroot, Debian-basierend
  • JTAG-Schnittstelle, OpenOCD
  • 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

Demonstration:

  • JTAG-Debugging mit OpenOCD und gdb

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

  • 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

Merkzettel


Sie haben derzeit keine Trainings auf dem Merkzettel.