Linux sur micro-controlleur



Caractéristiques de µCLinux

uClinux (prononcer " you see Linux ") est l'acronyme de Micro Controller Linux. Le projet uClinux lancé en janvier 1998 est un portage de Linux version 2.0.x originellement sur des processeurs ne possédant d'unité de gestion mémoire MMU (Memory Management Unit).

C'est en fait à la base un portage de Linux sur microcontrôleur Motorola 68328 et dérivés que l'on trouvait par exemple dans les ordinateurs de poche (Handheld) PalmPilot. Outre la famille Motorola 683xx, il existe maintenant des portages uClinux pour processeurs Motorola ColdFire, i960 d'Intel, ARM7TDMI et depuis peu NIOS d'Altera.

uClinux basé sur le noyau Linux 2.4.x est maintenant opérationnel. L'absence de MMU impose quelques limitations d'usage par rapport à l'environnement Linux :

  • La mémoire virtuelle n'existe pas
  • L'appel système fork() n'est pas supporté. Il faudra utiliser alors une implémentation de l'appel système vfork() d'UNIX BSD (le processus parent est suspendu jusqu'à ce que le processus fils appelle exec() ou exit() )
  • L'appel système exec() ne peut pas charger actuellement une image binaire supérieure à 256 Ko.
  • La taille de la pile est fixe pour chaque processus


  • Outre le noyau uClinux, on retrouve dans la distribution les outils de développement (compilateur C, debugger...) GNU ainsi que le portage d'applications sous licence GPL (shells, serveurs Web...).

    Les caractéristiques de uClinux données pour le portage Motorola 683xx (sur cible µCSimm) sont :
  • API compatible avec Linux
  • taile du noyau inférieure à 512 Ko
  • Taille du noyau et commandes Linux inférieures à 900 Ko


  • Un point intéressant est que uClinux inclut la pile Linux TCP/IP complète; ce qui permet à l'équipement électronique de bénéficier d'une connectivité Internet (sur liaison série ou sur une interface Ethernet). RTLinux a aussi été porté sur uClinux pour avoir finalement un système embarqué Temps Réel.

    La plateforme µCSimm pour µClinux


    Les responsables du projet uClinux ont proposé originellement une plateforme matérielle à des fins de tests : le kit µCsimm. Ce kit comprend un module qui se présente sous la forme d'une barrette SIMM à 30 broches. Le module µCsimm se compose de :

  • Un microcontrôleur DragonBall EZ (68EZ328) basé sur un coeur Motorola 68000 à 16 MHz. Il intègre un contrôleur de DRAM, un port série (interface RS.232), une interface SPI, un contrôleur LCD (résolution QVGA), une sortie Timer et une sortie PWM.
  • Jusqu'à 18 E/S parallèles
  • Une horloge Temps Réel - calendrier
  • De la mémoire dynamique DRAM de 8 Mo
  • De la mémoire FLASH de 2 Mo
  • une interface Ethernet IEEE 802.3 10BaseT


  • Le module µCsimm est commercialisé par RtControl / Lineo sous forme d'un kit de développement comprenant le module µCsimm, un carte d'assemblage / développement (kit µCgardener), le CD de développement, l'alimentation au prix de 575 $

    Ce type de me plateforme permet de réaliser un grand nombre de petit système embarqué fortement configurables et evolutifs. L'architecture système de type Unix et basé sur un système GNU fournit l'ensemble des outils GNU et permet par exemple de faire tourner un mini-serveur Apache sur µCSimm.

    <-Précédent
    Suivant->