Embedded GNU/Linux Gerätetreiber und Kernel-Interna
Dieser Kurs wird seit März 2020 als online-Schulung durchgeführt. Weitere Infos!
Dieses fünftägige Training kombiniert Hands-on Übungen mit Theorie, um grundlegende Konzepte von Gerätetreibern und Kernel-Interna zu illustrieren. Die Hands-on Sessions werden mit freier Software wie dem Yocto Projekt auf einer Zielhardware (z.B. Beagle Bone Black Rev. C) durchgeführt. Dies ermöglicht es Ihnen das Kursmaterial mit nach Hause zu nehmen und damit zu arbeiten. Die Konzepte und Befehle, welche notwendig sind um GNU/Linux Gerätetreiber effektiv zu schreiben und einzusetzen werden durch eine Kombination von Theorie und On-the-job-Training beschrieben. Vom Zeitaufwand her ist es sicherlich sinnvoll nicht zu versuchen alles selbst herauszufinden, sondern von einem erfahrenen Trainer zu lernen. Nehmen Sie dazu noch die Fähigkeit Ihre eigenen Embeddded GNU/Linux Gerätetreiber bei Ihren Embedded-Entwicklungsprojekten einzusetzen mit nach Hause.
Teilnehmerkreis:
Ziel dieses Kurses ist es, die erforderlichen Grundlagen zu vermitteln, um mainline GNU/Linux Gerätetreiber schreiben zu können. How-tos, Theorie und praktische Übungen gepaart mit Erfahrungsberichten geben Ihnen das nötige Know-How von Anfang an mit der Community zusammenzuarbeiten, was nur eines der Erfolgsrezepte ist, wenn man seine eigenen GNU/Linux Gerätetreiber schreiben und warten will/darf/muss.
Unsere anderen Linux-Kurse:
Folgende Themen sind Bestandteil dieser Schulung:- Embedded Linux
- Linux-Kurs für Anfänger
- Kompaktkurs Linux
- Linux am Wochenende
- Linux-Kurs für Windows-Umsteiger
- Raspberry Pi, Linux und Python
- Linux-Kurs für Fortgeschrittene
- Ubuntu-Kurs
- Linux für Entscheider
- Grundlagen der Linux-Administration
- Linux und Recht
- Vorbereitung zur LPIC-Zertifizierung
- Systemnahe Programmierung unter Linux
- Linux-Anwendungs-Programmierung
- Virtualisierung mit XEN
- Einführung
Kurzer Überblick über die Geschichte von GNU/Linux, Lizenzen, Kernel Versionierung, Kernel Release Zyklus, Kernel trees, Mainline, Kernel Space im Vergleich zu User Space, Mechanismen im Vergleich zu policy, Alternativen zu Kernel Treibern, Echtzeitbetriebssysteme in Vergleich zu Linux - Speicher Management
Virtueller im Vergleich zu Physikalischem Speicher, Speicherallokierung im Kernel: pages, zones, API, slab, kmalloc im Vergleich zu vmalloc - Kernel Patch
Wer schreibt den Kernel?, Lebenszyklus eines Patches, git, Kernel Sourcen, einen Patch erstellen - Überprüfen - Fehler beheben - ausliefern, Wie funktionieren Code Audits beim Kernel? - Kernel Module
Kernel Sourcen herunterladen, konfigurieren, bauen, installieren, Gerätetreiber (statisch mit dem Kernel gelinkt, zur Laufzeit geladen), __init, Lizenzen, EXPORT_SYMBOL_GPL, Makefile außerhalb vom Kernel tree, module-init-tools, Module im Kernel tree, Kconfig, LKM Parameterübergabe, sparse - Char Treiber
Architektur, User/Kernel Interface, I/O Subsystem, VFS, sysfs (devices, bus, drivers, classes), kobject, ktype, kset, Linux Kernel Driver Modell, Device files- Char Treiber
- Initialisierung
- Registrierung
- Open, Release
- cdev, cdev_add, cdev_del
- major/minor numbers
- udev, udevmonitor, udevadm
- Fortgeschrittene Operationen bei Charachter Treibern
ioctl, unlocked_ioctl, compat_ioctl, user space API, kernel space API, Lebenszyklus eines Prozesses, sleeping/blocking, sleeping/waking up, wait queue, thundering herd, poll/select - Kernel Debuggen
bug, debugging, Den Kernel debuggen- binäre Suche mit git
- Debug Unterstützung vom Kernel
- printk syslogd, klogd, loglevels, rate limit, debug levels, debug selective subsystems
- Debuggen durch Abfragen (querying) debugfs
- oops Debugging, oops aufrufen
- Magic SysRq Key
- kgdb/kdb
- JTAG (optional)
- Tracing
- gcov
- lcov
- oprofile
- ftrace
- nop tracer
- function tracer
- sched_switch tracer (viewer)
- function_graph tracer
- dynamic tracer
- perf
- LTTng
- Kernel Probes
- Kprobes
- JProbes
- KretProbes
- Interrupts
Interrupts im Vergleich zu Polling, interrupt, program sections, reentrancy, events, interrupt handler, shared interrupt handler, interrupt flow, interrupt control - Deferring Work
top/bottom halves, softirqs, tasklets, work queues, kernel thread, threaded interrupts - Concurrency
critical region/section, atomic, race condition, synchronization, locking, locking Lösungen, deadlock, contention, Was soll man beschützen?- atomic operations
- spin locks
- reader-writer spin locks
- semaphore
- binary semaphore
- mutex
- reader-writer semaphore
- completion variables
- sequential locks
- RCU
- disble preemption
- orderig and barriers
- Zeit
HZ, Tick-less Kernel, Jiffies, große/kleine Verzögerungen, Kernel Timer, High-res Timer - Hardware I/O
I/O Ports, I/O Memory, Was macht man gegen sogenannte "side effects" wenn man man Register zugreifen muss? - User-Kernel Kommunikation
put(get)_user(), copy_to(from)_user(), Kernel I/O, memory mapping, procfs, sysfs, debugfs, relayfs, netlink, ioctl - Portierbarkeit
word Größe opaque Typen, signed/unsigned char, data alignment, integral promotion, Wiederverwendung von Code, endianess, system tick, Pagegröße, instruction ordering, SMP/preemption/high memory
Dozent: Robert Berger hat seit 1993 Praxis- und Führungserfahrung in der Industrie bei Design und Entwicklung von Software für "Eingebettete Systeme" mit und ohne harten Echtzeit Anforderungen. Er arbeitet seit dem Beginn des 21. Jahrhunderts mit GNU/Linux auch im Desktop/Server Bereich, aber hauptsächlich für "Eingebettete Systeme" (Automotive, Industrial Control, Robotics, Telecom, Consumer Electronics,...). Man trifft ihn regelmäßig bei internationalen Events wie z.B. "Embedded World", "Embedded Software Engineering Kongress", "Embedded Systems Conference", "Embedded Linux Conference" als Experten und Vortragenden.
Kurs-Termine:
Preise pro Tag für diesen Kurs:
Hemmenhofen am Bodensee |
409,- € ohne MwSt. in unmittelbarer Nähe von Konstanz und Zürich |
Nürnberg | 429,- € ohne MwSt. |
Stuttgart, Karlsruhe, Freiburg, Ulm | 419,- € ohne MwSt. |
Berlin | 429,- € ohne MwSt. |
München, Frankfurt, Köln | 429,- € ohne MwSt. |
Unser bestes Angebot: |
504,- € ohne MwSt. Preis pro Kurstag inklusive Übernachtung mit Vollpension im 4-Sterne Hotel Hoeri direkt am Bodensee mit Spa, Sauna, Fitness-Bereich, Swimming-Pool und eigenem Strand am See |
Achtung:
Sebstverständlich ist für Sie und uns die Qualität der Schulung an erster Stelle. Aber Bodenseo legt großen Wert darauf, dass auch das Drumherum den gleichen hohen Qualitätsstandards der Schulungen entspricht. So bieten wir in Hemmenhofen am Bodensee ein spezielles Arrangement: Sie zahlen zusätzlich zum normalen Kurspreis 96,- € extra pro Tag und erhalten dafür eine Übernachtung im 4-Sterne-Hotel Hoeri inklusive Vollpension, d.h. am Abend nach der Schulung wartet dann ein viergängiges Schlemmermenu auf Sie. Lassen Sie sich überraschen!
Der Kurspreis beinhaltet zusätzlich:
Schulungsunterlagen
Sebstverständlich ist für Sie und uns die Qualität der Schulung an erster Stelle. Aber Bodenseo legt großen Wert darauf, dass auch das Drumherum den gleichen hohen Qualitätsstandards der Schulungen entspricht. So bieten wir in Hemmenhofen am Bodensee ein spezielles Arrangement: Sie zahlen zusätzlich zum normalen Kurspreis 96,- € extra pro Tag und erhalten dafür eine Übernachtung im 4-Sterne-Hotel Hoeri inklusive Vollpension, d.h. am Abend nach der Schulung wartet dann ein viergängiges Schlemmermenu auf Sie. Lassen Sie sich überraschen!
Der Kurspreis beinhaltet zusätzlich:
Schulungsunterlagen
© Der Inhalt und die Bilder dieser Seite unterliegen dem Copyright wie im Impressum beschrieben.