Embedded Linux - Von der Systemarchitektur zur Echtzeit

Embedded – Von der Systemarchitektur bis zur Echtzeit

5-Tage-Kurs

Der Kursinhalt kann auf Ihre Bedürfnisse und Ziele zugeschnitten werden, und wenn es die Zeit erlaubt, kann während der Schulung auch eine Beratung erfolgen. Bitte klicken Sie auf die öffentliche Registerkarte, um die öffentlichen Sitzungen zu sehen.

Privat online
Vor Ort in Ihrem Unternehmen
Wir werden Ihre E-Mail niemals an Dritte weitergeben.
Viertel wählen Quartal Status Zugang Lieferung Standort Sprache Zeitzone Buchen bis
4. Quartal 2026 privat remote virtuell Deutsch/Englisch (noch zu definieren) UTC+2 (noch zu definieren) Jan 01, 2027

Inhalt wie unten beschrieben. Ab drei Teilnehmern aus demselben Unternehmen, schauen Sie sich bitte unsere privaten Sitzungen an.

Öffentlich online
Öffentlicher Workshop im Klassenzimmer
Wir werden Ihre E-Mail niemals an Dritte weitergeben.
Datum auswählen Datum Status Zugang Lieferung Standort Sprache Zeitzone Buchen bis

Unsere umfassende Einführung in Embedded . Von den Grundlagen bis hin zur Interprozesskommunikation und Echtzeit-Linux.

Ziele des Kurses

Das Ziel dieses Kurses ist es, die Grundlagen von Embedded Linux zu vermitteln.

Wir werden Themen wie diese sehen:

  • Wie fügen sich die Puzzleteile zusammen?
  • Welche Komponenten werden zum Aufbau eines eingebetteten Linux-Systems benötigt?
  • Woher bekommt man sie und wie kann man sie konfigurieren/erstellen/installieren?
  • Wie können Sie Hilfe von der "Gemeinschaft" erhalten?
  • Wie sieht es mit Softwarelizenzen und der Einhaltung von Open-Source-Lizenzen aus?
  • Grundlagen der Kommunikation zwischen Prozessen
  • Real-Time

Praktische Übungen vermitteln Ihnen die nötige Praxiserfahrung, um nach erfolgreichem Abschluss des Workshops eigene Embedded Linux-Systeme zu entwickeln.

Beschreibung

In diesem fünftägigen Kurs werden die Konzepte von Embedded anhand praktischer Übungen in Verbindung mit theoretischen Inhalten veranschaulicht. Die praktischen Übungen werden auf dem Host-Rechner mit einem Yocto Project® Software Development Kit (SDK) und der Zielhardware (z. B. i.mx8) durchgeführt. Der gesamte Workshop ist darauf ausgelegt, Sie so schnell wie möglich auf den neuesten Stand zu bringen. Die Philosophie, Konzepte und Befehle, die für den effektiven Einsatz Embedded erforderlich sind, werden durch eine einzigartige Kombination aus Theorie und Praxis vermittelt. Anstatt alles selbst herauszufinden, lernen Sie von einem erfahrenen Trainer und wenden Sie das neu erworbene Wissen über Embedded in Ihren eigenen Embedded-Entwicklungsprojekten an.

Voraussetzungen

  • Grundlegende Vertrautheit mit der Verwendung eines Linux-Systems (z. B. Ubuntu) als Endbenutzer im Benutzerbereich
  • Grundlegende Vertrautheit mit einer Befehlszeilen-Shell
  • Vertrautheit mit eingebetteten C-Konzepten und Programmierung
  • Fähigkeit zur Entwicklung von Software unter Verwendung der C-Syntax
  • Grundkenntnisse über eingebettete Prozessoren und Entwicklungsboards
  • ...und/oder keine Angst, mehr über die oben genannten Themen zu erfahren

Kurs-Fahrplan

Wer sollte teilnehmen?

Führungskräfte, Projektmanager, Software- und Hardwareentwickler, Systemingenieure, Tester, Administratoren, Techniker und andere an dieser Technologie Interessierte, die so schnell wie möglich verstehen möchten, wie Embedded Linux funktioniert.

  • Sie müssen Linux verwenden, oder Sie können sich den Luxus gönnen, zu entscheiden, ob es sinnvoll ist, es zu verwenden.
  • Vielleicht haben Sie bereits versucht, Embedded einzusetzen, sind sich aber nicht ganz sicher, ob Sie alles richtig gemacht haben.
  • Sie nutzen derzeit ein anderes Betriebssystem und möchten herausfinden, ob Linux vielleicht besser oder günstiger ist.

Gliederung des Kurses

Tag 1

Einführung

  • Geschichte von Unix/Linux | Lizenzierung | Standards | Arbeiten mit Freier Software | Spelunking | Unix Philosophie

