Erlernen des Handwerkszeugs von Embedded Linux

Eingebettetes Linux
Als Johan Oedzes den Kurs Embedded Linux am High Tech Institute belegte, war er kein absoluter Neuling auf diesem Gebiet. Wenn er jedoch über seine Reise nachdenkt, gesteht er: „Ich bereue es, den Kurs nicht früher gemacht zu haben.“

„Die Kombination von Software und Elektronik hat mich wegen der Interaktion mit der greifbaren Welt schon immer interessiert“, sagt Johan Oedzes. Dieses Interesse führte ihn an die Universität Twente, wo er seinen Bachelor-Abschluss in Elektrotechnik machte und anschließend mit einem Master-Abschluss in eingebetteten Systemen tiefer in das Gebiet eintauchte.

Nach seinem Abschluss sicherte sich Oedzes eine Stelle bei einem großen Unternehmen in Hengelo, wo er sich auf die Entwicklung von C++-Software unter Linux konzentrierte, wenn auch nicht im eingebetteten Sinne, erklärt er. „Obwohl ich dort viel gelernt habe, begann es mich zu stören, dass ich nicht an eingebetteten Systemen arbeitete. Außerdem hatte ich das Gefühl, dass ich mich innerhalb der Zwänge bewegte, die andere Leute ausgedacht hatten. Ich wollte auch den innovativen und forschenden Teil der Ingenieursarbeit machen.“

Einer seiner erfahreneren Kollegen teilte Oedzes‘ Meinung und wechselte zu Beeliners, das ebenfalls in Hengelo ansässig war. Die beiden blieben in Kontakt und sein Ex-Kollege fragte Oedzes, ob er seine Kontaktdaten an die Eigentümer des Unternehmens weitergeben könne. Als der kaufmännische Leiter Dennis Wissink vor zwei Jahren anrief, beschloss Oedzes, den Sprung zu wagen und kam als Embedded Software Engineer zu Beeliners.

E-Mobilität

Beeliner entsprach sofort den Interessen von Oedzes, sagt er. „Alle unsere Produkte kombinieren ein Hardwaredesign mit eingebetteter Softwaretechnik, um einen Prototyp zu erstellen oder einen Konzeptnachweis für unsere Kunden zu erbringen. Solche Projekte können kompakte medizinische Geräte, intelligente Fitnessgeräte oder innovative E-Mobilitätsgeräte umfassen. Ich arbeite derzeit an einem Produkt im Bereich der Elektromobilität.“

Einer der Kunden von Beeliners war mit einem externen Steuergerät für Elektromobilität nicht zufrieden und wandte sich an das Unternehmen, um eine Lösung zu finden. Auf Wunsch des Kunden machte sich Beeliners daran, ein eigenes Gerät zu entwickeln. Die Steuereinheit ist mit zwei externen Systemen verbunden: dem E-Mobilitätsgerät einerseits und dem Internet andererseits. Die Internetverbindung ermöglicht die Kommunikation mit einem Backend-Server und den Empfang von Firmware-Updates.

„Wir haben das System in zwei Teile aufgeteilt“, erklärt Oedzes. „Alles, was Echtzeitverhalten erfordert und strenge Zeitvorgaben hat, läuft auf einem Subsystem mit einem Mikrocontroller, der mit dem E-Mobilitätsgerät verbunden ist. Der Code für die Backend-Verbindung, die Web-Schnittstelle und die Geschäftslogik des Produkts laufen auf einem eingebetteten Linux-System mit einer C++-Anwendung.“

''Jasper asked me the right questions, like: what problem are you trying to solve, what threats do you want to protect against, is your web interface externally accessible? It’s actually all quite logical, but I learned a lot by reasoning about our product with him''

Flexibilität

