Erfolg durch Weiterbildung

Seminar Einführung in Embedded Linux und Yocto

Seminardauer

5 Tage

Preis

3.250,00 €
3.867,50 € inkl. 19% ges. MwSt.
Nach einer zweitägigen Einführung in Embedded Linux, vermitteln wir Ihnen danach das Wesentliche zur Nutzung des Yocto Projekts.
Nach der Einführung sehen die Teilnehmer, wie ein BSP/Framework-Betreuer das Yocto-Projekt verwenden würde.

Auf der Zielhardware werden praktische Übungen durchgeführt. Nach dem Training können die Teilnehmer für den Yocto spezifischen Teil ein Docker-Image mit Ubuntu 16.x und allen vorinstallierten Abhängigkeiten sowie die Beispiele herunterladen, um mit dem Kursmaterial in ihren eigenen Labors zu arbeiten.
  • 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/Kernel-Space mit GNU/Linux
  • Mittelmäßige Programmierkenntnisse in der Sprache C sind von Vorteil
Sie verwenden bereits GNU/Linux für Ihre Projekte und haben wahrscheinlich schon von dem Yocto Projekt gehört, haben es aber nicht gewagt, es näher zu betrachten oder hatten Schwierigkeiten damit.
Sie wissen nicht, ob und wie Ihr täglicher Workflow in dem YP untergebracht werden kann und finden das YP im Allgemeinen ziemlich kompliziert. Warum brauchen wir all das, obwohl (angeblich) alles bisher viel einfacher war?

