Marc Silanus

TP : OS linux embarqué (2017-2018)

TP 3 : Construction d’un système linux embarqué complet

Les ordinateurs embarqués fonctionnant sous le système d’exploitation Linux sont massivement présents dans les technologies modernes (transports, multimédia, téléphonie mobile, appareils photos …).
Contrairement aux versions de Linux destinées aux ordinateurs personnels et aux serveurs, les différents systèmes Linux embarqués sont conçus pour des systèmes aux ressources limitées.
Les systèmes embarqués sous Linux disposent généralement de peu de RAM et utilisent fréquemment de la mémoire flash plutôt qu'un disque dur. Comme ils sont souvent dédiés à un nombre de tâches réduites sur une cible matérielle bien définie, ils utilisent plutôt des versions du noyau Linux optimisées pour des contextes précis.
Les nécessités de déterminisme et de réactivité entraine parfois les concepteurs à se tourner vers des solutions temps réelles.

L’objectif de ce TP est de réaliser une distribution complète avec mise en œuvre d'un capteur opérationnel dès sa mise sous tension.

Buildroot

Dans le domaine de l'embarqué, on se retrouve souvent en situation de devoir  reconstruire un système complet à partir des sources, pour une architecture cible souvent différente de celle de l’hôte. La cross-compilation et l'organisation d'un système embarqué sont des étapes longues et fastidieuses, surtout lorsque les éléments du système à compiler nécessitent des adaptations. Il existe heureusement des outils libres qui simplifient et accélèrent cette tâche, en proposant généralement des fonctionnalités complémentaires intéressantes.

Buildroot est un de ces outils qui simplifie et automatise le processus de construction d'un système Linux complet pour un système embarqué. Afin d'atteindre cet objectif, Buildroot est capable de générer une chaîne de compilation croisée, un système de fichiers (rootfs), une image du noyau Linux (kernel) et un chargeur de démarrage (firmware/bootloader) pour la cible.

Projet

Le but de ce mini-projet est de réaliser un télémètre à ultrason avec indicateur local de dépassement et une IHM déportée.

  • L’indicateur local de dépassement de distance est une LED connectée à une broche GPIO ou la LED verte déjà présente sur la carte et qui sert normalement à visualiser les accès à la carte micro-SD.
  • Le télémètre est un capteur ultrasonic ranger V3 de chez Seeed
  • L’interface graphique est un site web permettant à l’utilisateur de lire les distances mesurées.
  • Le système doit pouvoir être accédé à distance au moyen d’une connexion sécurisé.

Fichier du TP : TP3-Buildroot