Obwohl er durch sein Studium an der Universität bereits einige Erfahrung mit eingebetteten Linux-Systemen hatte, war die Einrichtung eines solchen Systems für Oedzes Neuland. Es war während des E-Mobilitätsprojekts bei Beeliners, dass er sich autodidaktisch weiterbildete und erfolgreich ein maßgeschneidertes eingebettetes Linux-System auf der Grundlage des Yocto-Projekts erstellte. „Man kann eine Menge Informationen über Tools zur Erstellung von Embedded Linux-Distributionen finden, wie Yocto und Buildroot. Wir mussten ein wenig suchen und experimentieren, aber schließlich hatten wir ein funktionierendes System, das sogar Funktionen für Remote-Updates enthielt.“

„Zu dieser Zeit schien Yocto die am weitesten akzeptierte Lösung zu sein. Renommierte Unternehmen, die an Embedded Linux arbeiten, nutzten es und viele Softwareanbieter bieten ein Yocto-Rezept an, um Pakete ihrer Software mit Bitbake zu erstellen. Rezepte sind ein leistungsfähiges Konzept, und das ist einer der Gründe für die Wahl von Yocto für dieses Projekt.“

Da dies das erste Mal war, dass sie ein eingebettetes Linux-System entwickelten, hatten Oedzes und seine Kollegen einige Fragen: „Wie kann ich wissen, dass mein Produkt gut ist? Tut mein eingebettetes Linux-System das, was es tun soll? Ist es sicher?“ Die Beeliner hatten bereits erste Feldtests mit einem funktionierenden Prototyp durchgeführt, aber sie wollten ihren Ansatz noch vor der Fertigstellung des Produkts validieren.

Eingebettetes Linux

Zunächst dachten die Beeliner daran, externes Fachwissen für eine umfassende Bewertung anzuheuern. Sie wollten jedoch einen schnelleren, leichteren Ansatz und zogen es vor, dieses Fachwissen intern aufzubauen, betont Oedzes. „Dieses Streben nach Wissen führte uns dazu, Schulungsmöglichkeiten zu erkunden. Da einer unserer Kollegen bereits positive Erfahrungen mit dem Kurs ‚Gute Softwarearchitektur‚ des High Tech Institute gemacht hatte, suchten wir nach einem ähnlichen Programm für Embedded Linux und wurden fündig.“

''If I had enrolled in the course earlier, maybe we would have still chosen Yocto, but we would have certainly given more consideration to Buildroot.''

Da Oedzes kein absoluter Neuling in Sachen Embedded Linux war, fragte er sich, ob der Kurs für ihn relevant war. „Wir führten eine Telefonkonferenz mit Jasper Nuyens, dem Trainer des Kurses, der sich unsere Fragen anhörte. Er kam zu dem Schluss, dass wir auf einem guten Weg waren, aber noch einige Wissenslücken in Bezug auf die Grundlagen von Embedded Linux und Faustregeln in diesem Bereich hatten. Er versicherte uns auch, dass der Kurs flexibel genug sei, um auf unsere speziellen Fragen einzugehen.“ Daraufhin meldete sich Oedzes für den Embedded Linux-Kurs an.

Bessere Entscheidungen

Während er den Embedded Linux Kurs besuchte, profitierte Oedzes weiterhin von Nuyens‘ Erfahrung. Dabei wurde ihm klar, dass Buildroot für seinen Anwendungsfall möglicherweise besser geeignet gewesen wäre. „Hätte ich mich früher für den Kurs angemeldet, hätten wir uns vielleicht immer noch für Yocto entschieden, aber wir hätten Buildroot sicherlich mehr in Betracht gezogen.“

Yocto eignet sich hervorragend für Anwendungsfälle, in denen verschiedene Geräte jeweils eine hardwarespezifische Konfiguration sowie einen gemeinsamen Teil benötigen. Sie können dann ein Yocto-Projekt mit verschiedenen Unterkonfigurationen für jedes Gerät erstellen, um ein benutzerdefiniertes Linux-Image zu erzeugen, erklärt Oedzes. „Das ist ein leistungsfähiger Ansatz, aber für unseren Anwendungsfall brauchten wir das nicht: Es gibt nur ein Gerät und ein paar kleinere Hardware-Revisionen. Yocto war keine schlechte Wahl, aber im Kurs habe ich gelernt, dass Buildroot besser geeignet gewesen wäre.“

