De kneepjes van het vak leren in Embedded Linux

Embedded Linux
Toen Johan Oedzes begon aan de Embedded Linux-cursus aan het High Tech Institute, was hij geen absolute beginner in het onderwerp. Terugkijkend op zijn reis zegt hij echter: “Ik heb er spijt van dat ik de cursus niet eerder heb gevolgd.”

“De combinatie van software en elektronica heeft altijd mijn interesse gewekt vanwege de interactie met de tastbare wereld”, zegt Johan Oedzes. Deze interesse leidde hem naar de Universiteit Twente, waar hij zijn bachelor elektrotechniek afrondde en zich vervolgens verdiepte in het vakgebied met een master embedded systems.

Na zijn afstuderen kreeg Oedzes een baan bij een groot bedrijf in Hengelo, waar hij zich richtte op C++ software engineering op Linux, zij het niet in de embedded zin, legt hij uit. “Hoewel ik daar veel heb geleerd, begon het me tegen te staan dat ik niet aan embedded systemen werkte. Ik had ook het gevoel dat ik opereerde binnen de beperkingen die anderen hadden bedacht. Ik wilde ook het innovatieve en verkennende deel van engineering doen.”

Een van zijn meer ervaren collega’s deelde het gevoel van Oedzes en stapte over naar Beeliners, eveneens gevestigd in Hengelo. De twee hielden contact en zijn ex-collega vroeg Oedzes of hij zijn contactgegevens mocht delen met de eigenaren van het bedrijf. Toen commercieel directeur Dennis Wissink twee jaar geleden belde, besloot Oedzes de stap te wagen en ging hij bij Beeliners aan de slag als embedded software engineer.

E-mobiliteit

Beeliners sloot meteen aan bij de interesses van Oedzes, zegt hij. “Al onze producten combineren een hardwareontwerp met embedded software-engineering om een prototype te maken of een proof of concept af te leveren voor onze klanten. Dergelijke projecten kunnen bestaan uit compacte medische apparaten, intelligente fitnessapparatuur of innovatieve e-mobiliteitsapparaten. Momenteel werk ik aan een product in de e-mobiliteitssector.”

Een van Beeliners’ klanten was niet tevreden met een externe e-mobility controle-eenheid en benaderde het bedrijf voor een oplossing. Op vraag van de klant begon Beeliners met de ontwikkeling van een eigen oplossing. De controle-eenheid is verbonden met twee externe systemen: het e-mobility toestel enerzijds en het internet anderzijds. De internetverbinding maakt communicatie met een backend server en ontvangst van firmware-updates mogelijk.

“We hebben het systeem in twee delen opgesplitst,” legt Oedzes uit. “Alles wat real-time gedrag nodig heeft en strikte timingvereisten heeft, draait op een subsysteem met een microcontroller, dat interfaced met het e-mobility apparaat. De code voor de backend-verbinding, de webinterface en de bedrijfslogica van het product draaien op een ingebed Linux-systeem met een C++-toepassing.”

''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''

Flexibiliteit

Hoewel hij al enige ervaring had met het gebruik van embedded Linux-systemen tijdens zijn studie aan de universiteit, was het opzetten ervan onbekend terrein voor Oedzes. Het was tijdens het e-mobiliteitsproject bij Beeliners dat hij zichzelf bijschoolde en met succes een op maat gemaakt embedded Linux-systeem maakte op basis van het Yocto-project. “Er is veel informatie te vinden over tools om embedded Linux distributies te maken, zoals Yocto en Buildroot. Het was even zoeken en experimenteren, maar uiteindelijk hadden we een werkend systeem, zelfs inclusief functionaliteit voor updates op afstand.”

“Op dat moment leek Yocto de meest geaccepteerde oplossing. Gerenommeerde bedrijven die werken aan embedded Linux gebruikten het en veel softwareleveranciers bieden een Yocto-recept om pakketten van hun software te maken met Bitbake. Recepten zijn een krachtig concept en het is een van de redenen om Yocto te kiezen voor dit project.”

