Embedded Linux


Bewährte alte Betriebssystemkonzepte in Verbindung mit hardwarenaher Programmierung - bilden das Zentrum dieses Kurses. Linux ist ein vollwertiges Unix - das heisst, es setzt auf die selben Betriessystemkonzepte auf, die sich seit mehr als vier Jahrzehnten bewährt und weiterentwickelt haben. Linux ist nicht nur ein vollwertiges Unix, sondern auch ein hervorragendes Embedded-Betriebssystem. Es kann mit jeglicher Hardware umgehen, die im Embedded- und Automotive-Sektor vertreten ist. Möglich ist das, indem Linux die altbewährten Konzepte konsequent ausbaut, Hardwareschnittstellen so gestaltet, dass sie sich nahtlos einfügen, und verschiedene Features wie Echtzeitfähigkeit implementiert. Dieser fünftägige Kurs beginnt mit einer Einführung in das Betriebssystem selbst, erläutert die Konzepte hinter Linux, die Programmierung inklusive Werkzeuge, und rundet das Gelernte mit einem "Hardwarebastelworkshop" ab.


Zielgruppe:

  • Embeddedprogrammierer, die sich schon länger fragen, warum Features eines "normalen" Betriebssystems, wie z.B. Multiprocessing, TCP/IP, Dateisysteme, ihnen versagt bleiben oder teuer erkauft werden müssen.
  • Elektroniker, die Devices testen wollen, bevor in ihrer Firma die Hostsoftware soweit ist.
  • Architekten, die ihre Plattformzusammensetzung entscheiden und rechtfertigen müssen. Die Frage "Wieviel Logik stecke ich in externe Hardware, und muss ich das überhaupt?" ist schwer zu beantworten.
Die Teilnehmer sind eingeladen, eigenes Equipment - Lötmaterial, Breadboard, etc. - mitzubringen. Werkzeug und Material ist reichlich vorhanden, jedoch macht es mit dem eigenen wahrscheinlich mehr Spass. Die Bastelei erfolgt mit vorhandenen Raspberry Minicomputern, mit denen sich hervorragend Prototypen erstellen lassen.

Im Kurs werden folgende Themen behandelt:
  • Linux und die Commandline. Linux ist ein Desktopbetriebssystem. Unter anderem - es ist alles nur eine Frage des vorhandenen Speichers. Das Rasperry ist für Embedded-Verhältnisse mit 512MB reichlich ausgestattet. Ein Desktop ist trotzdem nur mühsam zu betreiben - und ist für ein Embedded-Produktivsystem ohnehin unangebracht. Zurück an die Unix-Anfänge also ...
    • Remote Login mit SSH
    • Grundlegendes: die Shell, Werkzeuge wie sed, grep, find...
    • Diagnose mit Tools wie netstat, top, den Filesystemen procfs und sysfs ...
  • Programmierung. Die altbewährten Unix-Konzepte werden benutzt, um einfache Übungen durchzuführen. Themen sind unter anderem ...
    • Files. Files bzw. Filedeskriptoren sind ein grundlegendes Konzept unter Linux/UNIX.
    • Prozesse. Das zweite Standbein von Linux/UNIX: getrennte Adressräume.
    • Multithreading. Mehrere parallele Abläufe im gleichen Adressraum zu haben, erfordert vom Programmierer einiges an Sorgfalt und Wissen.
    • Netzwerkprogrammierung. Im Grunde sehr einfach (File I/O), bloss sehr breit gefächert. TCP/IP ist nur ein Netzwerk unter vielen, Bluetooth, CAN-Bus, und viele andere Netzwerke sind auch über dieses API zu programmieren.
    • Memory Management. Virtuelles Memory - Shared Memory, Memory-Mapped I/O und weitere Techniken.
    • Realtime. Aus gewissen Szenarien (Steuerungen, Audio, ...) nicht wegzudenken. Auch gefährlich, wenn falsch bzw. zu umfangreich benutzt.
    • Kernel-Konzepte. Wenngleich nicht Hauptthema des Kurses, ist es dennoch sehr nützlich, zu wissen, wie diese Konzepte, die die Programmierung so einfach machen, unter der Haube implementiert sind.
  • Hardware.
    • Das General Purpose IO (GPIO) Subsystem. Schalten von Ausgängen, Abfragen von Eingängen (sowohl über dummes Polling als auch über intelligentes ereignisgesteuertes Programmieren bzw. Interrupts)
    • Mit Mikrocontrollern sprechen. Aufgaben wie z.B. Temperaturmessung, IO-Port Expandierung, Pulse Width Modulation (PWM) etc. werden gerne an externe Hardware ausgelagert, die über dedizierte Protokolle angesteuert wird. Hier wird ein Überblick über die Protokolle und über verschiedene Aspekte der Integration in Linux gegeben. Stichworte:
      • Inter Integrated Circuit (I2C)
      • Serial Peripheral Interface (SPI)
      • Verschiedene Driverframeworks im Kernel
      • CAN-Bus. In Linux hat sich eine sehr nette Infrastruktur entwickelt, die das Protokoll nahtlos in den Netzwerkstack einpasst.


Dozent: Dipl.-Ing. Jörg Faschingbauer

Kurs-Termine:
  • Von Montag, dem 6. Februar, 2017 bis Freitag, den 10. Februar, 2017 (5 Tage)
  • Von Montag, dem 22. Mai, 2017 bis Freitag, den 26. Mai, 2017 (5 Tage)
  • Von Montag, dem 4. September, 2017 bis Freitag, den 8. September, 2017 (5 Tage)
  • Von Montag, dem 6. November, 2017 bis Freitag, den 10. November, 2017 (5 Tage)

Zeitdauer:
5 Tage



Preise pro Tag für diesen Kurs:

Hemmenhofen am Bodensee    379,- € ohne MwSt.
in unmittelbarer Nähe von Konstanz und Zürich
Nürnberg, München, Augsburg 399,- € ohne MwSt.
Stuttgart, Karlsruhe, Freiburg, Ulm, Saarbrücken    389,- € ohne MwSt.
Hamburg, Berlin, Hannover 399,- € ohne MwSt.
Frankfurt, Köln, Kassel 399,- € ohne MwSt.
Unser bestes Angebot:    474,- € 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:
Unsere Kurse am Bodensee finden im 4-Sterne-Hotel Hoeri statt. Für nur 96,- € pro Tag können Sie eine Übernachtung mit Vollpension zubuchen. Damit runden Sie jeden Kurs-Tag mit einem viergängigen Menu ab. Lassen Sie sich überraschen! Unsere Kunden aus Baden-Württemberg und der Schweiz konnten wir bisher immer sowohl was das Kulinarische und vor allem das Fachliche betrifft immer zur vollen Zufriedenheit überzeugen!

Bilder vom Hotel Hoeri

Außerdem im Preis des Kurses enthalten:
Schulungsunterlagen

© Der Inhalt und die Bilder dieser Seite unterliegen dem Copyright wie im Impressum beschrieben.