Der Kurs ermöglichte es Oedzes auch, verschiedene Sicherheitsaspekte seines E-Mobilitätsprojekts zu diskutieren. „Jasper hat mir die richtigen Fragen gestellt, z.B.: Welches Problem versuchen Sie zu lösen, vor welchen Bedrohungen wollen Sie sich schützen, ist Ihr Webinterface von außen zugänglich? Eigentlich ist das alles ganz logisch, aber ich habe viel gelernt, indem ich mit ihm über unser Produkt nachgedacht habe.“

Rückblickend würde Oedzes potenziellen Teilnehmern empfehlen, früher mit dem Embedded Linux-Kurs zu beginnen als er es tat. „Wenn Sie wissen, dass Sie ein eingebettetes Linux-System in Ihrem Produkt benötigen und über einige C/C++-Programmiererfahrung verfügen, ist der Kurs von unschätzbarem Wert. Jasper deckt verschiedene Optionen ab und erklärt, für welche Anwendungsfälle jede von ihnen geeignet ist.“

Oedzes fand auch Nuyens‘ Erklärung der Cross-Kompilierung von Software für eine andere Zielarchitektur für Anfänger sehr gut. „Ja, man kann das selbst herausfinden, aber wenn Sie mit Embedded Linux anfangen, bietet ein Kurs wie dieser einen ermutigenden Vorsprung und warnt Sie vor häufigen Fehlern.“

Obwohl Oedzes bereits Erfahrung mit Embedded Linux hatte, vermittelte ihm der Kurs wichtige Tipps und Erkenntnisse. „Ich habe mich mit neuen Tools vertraut gemacht und Jaspers wertvolle Ratschläge für unser E-Mobilitätsprojekt eingeholt. Die Erfahrungen aus unserem aktuellen Projekt in Verbindung mit den Erkenntnissen aus diesem Kurs geben mir viel mehr Selbstvertrauen, um bessere Entscheidungen für die zukünftigen Embedded Linux-Projekte von Beeliners zu treffen.“

Dieser Artikel wurde von Koen Vervloesem geschrieben., freier Mitarbeiter bei Bits&Chips.

Recommendation by former participants

By the end of the training participants are asked to fill out an evaluation form. To the question: 'Would you recommend this training to others?' they responded with a 8.5 out of 10.

Quantifizierung des ROI von Schulungen zur sicheren Codierung

Kapitalrendite für Schulungen zur sicheren Codierung
Wie wirken sich Schulungen zur sicheren Programmierung auf den ROI in der Praxis aus? Erfahren Sie mehr über einen transformativen Ansatz und seine greifbaren Geschäftsergebnisse.

Im geschäftlichen Bereich ist Agilität unerlässlich. Ein transformativer Ansatz besteht darin, Mitarbeiter als Humankapital und nicht als bloße Ressourcen zu betrachten. Die entscheidende Investition liegt in gezielten Schulungen – vor allem, wenn es um sichere Kodierungstransfers geht. Der Nutzen ist vielfältig, denn es entsteht eine Belegschaft, die in der Lage ist, das Unternehmen in Richtung Fortschritt zu lenken. Indem sie das menschliche Element wertschätzen und entwickeln, ebnen Unternehmen den Weg für nachhaltiges Wachstum und Erfolg.

Wenn Sie dieses Formular ausfüllen, werden Sie zu dem Online-Artikel weitergeleitet, in dem es darum geht, wie Sie die Ergebnisse Ihrer Secure Coding-Schulungen messen können.

 

„Technisches Wissen war nicht genug, ich musste das große Ganze sehen“

Sebastian Pricking von der deutschen Firma Trumpf weiß, wovon er spricht, wenn es um Laser geht. Doch als er befördert wurde, um die Entwicklung eines neuen faserbasierten Lasers zu leiten, reichten technische Kenntnisse allein nicht aus. Er musste sich in die Welt der Systemarchitektur einarbeiten. Deshalb belegte er den Kurs Systemarchitekt(ing) am High Tech Institute.