Omdat dit de eerste keer was dat ze een embedded Linux systeem maakten, hadden Oedzes en zijn collega’s een aantal vragen: “Hoe weet ik dat mijn product goed is? Doet mijn embedded Linux systeem wat het moet doen? Is het veilig?” Beeliners was al begonnen met een eerste veldtest met een werkend prototype, maar ze wilden eerst hun aanpak valideren voordat ze het product definitief maakten.

Embedded Linux

Aanvankelijk dacht Beeliners erover om externe expertise in te huren voor een uitgebreide evaluatie. Ze wilden echter een snellere, lichtere aanpak en gaven er de voorkeur aan om deze expertise intern op te bouwen, benadrukt Oedzes. “Deze zoektocht naar kennis bracht ons ertoe om trainingsopties te onderzoeken. Gezien een eerdere positieve ervaring van een van onze collega’s met de cursus ‘Good software architecture‘ van High Tech Institute, gingen we op zoek naar een vergelijkbaar programma voor embedded Linux, en we ontdekten dat zij er een hadden.”

''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.''

Omdat Oedzes geen absolute beginner was op het gebied van embedded Linux, vroeg hij zich af of de cursus relevant voor hem was. “We hadden een conference call met Jasper Nuyens, de trainer van de cursus, die naar onze vragen luisterde. Hij concludeerde dat we goed op weg waren, maar dat we nog wat hiaten hadden in onze kennis van de basisprincipes van embedded Linux en de vuistregels in dit domein. Hij verzekerde ons ook van de flexibiliteit van de cursus om tegemoet te komen aan onze specifieke vragen.” Oedzes schreef zich daarom in voor de embedded Linux-cursus.

Betere beslissingen

Tijdens het volgen van de embedded Linux cursus bleef Oedzes profiteren van Nuyens’ ervaring. Het onthulde hem dat Buildroot mogelijk geschikter zou zijn geweest voor zijn use case. “Als ik me eerder had ingeschreven voor de cursus, hadden we misschien nog steeds voor Yocto gekozen, maar we zouden zeker meer rekening hebben gehouden met Buildroot.”

Yocto blinkt uit in gebruikssituaties waar verschillende apparaten elk een hardware-specifieke configuratie vereisen, evenals een gemeenschappelijk onderdeel. Je kunt dan een Yocto project bouwen met verschillende subconfiguraties voor elk apparaat om een aangepast Linux image te maken, legt Oedzes uit. “Dit is een krachtige aanpak, maar we hadden dit niet nodig voor onze use case: het heeft één apparaat en slechts een paar kleine hardware revisies. Yocto was geen slechte keuze, maar tijdens de cursus leerde ik dat Buildroot beter zou hebben gepast.”

Tijdens de cursus kon Oedzes ook verschillende beveiligingsaspecten van zijn e-mobiliteitsproject bespreken. “Jasper stelde me de juiste vragen, zoals: welk probleem probeer je op te lossen, tegen welke bedreigingen wil je je beschermen, is je webinterface extern toegankelijk? Het is eigenlijk allemaal heel logisch, maar ik heb veel geleerd door met hem over ons product te redeneren.”

Achteraf gezien zou Oedzes potentiële deelnemers aanraden om eerder met de embedded Linux cursus te beginnen dan hijzelf heeft gedaan. “Als je weet dat je een embedded Linux systeem nodig hebt in je product en je hebt enige C/C++ programmeerervaring, dan is de cursus enorm waardevol. Jasper behandelt verschillende opties en legt uit voor welke use cases elk van hen geschikt is.”

Oedzes vond ook Nuyens’ uitleg over het cross-compileren van software voor een andere doelarchitectuur heel goed voor beginners. “Ja, dit zelf uitzoeken is mogelijk, maar als je begint met embedded Linux biedt een cursus als deze een bemoedigende voorsprong en waarschuwt je voor veelgemaakte fouten.”

Hoewel Oedzes al ervaring had met embedded Linux, wapende de cursus hem met belangrijke tips en inzichten. “Ik maakte mezelf vertrouwd met nieuwe tools en verzamelde Jasper’s waardevolle advies over ons e-mobility project. De ervaring van ons huidige project gekoppeld aan de inzichten uit deze cursus geven me veel meer vertrouwen om betere beslissingen te nemen voor Beeliners toekomstige embedded Linux projecten.”

