Schulungsübersicht

Einführung

  • Geschichte von Unix/Linux
  • Freie Software
  • Unix-Philosophie

HOST-SPIELPLATZ

  • Spielen mit GNU/Linux
    • Architektur
    • Shell
    • Berechtigungen
    • FHS (Dateihierarchie-Standard)
    • harte/weiche Links
    • reale/effektive uid/gid
    • Planer
    • Prozess/Task/Thread
    • IPC einfach/erweitert
      • Leitungen
      • Signale
      • Nachrichten-Warteschlangen
      • Semaphoren
      • Gemeinsamer Speicher
      • Steckdosen
      • select/poll
    • Zu vermeidende IPC-Techniken
  • Host Linux einrichten
    • Yocto/ELDK (cross/target Werkzeuge, Bibliotheken, Pakete)
    • Terminal-Emulation
    • Server (DHCP, tftp, NFS)

ZIEL-SPIELPLATZ

  • Dateien, die benötigt werden, um etwas auf dem Board laufen zu lassen
    • JTAG/BDI-Konfiguration
    • u-boot (auschecken, konfigurieren, erstellen)
    • Kernel (auschecken, konfigurieren, bauen)
    • rootfs
    • flacher Gerätebaum
  • build/execute, was von oben auf die Zielplatine anwendbar ist
  • verschiedene rootfs
    • CRAMFS
    • ramdisk
    • MTD
    • JFFS2
    • roEXT2
    • ubi
  • Erzeugen/Ausführen der oben genannten Funktionen auf der Zielplatine
  • Vergleich von Root-Dateisystemen
  • Fehlersuche
    • einfache Werkzeuge
    • lokal/entfernt
    • Benutzer/Kernel
    • gdb
    • gdbserver
    • JTAG/BDI (wahlweise)
  • Profilerstellung
    • gprof
    • gcov
    • oprofile

REAL-TIME

  • voraussetzungen
    • Unterbrechungen
    • ablaufinvarianter Code
  • echtzeit Linux
    • explizite/implizite Präemptionspunkte
    • Echtzeit-Preemption-Patch
    • vollständig präemptiver Kernel
    • Harte Echtzeit-Erweiterungen
  • Adeos/Xenomai
    • Adeos-Patch
    • xenomai
    • Kernel patchen/konfigurieren/erstellen
    • an Bord ausführen

SW-FREIGABE

  • verwaltung
  • Entwicklung
  • Wie reproduziert man eine SW-Freigabe?

MISC

  • getopt
  • Endianess
  • Cheat-Sheets

Wenn nicht anders angegeben, steht der Inhalt dieses Kurses unter der Lizenz Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

Voraussetzungen

  • Grundlegende Vertrautheit mit der Verwendung eines GNU/Linux-Systems (z.B. Ubuntu) als Endbenutzer im Benutzerbereich 
  • Grundlegende Vertrautheit mit einer Kommandozeilen-Shell 
  • Grundkenntnisse im Bereich User Space/Applikationsentwicklung mit GNU/Linux 
  • Grundkenntnisse über eingebettete Prozessoren und Entwicklungsboards 
  • Grundlegende C-Programmierkenntnisse 
  • …und/oder Angst, das oben genannte zu lernen… 
 35 Stunden

Teilnehmerzahl


Price per participant (excl. VAT)

Erfahrungsberichte (3)

Kommende Kurse

Verwandte Kategorien