Trumpf ist einer der Hidden Champions in Deutschland. Auch wenn der Name Trumpf nicht jedem ein Begriff ist, baut die Gruppe Hightech-Maschinen für Kunden in aller Welt und beschäftigt dabei mehr als 16.000 Mitarbeiter. Der Schlüssel zum Erfolg der Gruppe ist, dass sie sich seit ihrer Gründung im Jahr 1923 in Familienbesitz befindet.

„Wir arbeiten an Innovationen, bei denen wir vielleicht fünf bis zehn Jahre warten müssen, bis wir eine Rendite sehen“, sagt Sebastian Pricking. „Wenn Ihr Unternehmen an der Börse notiert ist, ist es nicht immer möglich, so weit in die Zukunft zu blicken.“

Systemarchitekt(in)
Bildnachweis : André Boden (Trumpf)

Pricking arbeitet in der Abteilung für Laserentwicklung bei Trumpf. „Wir entwickeln die Konzepte und betreiben Grundlagenforschung“, sagt er. „Wir haben andere Kollegen, die auf die CAD-Konstruktionen und die Software spezialisiert sind. Mein Team kümmert sich um die Systemschnittstellen, die Grundprinzipien und die grundlegenden Konzepte.“

Sie entwerfen zum Beispiel das optische Layout eines neuen Lasers. „Wir entscheiden auf der Grundlage von Simulationen und Laborexperimenten, welche Arten von Spiegeln wir verwenden, welche Beschichtungen auf den Linsen und so weiter“, sagt Pricking. „Die eigentliche mechanische Integration wird von einem anderen Team durchgeführt.“

''This course gave me the tools and the framework which allowed me to see the big picture, and make sure I hadn’t forgotten anything.''

Faserlaser

Das Team von Pricking arbeitet an Festkörperlasern. Dazu gehören YAG-basierte Scheiben, aber auch faserbasierte Laser, bei denen das aktive Medium eine optische Faser ist. Pricking leitet derzeit ein Team, das einen neuen faserbasierten Laser entwickelt.

Die Hauptanwendungen der Laser von Trumpf liegen in der Industrie, wo sie im Allgemeinen zur Bearbeitung von Metallen eingesetzt werden. „Schweißen und Schneiden sind einige der Hauptanwendungen dieser Laser“, sagt Pricking. „Eine der größten Branchen, die wir bedienen, ist die Automobilindustrie. Vor allem die Elektromobilität treibt hier das Wachstum voran. Bei der Konstruktion von Batterien und Elektromotoren werden viele Laserprozesse benötigt. Dieser Markt wächst jetzt erheblich.“

Laser werden schon seit einiger Zeit für diese Anwendungen eingesetzt, aber das bedeutet nicht, dass es nicht noch mehr technologische Entwicklung zu tun gibt. „Parameter wie Leistung und Strahlqualität werden immer noch verbessert“, sagt Pricking. „Wir konzentrieren uns auch auf neue Funktionen. Wir entwickeln zum Beispiel gepulste Laser. Hier ist das Licht nicht kontinuierlich, sondern kommt in Pulsen mit einer höheren Spitzenleistung. Das bedeutet, dass wir die Pulse genau auf die Anwendung des Kunden abstimmen müssen.“

„Wir sind definitiv in der Lage, geeignete Leistungsstufen für alle Standardprozesse anzubieten“, sagt er. „Festkörperlaser bieten eine breite Palette von Leistungsstufen mit einer hervorragenden Wandsteckereffizienz. Einer unserer Entwürfe ist ein Scheibenlaser, der bis zu 24 Kilowatt infrarotes Laserlicht liefert.“

Ein Scheibenlaser hat ein dünnes aktives Medium, das auf einer Wärmesenke angebracht ist. Dies löst die Probleme mit der Kühlung. „In der Vergangenheit war das aktive Medium oft wie ein Stab geformt“, sagt Pricking. „Das hat aber zu Problemen bei der Kühlung geführt, weil es schwieriger ist, eine angemessene Kühlung zu erreichen, um die Wärme abzuführen. Hierfür gibt es zwei mögliche Lösungen. Entweder Sie nehmen den Stab und pressen ihn in eine Scheibenform, so dass die Wärme aufgrund der größeren Oberfläche leichter entweicht. Oder Sie nehmen den Stab und ziehen ihn, so dass er zu einem faserbasierten Laser wird. Wir bieten unseren Kunden beide Varianten an.“

