====== Linux embarqué ====== ===== Premiers pas ===== === Le matériel === Pour débuter dans le développement d'un projet, le kit KITAT91 de la société [[http://www.eukrea.com|Eukréa]] a été choisi. Ce kit comporte une carte module CPUAT91 qui est le cœur du système et une carte d'extension permettant d'alimenter le module en lui associant des périphériques. Voici un descriptif de ces éléments. == Module CPUAT91 == CPU : Atmel AT91RM9200\\ RAM : 32 Mo de SDRAM\\ ROM : 8 Mo de mémoire flash\\ Ethernet : composant transceiver 10/100 base T\\ Alimentation : 3,3 V régulé. == Carte d'extension == USB : 1 host ; 1 device\\ Ethernet : 1 RJ45\\ Séries : 5 ports séries avec plusieurs configurations possibles dont un port de débuggage\\ SDcard : un emplacement\\ Extensions : signaux d'entrées/sorties et des bus du CPU\\ === Le logiciel === Le kit est livré avec un CDROM comportant un environnement de développement pour Linux 2.6 et la documentation ayant trait au module et à la carte d'extension. == Environnement de développement == L'exemple d'installation de l'environnement de développement mentionné dans la documentation est donné pour une distribution de Linux FEDORA core 4 ou 5. Le CDROM fournit un ensemble de scripts et de fichiers qui permettrons de le construire. Une liaison internet est nécessaire car plusieurs fichiers seront téléchargés. L'environnement de développement se composera d'une chaine de compilation croisée, d'un logiciel permettant de construire un programme de démarrage initial (boot loader) et d'autres éléments adaptés à ce module et cette carte d'extension Dans le cas du développement sur lequel je travaille, l'environnement de développement n'a pas pu se construire correctement. Je me suis donc mis à essayer d'en reconstruire un qui conviendrait à mon cas. Cela est sans doute dû à la distribution de Linux que j'ai utilisée. Au cours du développement, j'utilise Ubuntu version 8.10 puis mis à jour en version 9.04. ==== Objectifs ==== Nous allons voir l'installation, la configuration et l'utilisation des outils du nouvel environnement de développement qui évoluera au fur et à mesure du développement. Ce site changera donc régulièrement. === Outil de compilation croisée (cross compilation tool chain) ==== Dans un premier temps nous installerons l'outil de compilation croisée qui est indispensable pour l'utilisation de tous les autres outils. Il permettra de construire les programmes pour la cible recherchée à partir d'une station de développement différente de la cible. Nous choisissons ELDK.\\ [[Linux embarqué:Outil de compilation croisée]] === Programme de chargement initial (boot loader) === Dans un second temps, nous installerons utilitaire qui permettra de construire un programme de chargement initial. Ce programme est en quelques sortes équivalent au BIOS d'un ordinateur personnel. Il permet, entre autres, de mettre en place les fonctions minimums de la carte pour que le système d'exploitation puisse être chargé.\\ Nous choisissons U-Boot.\\ [[Linux embarqué:Programme de chargement initial]] === Noyau Linux === En développement. === Accéder aux périphériques sous Linux === Dans cette partie, nous allons voir quelques methodes pour accéder aux périqhériques intégrés au microcontôleur afin de réaliser des programmes qui les utilisent lorsque Linux tourne sur la carte.\\ [[Linux embarqué:Accéder aux périphériques sous Linux]]