Linux-Betriebssystem-Mechanismen:
Linux Betriebssystem-Services
Task/Thread Scheduling
Prozesse, Signale, Mutex und Semaphore
Timer, Timeout und Deadlines
Die Zeit bis zum Projektabschluss ist knapp. Was tun?
Aus dem Alltag eines Linux-Softwareentwicklers
Programmieren, probieren und feststellen müssen, dass es wieder nicht richtig klappt! Der Sensor wird zwar angesprochen, doch leider nicht rechtzeitig. Jetzt geht es darum, die Fehler aufzuspüren. Das Debuggen mit Linux kostet zu viel Zeit. Die letzte Änderung hat es leider wieder nicht gebracht …
Wie ist das Linux-Projekt jetzt noch zu retten?
Machen Sie sich zu Anfang mit der richtigen Nutzung und dem Hintergrund von Embedded-Linux vertraut. Nur so klappt es auch mit der Realtime-Anwendung. Anschließend kommt es darauf an, sich näher mit den Linux-Mechanismen vertraut zu machen, damit Sie jederzeit treffsicher den richtigen Mechanismus auswählen: Auch eine Schraube kann zwei Teile nicht richtig verbinden, wenn Sie das falsche Werkzeug ansetzen (falsches Format oder Größe des Schraubenziehers).
Realtime-Anforderungen mit Embedded-Linux erfolgreich umsetzen
Wie setze ich klare Realtime-Vorgaben bzw. Echtzeitanforderungen beim Einsatz von Embedded-Linux korrekt um? Wie kann ich im Anschluss auch noch prüfen, ob mein programmtechnischer Ansatz mit Linux sich auch zeitlich korrekt verhält?
Hierzu ist es dringend notwendig, dass Sie die verfügbaren Debugging- und Trace-Möglichkeiten beherrschen. Nur so können Sie verifizieren, ob Ihre Anforderungen auch verlässlich umgesetzt sind.
Embedded-Linux-Software erfolgreich programmieren: So kommen Sie ans Ziel
Wie gewinne ich nun all die erforderlichen Kenntnisse rund um Embedded-Linux trotz meiner knappen verfügbaren Zeit?
Knowhow-Aspekte für Software-Analyse und Trace
Code-Analyse und Profiling
Program-Trace
Wie kommen Sie am schnellsten ans Ziel? Lernen Sie von erfahrenen Profis die Zusammenhänge rund um Embedded-Linux kennen, erfahren Sie alles über Best-Practice-Methoden zur effizienten Anwendung von Embedded-Linux und lernen Sie insbesondere auch, wie Sie aktiv Fallstricke vermeiden.
Nutzen Sie dazu den Wissenstransfer bei MicroConsult:
Nehmen Sie alles relevante Knowhow in unseren Trainings auf und nutzen Sie das gewonnene Wissen direkt in Ihrem Projekt. Wir zeigen Ihnen beispielsweise, wie Sie Messwerte von Sensoren in Ihrem Embedded-Projekt mit einem realen Embedded-Entwicklungsboard ansprechen können.
Ihr Gewinn: Die klare Sicht auf Embedded-Linux und das Wissen, wie Sie Embedded-Linux in Verbindung mit festen Zeitvorgaben erfolgreich nutzen. Zudem nehmen Sie gleich lauffähige Beispiel-Software mit zurück in Ihr Projekt.
Jetzt anmelden: Embedded-Linux-Softwareentwicklung
Seminar-Inhalt Embedded-Linux-Softwareentwicklung Systemnahe Softwareentwicklung
Dateien, Pipes und Device-Nodes
Prozesse, CPU-Affinität
Scheduling; RT-, Deadline-, Batch-Task
Prozesse, Signale, Core-Dump
Shared-Memory, Memory-Mapping
Semaphore, Message-Queue
Multithreading
Mutex, Robust-Mutex, PI-Mutex, RW-Lock, Barrier
hrtimer-Framework und Posix-Timer
Hardware-Schnittstellen: GPIOs, I2C
Entwicklungsumgebung und Diagnosetools
Cross-Development Toolchain
Cross-Debugging mit gdb und gdbserver
proc-, sys- und debug-FS
Memory Leaks, Speicherüberschreibungen; valgrind
Codeabdeckungsanalyse und Profiling; gcov und gprof
Ptrace-Schnittstelle des Linux-Kernels; Funktionsweise von Debuggern
strace und ltrace: Funktionsweise und Verwendung
Funktionsweise des Function Trace Frameworks (ftrace)
Tracen von Interrupt- und Scheduling-Events
Hardware
Alle Übungsaufgaben werden auf dem phyBOARD mit ARM Cortex-A8 (AM-335x) unter Verwendung von frei zugänglichen Open-Source-Tools durchgeführt.
Dieses Übungsboard können die Teilnehmer zur weiteren Vertiefung des Gelernten behalten.
Weiterführende Informationen:
MicroConsult Training & Coaching zum Thema Linux-Programmierung