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

27.06.2017

23.10.2017 - 27.10.2017

Veranstaltungsort: München

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

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? Aufbau und Funktionsweise eines Embedded-Linux-Systems mit harten Echtzeiteigenschaften stehen im Mittelpunkt des Trainings.

Entwicklungsumgebung

  • Cross-Development Toolchain
  • buildroot
  • JTAG-Schnittstelle, OpenOCD
  • Hardware-Debugging mit dem gdb

Bootloader

  • Konfiguration und Installation von u-boot
  • grub
  • Anpassungen an individuellen Board
  • Diagnose von Fehlern

Betriebssystem: Linux-Kernel und Root-Filesystem

  • Kernel-Konfiguration und -Erstellung
  • Boardspezifische Kernel-Anpassungen
  • RAM-Disk, optimiertes und minimales Root-FS
  • Dämonen (init, syslog, inetd, Webserver, dropbear, crond)
  • Bibliotheken (uClibC, glibc, eglibc)

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

Herausforderungen an Embedded-System

  • System-Update-Szenarien
  • Bootzeit-Optimierung
  • Konfiguration des Embedded-Systems; Initial RAM-FS
  • Flattened-Device-Tree (FDT)
  • Reproduzierbarer Erstellvorgang
  • Prüfung und Bewertung von Board Support Packages (BSP's

Echtzeit-Linux, RT Preemption Patch

  • Echtzeit-Definition; harte und weiche Echtzeit
  • Scheduling-Klassen (RT-Task, Batch-Aufgaben)
  • Latenzen im Betriebssystem
  • Virtualisierung von Interrupts
  • Funktionsweise des Function Trace Frameworks (ftrace), trace-cmd, kernelshark
  • Echtzeitverhalten diagnostizieren, Latenzen und Wakeup-Zeiten ermitteln

Synchronisierung von Echtzeit-Tasks

  • Hochauflösende Timer (hrtimer-Framework)
  • Prioritätsinversion, Anforderungen an Synchronisierung
  • Prioritätsvererbung, RT-Mutex, Spin-Lock

Hardware

  • Alle Übungsaufgaben der Embedded-Linux-Schulung werden auf dem phyBOARD mit ARM Cortex-A8 (AM-335x) unter Verwendung von frei zugänglichen Open-Source-Tools durchgeführt.
  • Dieses Übungsboard können die Teilnehmer zur weiteren Vertiefung des Gelernten behalten.