Nach dem Training sollten Sie entscheiden können, ob Sie das YP brauchen oder nicht. Der Workshop richtet sich an Software-, Entwicklungs-, Systemingenieure, Tester, Administratoren, Ingenieure und andere an dem YP Interessierte, die grundlegende Kenntnisse von (Embedded) GNU/Linux haben.
Dieses fünftägige Training kombiniert Theorie mit praktischen Übungen, um Embedded Linux und das Yocto-Projekt vorzustellen.
Es beantwortet häufig gestellte Fragen wie:
  • Was ist GNU/Linux?
  • Warum Upstream verwenden?
  • Woher bekommt man U-Boot/den Kernel? Wie konfiguriert/baut/installiert man das?
  • Wie funktioniert Interprozesskommunikation und was sollte man verwenden/vermeiden?
  • Ist es wirklich notwendig, für jedes GNU/Linux Projekt eine andere Version der Toolchain/Bibliotheken/Pakete zu verwenden, und dann auch noch bei jedem Projekt einem anderen Workflow zu folgen?
  • Können Sie sicherstellen, dass die Entwicklungsumgebung für alle Entwickler/Lieferanten identisch ist und dass man in 10+ Jahren immer noch die gleichen Builds wie heute reproduzieren kann?
  • Kann das YP dabei helfen herausfinden, unter welchen Softwarelizenzen die von Ihnen verwendeten Pakete lizenziert sind oder bevorzugen Sie stattdessen Bekanntschaft mit einem Copyright-Troll zu machen?
  • .. und vieles mehr



  • Einführung
    • In den ersten beiden Tagen schauen wir uns kurz an, wie Embedded GNU/Linux funktioniert und konfigurieren/bauen unter anderem den Linux-Kernel.
  • Eval Board
  • Was man so braucht
  • Kernel Module
  • Character Treiber
  • User Space Fehlersuche/-behebung
  • Kernel Fehlersuche/-behebung
  • Prozess/Interprozesskommunikation
  • Echtzeit
  • Einführung in Yocto
    • Im zweiten Teil wird auf das Yocto eingegangen.
  • Der Yocto Autobuilder
  • Der YP Workflow
  • BitBake
  • Layer
  • BSP
  • Kernel
  • Anwendungs/Software Entwicklungskit
  • Paketverwaltung
  • Lizenzierung
  • Devtool
  • Einführung
    • Einführung
    • Geschichte
  • Eval Board
    • Eval Board
    • GNU/Linux auf einem PC booten
    • GNU / Linux auf einem eingebetteten System booten
    • Bootsequenz
    • SD-Kartenpartitionen
  • Was man so braucht
    • U-Boot
    • U-Boot: Schickes Zeug
    • U-Boot: Runterladen/Konfigurieren/Bauen/Installieren
    • U-Boot: Befehle
    • Fdt
  • Kernel
    • Kernel: Runterladen/kbuild
    • Kbuild
    • Kernel: Konfigurieren/Bauen/Installieren
    • Kernel: fdt
    • Kernel: Module
  • Kernel Module
    • ...können sein
    • init/exit
    • Lizenzierung
    • tainted Modul/Kernel
    • EXPORT_SYMBOL()
    • out of tree .ko Makefile
    • Modul-Init-Werkzeuge
    • Modul im Kernel Tree
    • Bauen und Installieren
    • Laden
    • Parameterübergabe
    • Zugriff auf TCB
  • Character Treiber
    • Gerätedateien
    • Einführung
    • Gerätetypen
    • major/minor
    • Architektur
    • Treiber-Kernel-Schnittstelle
    • Gerätetreiber
    • Einführung
    • Anmeldung
    • Initialisierung
    • Öffnen/Schließen
    • Misc. Char Treiber
  • User Space Fehlersuche/-behebung
    • Fehlersuche/-behebung: Einfache Tools
    • lsof, ltrace, strace,...
    • procfs, top, netstat, syslog,...
    • Fehlersuche/-behebung: Fortgeschrittene Tools
    • Was ist ein Debugger?
    • gdb auf der Zielhardware
    • gdb Remote-Debugging
  • Kernel Fehlersuche/-behebung
    • Debugging-Intro
    • KGDB/KDB
    • JTAG
  • Prozess/Interprozesskommunikation
    • IPC-Einführung
    • Unix/Linux-Architektur
    • Was ist 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
    • self-pipe Trick
    • Andere Interprozesskommunikations-Mechanismen
    • Interprozesskommunikations-Techniken die man vermeiden sollte
  • 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
    • "Grade/Stufen" des Echtzeitverhaltens
    • Dual Kernel
    • Xenomai
    • Messergebnisse
    • Echtzeit-Mythen
  • Einführung in Yocto
    • Was ist Yocto?
    • Warum das YP benutzen?
    • Was ist das YP?
    • Einige Werkzeuge unter dem YP Schirm
    • Poky
    • BitBake
    • OE-Core
    • Metadaten
  • Der Yocto Autobuilder
    • Einführung
    • Was ist der Yocto Autobuilder?
    • Docker container (pull, launch container)
    • Yocto Build-Umgebung ohne Docker/Yocto Autobuilder
  • Der YP Workflow
    • Einführung
    • Arbeitsablauf (Workflow)
    • OE-Architektur
    • Konfiguration
    • Benutzer Konfiguration
    • Eigenschaften (Features)
    • Maschinen Eigenschaften (Machine Features)
    • Distro Eigenschaften (Distro Features)
    • Kombinierte Eigenschaften (Combined Features)
    • Image Eigenschaften (Image Features)
    • Recipe Versionierung
    • Einführung
    • Bindestriche
    • Basierend auf Versions Kontrollsystemen (Source Code Management)
    • Fallstricke
    • Entwicklungs-/Stabile Versionen
    • Overrides
    • Metadaten (Recipes)
    • Maschinen (BSP) Konfiguration
    • Distributions Policy
    • Sourcen
    • Bauen
    • Sources fetchen: do_fetch, do_unpack
    • Patchen
    • Konfigurieren/Kompilieren/Installieren
    • Pseudo
    • recipetool
    • Beispiele fürRecipes
    • Paket von einer einzelnen .c Datei
    • Paket basierend auf Autotools
    • App. in mehrere Pakete aufgeteilt
    • Analyse der Ausgabe/Verpackung (Packaging)
    • Generierung von Images
    • Generierung von SDKs
    • Images anpassen
    • Einführung
    • local.conf
    • IMAGE_FEATURES
    • Benutzerdefinierte .bb-Dateien - von core-image vererbt
    • Benutzerdefinierte .bb-Dateien - basierend auf core-image-minimal
    • Benutzerdefinierte packagegroups
  • BitBake
    • Geschichte
    • Syntax
    • Variable Erweiterung (Variable Expansion)
    • Variable Zuweisung (Variable Assignment)
    • Vor-/Anhängen (Pre-/Append)
    • Entfernen (Override Stil Syntax)
    • Variable Flag-Syntax
    • Bedingte (Conditional) Syntax (Overrides)
    • Fehlersuche/-behebung
    • BitBake Fehlersuche/-behebung
    • Recipes finden
    • Images finden
    • Packagegroups finden
    • BitBake Umgebung
    • BitBake logs
    • Noch mal BitBaken
    • das Bauen eines spezifischen Tasks erzwingen
    • cleansstate
    • Stamp ungültig machen
    • Devshell
    • Abhängigkeiten
    • Pakete
    • Killall Bitbake
    • BitBake mit Ncurses-Wrapper
    • Werkzeuge/Tweaks
    • Aufräumen
    • Aufräumen um Speicherplatz zu gewinnen
    • Aufräumen damit neu gebaut werden muss
  • Layer
    • Einführung
    • bitbake-layers Werkzeug
    • yocto-layer Werkzeug
  • BSP
    • Intro
    • Systementwicklungs-Workflow
    • BSP Entwicklungsanleitung
    • bsp-tool
  • Kernel
    • Intro
    • Systementwicklungs-Workflow
    • Kernel-Entwicklungsanleitung
    • defconfig + Konfigurationsfragmente
    • in tree kmod
    • out of tree kmod
    • fdt
  • Anwendungs/Software Entwicklungskit
    • Software-Entwicklungskit
    • Einführung
    • Cross-Entwicklungs Toolchain
    • Sysroot
    • Der QEMU-Emulator
    • Eclipse Yocto Plug-in
    • Werkzeuge zur Leistungsverbesserung
    • Installieren von SDKs und Toolchains
    • Cross-Toolchains/SDKs
    • Einführung
    • Erstellen eines Cross-Toolchain-Installers
    • Verwenden des Standard-SDKs
    • Cross-Toolchain+Makefile
    • Cross-Toolchain+Autotools
    • Autotooled lib + App., recipes
    • Erweiterbares (Extensible) SDK
  • Paketverwaltung
    • Softwareaktualisierungen
    • Mit Paketen arbeiten
    • IPK
    • Einen package feed erstellen
    • Installieren eines Pakets mit opkg auf dem Zielsystem
  • Lizenzierung
    • Einführung
    • Fügen Sie dem YP eine benutzerdefinierte Lizenz hinzu
    • Erfüllung der Open-Source-Lizenz Bestimmungen mit dem YP
  • Devtool
    • Einführung
    • Ein Recipe hinzufügen/bauen/installieren
    • Einen Layer erstellen/hinzufügen
    • Finish
    • Ein Recipe Ändern/Aktualisieren
    • Bauen/Ausführen
    • Ein Image bauen