''The entire experience was very entertaining. Me and the other students had dinner in the evenings, which allowed us to exchange experiences on how they do things in their companies.''

Architekt

Pricking hat erst vor kurzem die Leitung des Teams für faserbasierte Laser übernommen. Deshalb hat er den Kurs Systemarchitekt(ing) am High Tech Institute besucht.

„Ich bin eigentlich Experimentalphysiker“, sagt Pricking. „Ich kann die Laborarbeit machen, ich kann alle notwendigen Effekte simulieren und berechnen. Aber als ich das Team übernommen habe, hat sich meine Arbeit verändert. Ich musste die Anforderungen von den Beteiligten sammeln. Ich musste Ketten von Toleranzen erstellen. Ich hatte all diese Schnittstellen, die ich organisieren musste. Ich musste dafür sorgen, dass alles zusammenpasste. Ich musste ein Systemarchitekt sein. Es ging nicht um die technischen Aspekte der Aufgabe, sondern darum, wie ich das Design organisieren konnte. Die Schulung ‚Systemarchitekt(ing)‘ gab mir die Werkzeuge und den Rahmen, der es mir ermöglichte, das große Ganze zu sehen und sicherzustellen, dass ich nichts vergessen hatte. Der Rahmen zeigte mir, wo ich auf dem richtigen Weg war und wo etwas fehlte. Es ermöglichte mir, die Lücken zu schließen.

Der Kurs lehrte den Studenten die Anwendung des CAFCR-Rahmens.

„So konnte ich mich orientieren“, sagt Pricking. „Ich nehme an, dass es auch andere, konkurrierende Frameworks gibt. Aber dieses passt sehr gut zu unserer Arbeitsweise. Es hat uns bestätigt, dass wir auf dem richtigen Weg sind.“

Neben dem Inhalt gefiel Pricking auch die Art und Weise, wie der Kurs unterrichtet wurde. „Mir gefiel die Mischung zwischen einerseits der experimentellen und der Gruppenarbeit, bei der man zum Beispiel die Ergebnisse der Gruppe zur Lösung einer bestimmten Aufgabe präsentiert. Und auf der anderen Seite theoretische Präsentationen über das Modell und seine Funktionsweise. Der Kurs dauerte eine Woche und war sehr gut gefüllt. Die ganze Erfahrung war sehr unterhaltsam. Ich und die anderen Studenten haben abends zusammen zu Abend gegessen, so dass wir uns darüber austauschen konnten, wie sie in ihren Unternehmen vorgehen.“

Während des Kurses ‚Systemarchitekt(ing)‘ ging das Lehrerteam auf die Fragen der Studenten ein. „Ich habe zum Beispiel gefragt, welche Software zur Anwendung dieses Frameworks verwendet werden kann“, sagt Pricking. „Der Dozent erwähnte, dass dies nicht Teil des Kurses sei, aber er bot mir dennoch eine Liste von Softwaretools an, die wir verwenden könnten, zusammen mit den Vor- und Nachteilen jedes einzelnen.“

Die Lektionen, die er während des Kurses gelernt hat, wendet er jetzt in seinem Job an. „Mit diesem neuen Hintergrund habe ich alles noch einmal überprüft“, sagt Pricking. „Ich habe das Modell auf das Projekt angewandt. Ich sah, dass es ein paar Lücken gab, die wir schnell geschlossen haben. Dieser Kurs hat uns geholfen, unser Laserkonzept zu verbessern. Bei unserem nächsten Projekt werden wir sicher von Anfang an diesen Rahmen verwenden.“

Dieser Artikel wurde von Tom Cassauwers, freier Mitarbeiter von High-Tech Systems, geschrieben.

Recommendation by former participants

By the end of the training participants are asked to fill out an evaluation form. To the question: 'Would you recommend this training to others?' they responded with a 8.5 out of 10.