Dit artikel is geschreven door Koen Vervloesem, freelancer voor 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.

De ROI van secure coding trainingen kwantificeren

Rendement op investering voor secure coding trainingen
Hoe beïnvloeden secure coding trainingen de ROI in de praktijk? Verdiep je in een transformatieve aanpak en de tastbare bedrijfsresultaten.

In het bedrijfsleven is wendbaarheid essentieel. Een transformatieve aanpak is om werknemers te zien als menselijk kapitaal in plaats van louter als middelen. De cruciale investering ligt in gerichte training – vooral als het gaat om veilige coderingstrainingen. Het rendement is veelzijdig, omdat het een personeelsbestand oplevert dat is toegerust om de organisatie naar vooruitgang te leiden. Door het menselijke element te waarderen en te ontwikkelen, maken organisaties de weg vrij voor duurzame groei en succes.

Als u dit formulier invult, wordt u doorgestuurd naar het online artikel over hoe u de bedrijfsresultaten van Secure coding trainingen kunt meten.

 

“Technische kennis was niet genoeg, ik moest het grote plaatje zien”

Sebastian Pricking van het Duitse bedrijf Trumpf weet waar hij het over heeft als het om lasers gaat. Maar toen hij werd gepromoveerd om de ontwikkeling van een nieuwe vezellaser te leiden, was technische kennis alleen niet genoeg. Hij moest in de wereld van systeemarchitectuur stappen. Daarom volgde hij de cursus Systeemarchitect(en) aan het High Tech Institute.

Trumpf is een van de verborgen kampioenen van Duitsland. Ook al is het geen bekende naam, de Trumpf Groep bouwt hightech machines voor klanten over de hele wereld en heeft daarbij meer dan 16.000 mensen in dienst. De sleutel tot het succes van de groep is dat het sinds de oprichting in 1923 een familiebedrijf is.

“We werken aan innovaties waarbij we misschien vijf tot tien jaar moeten wachten voordat we een return-on-investment zien”, zegt Sebastian Pricking. “Als je bedrijf beursgenoteerd is, is het niet altijd mogelijk om zo ver vooruit te kijken.”

systeemarchitect
Foto : André Boden (Trumpf)

Pricking werkt op de laserontwikkelingsafdeling bij Trumpf. “Wij ontwikkelen de concepten en doen basisonderzoek”, zegt hij. “We hebben andere collega’s die gespecialiseerd zijn in de CAD-ontwerpen en software. Mijn team houdt zich bezig met de systeeminterfaces, de fundamentele principes en de basisconcepten.”

Ze ontwerpen bijvoorbeeld de optische lay-out van een nieuwe laser. “We beslissen welke soorten spiegels we gebruiken, de coatings op de lenzen, enzovoort, op basis van simulaties en laboratoriumexperimenten”, zegt Pricking. “De daadwerkelijke mechanische integratie wordt door een ander team gedaan.”

''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.''

Vezellaser

Het team van Pricking werkt aan vastestoflasers. Hieronder vallen op YAG gebaseerde schijven, maar ook vezellasers, waarbij het actieve medium een optische vezel is. Pricking staat momenteel aan het hoofd van een team dat een nieuwe vezellaser ontwerpt.

De belangrijkste toepassingen van de lasers van Trumpf liggen in de industrie, waar ze over het algemeen worden gebruikt om metalen te behandelen. “Lassen en snijden zijn enkele van de belangrijkste toepassingen van deze lasers”, zegt Pricking. “Een van de grootste industrieën die we bedienen is de automobielindustrie. Vooral elektromobiliteit zorgt hier voor groei. Bij de bouw van batterijen en elektromotoren zijn veel laserprocessen nodig. Die markt groeit nu aanzienlijk.”

Lasers worden al een tijdje gebruikt in deze toepassingen, maar dat betekent niet dat er geen technologische ontwikkeling meer nodig is. “Parameters zoals vermogen en straalkwaliteit worden nog steeds verbeterd”, zegt Pricking. “We richten ons ook op nieuwe functies. We ontwikkelen bijvoorbeeld gepulseerde lasers. Hierbij is het licht niet continu, maar komt het in pulsen met een hoger piekvermogen. Dat betekent dat we de pulsen precies goed moeten timen voor de toepassing van de klant.”