Since 1993, Robert Berger gathered practical and managerial experience in software design and development for embedded systems with and without hard real-time requirements.
ROBERT BERGER

Since the beginning of the 21st century, he has used GNU/Linux on desktop and server class machines, but mainly for embedded practices (automotive, industrial control, robotics, telecoms, consumer electronics, etc.). Robert regularly attends international events such as "Embedded World", "Embedded Software Engineering Congress", "Embedded Systems Conference", and "Embedded Linux Conference" as an expert and lecturer. His speciality is mainly training, but also consulting (in German or English) worldwide. Robert's expertise ranges from the smallest real-time systems (FreeRTOS) to set-ups with multiple processors/cores and embedded GNU/Linux (user-, kernel-space, device drivers, hardware interfacing, debugging, multi-core, Yocto Project) with a focus on free and open source software. Robert is a globe-trotter. He is CEO & Embedded Software Specialist at Reliable Embedded Systems which is based in St. Barbara, Austria, and when not travelling, lives with his family in Athens, Greece.
Ansprechpartner
Gabriela Bücherl
Gabriela Bücherl Geschäftsführung, Vertrieb Telefon:
+49 (0)89-4576918-16
Mail:
g.buecherl@cbt-training.de
Termine
  • München
    • 19.11. - 23.11.2018
      ✔

      € 3.250,00
    • 10.12. - 14.12.2018
      € 3.250,00
    • 21.01. - 25.01.2019
      € 3.250,00
    • 20.05. - 24.05.2019
      € 3.250,00
Termin anfragen
Fragen Sie Ihren Wunschtermin an.
Inhouse-Seminar
Das Seminar wird individuell auf Ihre Bedürfnisse abgestimmt und in Ihren Räumlickeiten durchgeführt.
Sie bestimmen die Inhalte, den Zeitpunkt und Dauer des Seminars.
Firmen-Seminar
Das Seminar findet ausschließlich mit Teilnehmern Ihrer Firma in unseren Räumlichkeiten statt und wird individuell auf Sie abgestimmt.
Sie bestimmen die Inhalte, den Zeitpunkt und Dauer des Seminars.
Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Weitere Informationen Ok