Linux embarqué ‐ Brève introduction
On utilise souvent le terme “système embarqué” comme (mauvaise) traduction de “embedded system” qui signifie plutôt “système incorporé, intégré…”.
Système embarqué
Un système embarqué est un équipement informatique dédié à une tâche particulière, et qui doit travailler de manière autonome. Il peut éventuellement offrir une interaction avec un utilisateur humain (par exemple le panneau de commande d’un équipement électro-ménager), mais doit se comporter de manière autosuffisante pour tous les aspects informatiques (démarrage des applications, mise à jour du logiciel, récupération en cas d’arrêts intempestifs, surveillance du code applicatif et des ressources etc.)
Matériel
Lorsque les interactions entre le système embarqué et l’extérieur restent relativement simples, il est tout à fait possible d’utiliser un micro-contrôleur. Des systèmes d’exploitation open source sont disponibles pour ce type de matériel, comme Zephyr.
Toutefois dès qu’il faut utiliser des protocoles de communication assez complexes (ethernet, wifi…), lire ou stocker des données sur des périphériques de stockage (USB, SSD…) ou proposer une interface graphique à l’utilisateur, on préfère s’appuyer sur un micro-processeur.
Logiciel
Pour des raisons de performance et de coût, Linux est souvent le système d’exploitation (operating system) choisi pour assurer le support logiciel.
Les distributions Linux habituellement utilisées sur les PC ou les serveurs (Ubuntu, Debian, RedHat, etc ) sont peu adaptées au domaine des systèmes embarqués. Elles ne sont pas prévues pour résister à des coupures d’alimentation électrique, ni pour être mises à jour à distance de manière sécurisée.
Pour produire un système embarqué robuste et résilient, deux outils cohabitent aujourd’hui : Buildroot et Yocto Project.
Buildroot est plus simple à utiliser que Yocto. Toutefois le nombre de packages directement disponibles et le nombre de machines supportées, sont sensiblement moins importants que ceux de Yocto.
Formations
Nous proposons différentes formations sur les systèmes embarqués ainsi que du support technique sur ces différents systèmes. Pour en savoir plus : « Formations Linux embarqué ».