“We zijn zeker in staat om geschikte vermogensniveaus te bieden voor alle standaardprocessen”, zegt hij. “Solid-state lasers bieden een breed scala aan vermogensniveaus met een uitstekende wall-plug efficiëntie. Een van onze ontwerpen is een schijflaser, die tot 24 kilowatt infrarood laserlicht biedt.”

Een schijflaser heeft een dun actief medium dat bovenop een koellichaam wordt geplaatst. Dit lost problemen met koeling op. “In het verleden had het actieve medium vaak de vorm van een staaf”, zegt Pricking. “Maar dat gaf problemen met de koeling, omdat het moeilijker is om een goede koeling toe te passen om de warmte weg te krijgen. Er zijn twee mogelijke oplossingen. Of je neemt de staaf en drukt hem in een schijfvorm, zodat de warmte gemakkelijker ontsnapt door het grotere oppervlak. Of je neemt de staaf en trekt eraan, zodat het een vezellaser wordt. We bieden beide ontwerpen aan klanten aan.”

''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.''

Architect

Pricking is pas sinds kort lead in het fiber-based laserteam. Daarom volgde hij de opleiding tot systeemarchitect aan het High Tech Institute.

“Ik ben van oorsprong een experimenteel natuurkundige”, zegt Pricking. “Ik kan het labwerk doen, ik kan alle benodigde effecten simuleren en berekenen. Maar toen ik het team overnam, veranderde mijn werk. Ik moest de eisen van de belanghebbenden verzamelen. Ik moest tolerantieketens maken. Ik had al die interfaces die ik moest organiseren. Ik moest ervoor zorgen dat alles bij elkaar paste. Ik moest een systeemarchitect zijn. Het ging niet om de technische aspecten van het werk, maar om hoe ik het ontwerp moest organiseren. De training ‘Systeemarchitect(en)’ gaf me de tools en het raamwerk waarmee ik het grote geheel kon zien en ervoor kon zorgen dat ik niets vergat. Het raamwerk liet me zien waar ik op de goede weg was en waar iets ontbrak. Zo kon ik de gaten dichten.”

Tijdens de cursus leerde de student het CAFCR-raamwerk toe te passen.

“Het stelde me in staat om me te oriënteren”, zegt Pricking. “Ik neem aan dat er ook andere, concurrerende, frameworks zijn. Maar deze past mooi bij onze manier van werken. Het bevestigde dat we op de goede weg waren.”

Naast de inhoud vond Pricking ook de manier waarop de cursus werd gegeven erg goed. “Ik hield van de mix tussen enerzijds het experimentele en groepswerk, waarbij je bijvoorbeeld de resultaten van de groep presenteert om een bepaalde uitdaging op te lossen. En aan de andere kant theoretische presentaties over het model en hoe het werkt. De cursus duurde een week, en die was aardig gevuld. De hele ervaring was erg vermakelijk. Ik en de andere studenten dineerden ’s avonds, waardoor we ervaringen konden uitwisselen over hoe zij dingen doen in hun bedrijven.”

Tijdens de cursus ‘Systeemarchitect(ing)’ was het docententeam ontvankelijk voor de vragen van de studenten. “Ik vroeg bijvoorbeeld welke software kan worden gebruikt om dit framework toe te passen”, zegt Pricking. “De docent gaf aan dat dit geen onderdeel van de cursus was, maar hij bood me toch een lijst met softwaretools die we konden gebruiken, samen met de voor- en nadelen van elk.”

De lessen die hij tijdens de cursus leerde, past hij nu toe op zijn werk. “Met deze nieuwe achtergrond heb ik alles opnieuw gecontroleerd”, zegt Pricking. “Ik heb het model toegepast op het project. Ik zag dat er een paar gaten waren, die we snel hebben gedicht. Deze cursus heeft ons geholpen ons laserconcept te verbeteren. Ons volgende project zal zeker vanaf het begin dit framework gebruiken.”

Dit artikel is geschreven door Tom Cassauwers, freelancer voor High-Tech Systems.

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.