Embedded Linux - Introduction, Systemsarchitecture to Real-Time (ELiSA) - Seminar / Kurs von PROKODA GmbH

Bei Inhouse- oder Firmenschulungen: Das HandOut ist auf Englisch, aber die Präsentation kann sowohl auf Englisch als auch auf Deutsch durchgeführt werden.

Inhalte

  • Introduction
    • Geschichte von Unix/Linux
    • Lizenzierung
    • Standards
    • Mit freier Software arbeiten
    • Spelunken (Code lesen)
    • Unix-Philosophie
  • Host Spielplatz
    • Architektur
    • Shell
    • FHS (file hierarchy standard)
      • Geräte, Daemon, Booten, Program Sections, statische/shared Bibliotheken
    • Berechtigungen3] Zugriffskontrolle, Ändern von Berechtigungen, umask
    • harte/weiche Links
    • echte/effektive uid/gid
  • Prozess/Interprozesskommunikation
    • IPC-Einführung
      • Unix/Linux-Architektur
      • Was ist ein Betriebssystem?
      • Was ist ein Scheduler?
      • Linux-Scheduler
      • Linux-Prioritäten
      • Linux-Scheduler(s)
      • Linux Scheduling Klassen
      • Prozesse/Tasks/Threads
      • errno
      • fork()
      • Prozessbeendigung
      • Prozesszustände
      • Zombies
      • Mehr über Prozesse
      • Sehen wir uns einen Prozess an
    • Einfache Interprozesskommunikation
      • Shell-Umleitung
      • Shelling out
      • temporäre Dateien
    • Interprozesskommunikation generisch
    • Interprozesskommunikation
      • Nachrichtenübergabe(message passing) im Vergleich zu gemeinsam genutzten Speicher(shared memory)
    • Fortgeschrittene Interprozesskommunikation
      • Pipes
      • Signale
      • Unterbrochene System Calls
      • POSIX.4 Nachrichtenwarteschlangen (Message Queues)
      • Semaphoren Einführung
      • Mutex
      • Semaphoren
      • gemeinsam genutzten Speicher(Shared Memory)
      • Sockets
      • select/poll
      • self-pipe Trick
      • Andere Interprozesskommunikations-Mechanismen
    • Interprozesskommunikations-Techniken die man vermeiden sollte
  • Besonderheiten an Eingebetteten Systemen
    • Einführung
    • Portierbarkeit
    • Bauen
      • Cross/Native Toolchain
    • Toolchains
    • C-Bibliotheken
      • glibc, uclibc, eglibc, musl, others
      • Shared Bibliotheken kleiner machen
  • Eval Board
    • Eval Board
    • GNU/Linux auf einem PC booten
    • GNU / Linux auf einem eingebetteten System booten
    • Bootsequenz
    • SD-Kartenpartitionen
  • Was man so braucht
    • Host
      • Werkzeugkasten
      • Das Yocto-Projekt
      • Das Yocto SDK installieren
      • SD-Karte
      • screen/byobu
      • Minicom
      • TFTP-Server
      • Root file Systeme
      • NFS-Server
    • Target
    • U-Boot
      • Das U-Boot
      • U-Boot: Scripting
      • U-Boot: Schickes Zeug
      • U-Boot: Spash Screen
      • U-Boot: U-Boot-Umgebung von Linux
      • U-Boot: Post mortem
      • U-Boot: Automatisches SW-Update
      • U-Boot: Wie kann man selbst zur Entwicklung beitragen?
      • U-Boot: Runterladen/Konfigurieren/Bauen/Installieren
      • U-Boot: Befehle
    • Flat device tree
      • Was ist ein flat device tree?
      • Device tree compiler
      • Beispiele/Dokumentation
    • Linux kernel
      • Runterladen
      • Kbuild
      • Multi Platform Unterstützung
      • Konfigurieren/Bauen/Installieren
      • Was ist uImage?
      • Den fdt bauen
      • In-tree Kernel Module bauen/installieren
  • Rool File Systeme
    • Verfügbare Root-File-Systeme
    • Ein minimales Root-File-System vorbereiten
    • TFTP-Server
    • Root-File-System auf Ramdisk
    • mtd
    • Root-File-System auf jffs2
    • mtdparts
    • Root-File-System auf cramfs
    • Root-File-System auf ro ext2
    • Was auf der Zielhardware andwendbar ist bauen und ausführen
    • Vergleich von Root-File-Systemen
  • Anpassungen
    • Das System hängt
    • pseudo tty
    • getty
    • runlevel
    • Statische IP
    • NFS mounten
    • SSH-Server
  • User Space Fehlersuche/-behebung
    • Einführung
      • Was ist ein Fehler?
      • Arten von Fehlern
      • Debugging-Strategie
    • Einfache Werkzeuge
      • lsof, ltrace, strace,...
      • procfs, top, netstat, syslog,...
    • Fortgeschrittene Werkzeuge
    • Was ist ein Debugger?
    • gdb
      • gdb am Host
      • gdb am Zielsystem
      • gdb Remote-Debugging
      • gdb Remote-Debugging mit GUI
  • User Space Profiling/Tracing
    • Profiling/Tracing Werkzeuge
      • strace
      • system timers
      • gprof
      • gcov
      • code optimization
      • oprofile
      • perf
    • top und ähnliche Werkzeuge
      • top
      • latencytop
      • powertop
      • powerdebug
    • crash
  • Echtzeit
    • Voraussetzungen
      • Kernel im Vergleich zu User Space
      • Toolchain
      • Program Sections
      • Interrupts
      • Reentrant Code
    • Echtzeit Einführung
      • Time/Utility Funktionen
      • Was ist Echtzeit?
      • Determinismus
      • Was ist harte Echtzeit?
    • Echtzeit-Linux
      • Hypervisor
      • Dual kernel
      • Fully preemtive kernel
      • "Grade/Stufen" des Echtzeitverhaltens
      • 0 Vanilla Linux Kernel
      • 1 explizite Präemptions-Punkte
      • 2 implizite Präemptions-Punkte
      • 3 Echtzeit Präemptions Patch
      • vollständig präemptiver Kernel
      • harte Echtzeiterweiterungen
    • Adeos/Xenomai
      • Adeos Patch
      • Xenomai
      • patchen/konfigurieren/Kernel bauen
      • Auf der Zielhardware ausführen
    • Echtzeit-Mythen
      • Echtzeit muss schnell sein
      • rate monotonisch
      • universelle Methode
      • scheduling Theorie
      • Echtzeitbetriebssystem im Vergleich zu Linux
      • Neue Hardware
      • Dual-Kernel im Vergleich zu Preempt-rt
      • Zukunftsaussichten Dual-Kernel
      • Zukunftsaussichten Preempt-rt
