Pourquoi parle t’on d’informatique ou de logiciel embarqué ?

Ce premier article n’est pas technique.

Aujourd’hui l’informatique embarquée est au cœur du quotidien. C’était déjà vrai avant la révolution numérique avec des appareils de la vie de tous les jours, comme une banale machine à laver par exemple. La machine à laver contient différents modes de lavage que l’on sélectionne selon le besoin (température, lavage délicat, etc…). Ces différents modes sont connus de votre machine à laver. Elle sait quoi faire en fonction de chaque mode prévu à l’avance. J’insiste sur cette notion c’est important. La machine à laver ne se mettra pas à inventer un nouveau mode de lavage en cours de route, pas plus qu’elle ne contestera un lavage à 70°C sur du délicat si vous vous êtes trompés. On y arrivera (encore que le domaine de l’intelligence artificiel est celui qui a le moins progressé en 30 ans), mais dans l’état actuel des choses votre machine n’est pas intelligente, elle est déterministe, elle fait ce qu’on lui dit de faire et uniquement ce qu’elle sait faire.  Il n’y a pas de place pour l’improvisation. D’ailleurs les constructeurs de machine à laver ne s’y trompent pas et prévoient une interface homme-machine (IHM) en conséquence. Chaque bouton a son utilité et permet de lancer une séquence connue. Ne comptez pas trouver un bouton qui ne permette pas de dialoguer avec votre machine à laver ou qui permette de lui demander d’exécuter une tâche qu’elle ne sait pas faire. Si c’est le cas c’est une erreur de conception (design, bug informatique). La machine ne fait que ce qu’elle sait faire, comme on lui a appris. Si un résultat inattendu se produit c’est une erreur humaine qui en est à l’origine.

Les machines étant devenues beaucoup plus complexes il n’est cependant pas impossible de les détourner de leur utilité première (ex : le kinect de microsoft utilisé pour des recherches dans le domaine médical). C’est ce que l’on appelle le hacking qui contrairement à une idée reçue persistante n’est pas le synonyme de piratage. De même, un pirate est forcément un hacker mais l’inverse n’est pas toujours vrai. Des sites comme hackaday regorgent d’exemples de hack brillants dans tous les domaines par des gens dont le but est d’explorer, apprendre ou répondre à un besoin.

Aujourd’hui le marché a explosé et nous sommes cernés de toute part par les nouvelles technologies : entre le marché de la téléphonie mobile, où un téléphone d’entrée de gamme est plus puissant que les PC du début des années 90, celui des tablettes tactiles, des télévisions connectées et du sans-fil.

Chacun de ces appareils doit pouvoir interagir avec son environnement et son utilisateur. Pour cela, il faut lui dire comment réagir à un certain type d’événements car il ne le fera pas tout seul. Pourquoi me direz-vous ? Pour répondre correctement à cette question il faudrait que je m’étale sur quelques centaines de pages d’explications et je le ferai à coup sûr avec énormément moins de talent que Charles Petzold dans son excellent ouvrage CODE The Hidden Language of Computer Hardware and Software.

Image

Je recommande cet ouvrage à quiconque souhaite saisir l’essence du monde numérique dans lequel nous vivons. Ce livre s’adresse à tous ; et ceux qui possèdent un bagage informatique et/ou électronique recolleront toutes les pièces du puzzle avec bonheur !

Du télégraphe à l’avènement de l’ordinateur personnel, Charles Petzold construit à l’aide de relais et d’ampoules des briques toujours plus complexes avec des explications simples et claires.

Pour le moment contentons nous de retenir que là où les premiers appareils étaient assez simples (en schématisant, j’appuie sur un bouton j’obtiens un résultat), les appareils modernes se sont complexifiés de plus en plus, traitant des millions d’informations à la seconde et équipés de toujours plus de puces électroniques. La commande de l’ensemble se fait au travers d’un programme informatique chargé dans la mémoire morte présente dans tous les appareils modernes. On parle de logiciel embarqué car celui-ci est lié à la machine et fait partie intégrante de l’ensemble. Si vous déplacez votre téléphone, vous déplacez le programme embarqué dans la mémoire de votre téléphone.

Et pour les ordinateurs alors ? Ce sont des logiciels embarqués ?

Oui ! Même si cette notion est moins évidente en raison de la complexité du système et de sa polyvalence d’utilisation, le système d’exploitation est un logiciel embarqué. Les cartes graphiques modernes sont équipées de leur propre processeur, afin de décharger un peu le processeur et un programme permet d’échanger des données.

Ceci permet d’introduire un dernier terme, celui de microcontrôleur. Un microcontrôleur regroupe en une seule puce, les composants de base d’un ordinateur (mémoire, processeur, périphérique d’entrées/sorties). Il se caractérise par un coût réduit, une faible consommation électrique et une vitesse moins rapide qu’un ordinateur.

Image  Le motorola 68000

Cet article sert un peu d’introduction au prochain article qui s’adressera aux débutants souhaitant s’initier au domaine de l’informatique embarquée. Je détaillerai comment réaliser une plaquette de développement pour microcontrôleur 8 bits à moindre frais et vous guiderai dans la programmation de votre premier programme.

Publicités