Que fait un ingénieur logiciel embarqué ?

Les utilisateurs d’ordinateurs sont probablement plus familiers avec les logiciels qui s’exécutent sur leurs systèmes d’exploitation. Ils n’ont cependant pas beaucoup d’expérience avec le logiciel qui régule le fonctionnement de certains composants matériels sophistiqués. Ces composants sont programmés par des professionnels appelés ingénieurs logiciels embarqués.

Les composants matériels qui exécutent des fonctions spécifiques et spécialisées sont appelés systèmes embarqués. Ceux-ci agissent comme des ordinateurs dans les ordinateurs, avec leurs propres processeurs et mémoire. Les systèmes embarqués récupèrent les données de composants matériels spécifiques, exécutent leur programmation, puis transmettent les données à d’autres composants matériels de la machine. Le rôle d’un système embarqué pourrait être aussi complexe que de convertir les données d’une antenne interne en un format de données que le reste de l’appareil peut utiliser, ou aussi simple que de transmettre des signaux spécifiques lorsqu’il est activé par un bouton. Un ingénieur logiciel embarqué crée les programmes qui exécutent ces appareils.

Le travail d’un ingénieur logiciel embarqué est similaire à celui des ingénieurs logiciels qui créent des programmes pour les ordinateurs de bureau. Le code source pour convertir les données d’un format dans un autre est le même sur un ordinateur personnel que dans un système embarqué. Là où le travail de l’ingénieur logiciel embarqué diffère, c’est en ajoutant du code supplémentaire pour que le programme s’exécute sur le matériel spécialisé faisant office de système embarqué.

Les systèmes d’exploitation sur lesquels les applications de bureau s’exécutent incluent une variété de logiciels pilotes. Ceci est approprié pour ces systèmes en raison de la gamme de matériel qui pourrait être dans l’ordinateur et du logiciel qu’un utilisateur peut exécuter. Les systèmes embarqués sont autonomes et n’exécutent qu’un seul programme. Pour cette raison, le programmeur n’a besoin de charger qu’un nombre limité de pilotes, et le programme lui-même, dans la mémoire limitée de l’appareil. Le travail de l’ingénieur logiciel embarqué consiste généralement à déterminer le plus petit nombre de pilotes dont le programme aura besoin pour faire fonctionner le périphérique embarqué.

Une fois qu’un ingénieur logiciel embarqué a fini de programmer un appareil, son travail doit être documenté. Les systèmes embarqués ne sont jamais utilisés seuls, mais dans le cadre d’un projet plus vaste. Afin d’utiliser l’appareil, les autres ingénieurs doivent connaître des informations telles que :

quelles données le système embarqué attend

quel format de données sa programmation attend

comment l’appareil réagira aux différentes entrées

le format des données que l’appareil va sortir

Ces informations sont ensuite incluses dans la documentation technique que les ingénieurs logiciels embarqués produisent eux-mêmes, souvent sous la forme d’un manuel. Parfois, les rédacteurs techniques, plutôt que les ingénieurs eux-mêmes, créent de tels manuels, à partir des notes fournies par les ingénieurs logiciels. Avoir de la documentation à laquelle se référer est inestimable pour les utilisateurs.