English Version
  • Introduction Embedded Linux
  • Host Playground
  • Prozess/IPC
  • Embedded Specifics
  • Eval Board
  • Stuff Needed
  • Rool File Systems
  • Customizations
  • Unser Space Debugging
  • Uer Space Profiling/Tracing
  • Real-time
Hinweise

To provide an understanding of the essentials of embedded GNU/Linux, how the bits and pieces fit together. What components are needed to build an embedded GNU/Linux system, where to get them from and how to configure/build/install them? Where to get help from? What about those software licenses? Hands-on exercises provide you with the necessary practical experience to go ahead and develop your own embedded GNU/Linux systems after completing this training successfully.

Lernziele

Dieser fünftägige Trainingskurs beinhaltet praktische Übungen auf der (z.B. phyBOARD-Mira i.MX 6 Quad - Full Featured) kombiniert mit Anleitung zur Veranschaulichung der Konzepte von Embedded GNU/Linux. Es wurde entwickelt, um Sie schnell auf den neuesten Stand zu bringen. Die Philosophie, Konzepte und Befehle, die notwendig sind, um GNU/Linux effektiv zu nutzen, werden durch eine Kombination von Theorie und Praxis beschrieben. Erfinden Sie das Rad nicht neu, sondern lernen Sie von einem erfahrenen Trainer und bringen Sie das Wissen über GNU/Linux und die Fähigkeit, es effektiv in Ihr eigenes Embedded-Entwicklungsprojekt zu integrieren, mit nach Hause. Praktische Übungen vermitteln Ihnen die notwendige praktische Erfahrung, um nach erfolgreichem Abschluss dieses Trainings Ihre eigenen eingebetteten GNU/Linux-Systeme zu entwickeln. English Version: This five day training class uses hands-on exercises combined with instruction to illustrate the concepts of embedded GNU/Linux. It is designed to bring you quickly up to speed. The philosophy, concepts and commands necessary to make effective use of GNU/Linux are described through a combination of theory and on-the-job training. Don’t reinvent the wheel, but learn from an experienced trainer and take home a working knowledge of GNU/Linux and the ability to use it effectively in your own embedded development project.

Zielgruppen

  • Grundlegende Vertrautheit mit der Verwendung eines GNU/Linux-Systems (z.B. Ubuntu) als Endbenutzer im user space
  • Grundlegende Vertrautheit mit einer Befehlszeilen-Shell
  • Grundkenntnisse der Programmierung von User-Space Anwendungsentwicklung mit GNU/Linux
  • Grundkenntnisse zu Embedded-Prozessoren und Entwicklungsboards
  • Mittelmäßige Programmierkenntnisse in der Sprache C
  • ... und/oder keine Angst, das Obige zu lernen ...
  • English Version
    • Basic familiarity with using a GNU/Linux system (e.g. Ubuntu) as an end user in user space
    • Basic familiarity with a command line shell
    • Basic knowledge of user space/application development with GNU/Linux
    • Basic knowledge concerning embedded processors and development boards
    • Basic C programming knowledge
    • ...and/or no fear to learn the above...

Zielgruppe:

Manager, Projektmanager, Software-, Hardware-, Entwicklungs-, Systemingenieure, Tester, Administratoren, Techniker und andere an der Technologie interessierte Personen, die möglichst schnell verstehen wollen, wie Embedded GNU/Linux funktioniert.

Termine und Orte

Datum Uhrzeit Dauer Preis
München, DE
07.09.2020 - 11.09.2020 09:00 - 16:00 Uhr 40 h Jetzt buchen ›
09.11.2020 - 13.11.2020 09:00 - 16:00 Uhr 40 h Jetzt buchen ›

SG-Seminar-Nr.: 5484229

Termine

  • 07.09.2020 - 11.09.2020

    München, DE

  • 09.11.2020 - 13.11.2020

    München, DE

Preise inkl. MwSt. Es können Gebühren anfallen. Für eine exakte Preisauskunft wählen Sie bitte einen Termin aus.

Jetzt buchen ›
Seminar merken ›

Semigator berücksichtigt

  • Frühbucher-Preise
  • Last-Minute-Preise
  • Gruppenkonditionen

und verfügt über Sonderkonditionen mit einigen Anbietern.

Der Anbieter ist für den Inhalt verantwortlich.

Über Semigator mehr erfahren

  • Anbietervergleich von über 1.500 Seminaranbietern
  • Vollständige Veranstaltungsinformationen
  • Schnellbuchung
  • Persönlicher Service
Datum Uhrzeit Dauer Preis
München, DE
07.09.2020 - 11.09.2020 09:00 - 16:00 Uhr 40 h Jetzt buchen ›
09.11.2020 - 13.11.2020 09:00 - 16:00 Uhr 40 h Jetzt buchen ›