Host-Spielplatz

  • Architektur | shell | Benutzer | su | Dateihierarchie-Standard (FHS) | daemons | statische Bibliotheken/shared Bibliotheken | Berechtigungen | Zugangskontrolle | umask | hard Links | soft Links | mehr Erlaubnis-Bits | (cross) compile Framework | real/effektiv user id(uid) | reale/effektive Gruppenkennung (gid)
Tag 2

Prozesse und Kommunikation zwischen Prozessen (IPC)

  • Linux-Architektur | Was ist ein Betriebssystem? | Was ist ein scheduler? | Linux: Scheduler: Prioritäten — scheduling Klassen | Prozess, Task, Thread | errno | fork | Prozessbeendigung | Prozesszustände | Zombies | Wie können Sie die Prozesse untersuchen?
  • einfache Interprozesskommunikation (IPC)
    • Shell-Umleitung | shelling out | tmpfiles
  • erweiterte Interprozesskommunikation (IPC)
    • generisch | pipe | signal | interrupted system call | message queue | semaphore | mutex | shared memory | socket | select | poll
  • Andere Methoden der Interprozesskommunikation| IVermeidbare Techniken der Interprozesskommunikation
Tag 3

Linux-Hardware-Kit

  • Wie bootet Linux auf einem PC und auf dem Evaluation Board? | Boot-Sequenz | SD-Karten-Partitionen | Booten sehen

Was wird benötigt...

  • Gastgeber
    • Toolkit
      • Das Yocto Project® | Installieren Sie das Yocto Project® SDK
    • Vorbereitung der SD-Karte | Terminal-Emulation
      • screen | byobu | minicom
    • Server
      • tftp | NFS
    • Root-Dateisysteme
  • Zielsystem
    • git | u-boot
      •  Skripting | fancy stuff | checkout | config | build | install | variables and commands
    • Flacher Gerätebaum (fdt)
      • Was ist ein fdt? | Device-Tree-Compiler | Beispiele
    • Kernel
      • checkout | Konfig-kconfig | bauen-kbuild
    • Flacher Gerätebaum (fdt)
      • bauen | installieren
    • Kernel-Module
      • bauen | installieren
Tag 4

Root File Systems

  • Ein minimales Root-Dateisystem vorbereiten | tftp Server für Tests
  • ramdisk | mtd | jffs2 | mtdparts | cramfs | roEXT2 | rootfs Vergleich

Anpassungen

  • Das System friert ein | Pseudo tty | getty | runlevel | statische IP | mount nfs | ssh Server

Debugging im Userspace

  • Was ist ein Fehler/Debugging? | Arten von Fehlern | Fehlerbeseitigungsstrategie
  • Einfache Werkzeuge
    • lsof | ltrace | strace | procfs | top | netstat | syslog | ...
  • Erweiterte Tools
    • Was ist ein Debugger?
    • gdb: gdb auf dem Zielsystem | gdb mit Fern-Debugging

JTAG-Debugging (optional)

  • JTAG | JTAG-Einrichtung | Wie debuggt man u-boot vor relocation | Weitere Möglichkeiten

Profilierung/Verfolgung

  • Profiling im Gegensatz zu Tracing
  • Profiling/Tracing-Werkzeuge: strace | Systemzeitgeber | gprof | gcov | perf
  • top und ähnliche Programme: top | powertop | powerdebug
  • crash: gdb auf Steroiden
Tag 5

Real-Time

  • Voraussetzungen
    • Unterschied zwischen Kernel und Userspace | Programmabschnitte | Unterbrechungen | Re-Entrant Code
  • Echtzeit-Intro
    • Was ist Real-Time? | Was ist harte Echtzeit?
  • Echtzeit-Linux
    • Hypervisor | Dualer Kernel | Vollständig präemptiver Kernel
  • Abgestuftes Echtzeitverhalten
    • explizite/implizite Präemptionspunkte | Echtzeit-Präemptionspatch | vollständig präemptiver Kernel | harte Echtzeit-Erweiterungen
    • (optional) Kernel patchen/konfigurieren/erstellen | auf dem Zielsystem testen
  • Doppelter Kernel
    • RTLinux | Real-time application interface (RTAI) | Xenomai
      • Xenomai im Vergleich zu RTAI | Adaptive Domain Environment for Operating Systems (ADEOS) | Xenomai-Architektur/SW-Stack/Skins
      •  (optional) Kernel patchen/konfigurieren/erstellen | auf dem Zielsystem testen
  • Messergebnisse: Nicht-Echtzeit-Kernel | Preempt-rt-Kernel | Dualer Kernel (Xenomai)
  • Echtzeit-Mythen

Kursbroschüre (PDF)

Was die Kunden sagen

Reliable Embedded Systems
Überblick über den Datenschutz

Diese Website verwendet Cookies, damit wir Ihnen die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in Ihrem Browser gespeichert und dienen dazu, Sie wiederzuerkennen, wenn Sie auf unsere Website zurückkehren, und unserem Team zu helfen, zu verstehen, welche Bereiche der Website Sie am interessantesten und nützlichsten finden.