Wat doet een Embedded Software Engineer?
Computergebruikers zijn waarschijnlijk het meest bekend met de software die op hun besturingssystemen draait. Ze zijn echter niet zo ervaren met de software die de werking van bepaalde geavanceerde hardwarecomponenten regelt. Deze componenten worden geprogrammeerd door professionals die embedded software-ingenieurs worden genoemd.
Hardwarecomponenten die specifieke en gespecialiseerde functies uitvoeren, worden embedded systemen genoemd . Deze fungeren als computers binnen computers, met hun eigen processors en geheugen. Ingebedde systemen nemen gegevens op van specifieke hardwarecomponenten, voeren hun programmering uit en geven vervolgens gegevens door aan andere hardwareonderdelen in de machine. De rol van een ingebed systeem kan zo complex zijn als het converteren van gegevens van een interne antenne naar een gegevensindeling die de rest van het apparaat kan gebruiken, of zo eenvoudig als het verzenden van specifieke signalen bij activering door een knop. Een embedded software engineer maakt de programma's die deze apparaten draaien.
De taak van een embedded software-engineer is vergelijkbaar met software-engineers die programma's voor desktopcomputers maken. De broncode voor het converteren van gegevens in het ene formaat naar het andere is op een pc hetzelfde als in een ingebed systeem. Waar de taak van de embedded software engineer anders is, is het toevoegen van extra code voor het programma om te worden uitgevoerd op het gespecialiseerde stuk hardware dat als het embedded systeem fungeert.
De besturingssystemen waarop desktopapplicaties worden uitgevoerd, bevatten verschillende stuurprogramma's. Dit is geschikt voor deze systemen vanwege het bereik van hardware dat zich in de computer zou kunnen bevinden en de software die een gebruiker mogelijk uitvoert. Ingesloten systemen staan op zichzelf en voeren slechts één programma uit. Om deze reden hoeft de programmeur slechts een beperkt aantal stuurprogramma's en het programma zelf in het beperkte geheugen van het apparaat te laden. De taak van de embedded software-engineer omvat meestal het bepalen van het kleinste aantal stuurprogramma's dat het programma nodig heeft om het embedded apparaat te bedienen.
Nadat een embedded software-engineer een apparaat heeft geprogrammeerd, moet zijn of haar werk worden gedocumenteerd. Ingebedde systemen worden nooit alleen gebruikt, maar als onderdeel van een groter project. Om gebruik te kunnen maken van het apparaat, moeten andere technici informatie kennen zoals:
- welke gegevens het embedded systeem verwacht
- welk gegevensformaat de programmering ervan verwacht
- hoe het apparaat op verschillende ingangen reageert
- het formaat van de gegevens die het apparaat zal uitvoeren
Deze informatie wordt vervolgens opgenomen in de technische documentatie die de embedded software-ingenieurs zelf produceren, vaak in de vorm van een handleiding. Soms maken technische schrijvers, in plaats van de eigenlijke ingenieurs, dergelijke handleidingen op basis van de aantekeningen die de software-ingenieurs verstrekken. Documentatie waarnaar verwezen moet worden is van onschatbare waarde voor gebruikers.