Armadeus Project : Linux Embarqué professionnel accessible à tous !

Magazine
Marque
Open Silicium
Numéro
3
|
Mois de parution
juillet 2011
|
Domaines


Résumé

Eh oui, bientôt 7 ans déjà que l’idée du projet Armadeus a germé dans le cerveau de ses concepteurs. Trois modèles de carte et plus de 300 membres autour du monde, voici un petit historique à destination de ceux qui aimeraient en savoir plus.


Body

1. La genèse du projet

Nous sommes mi 2004 : un petit groupe d’ingénieurs motivés se constitue et décide de créer sa propre carte de développement embarqué à base de processeurs ARM, qui soit moins chère que ce qui existe à cette époque, plus facile à utiliser, c’est-à-dire sans avoir besoin de sonde JTAG, tournant grâce à des logiciels libres et idéalement intégrant un FPGA qui est alors le jouet préféré de certains d’entre eux.

Quelques mois après, début 2005, naissait l'APM9328 : un module à base de processeur i.MXL tournant à 200Mhz avec 16Mo de SDRAM et 8Mo de FLASH.

Une carte d’accueil allait voir le jour peu de temps après, au printemps 2005, rajoutant une interface Ethernet et un FPGA Xilinx Spartan 3. La preuve de la faisabilité technique du projet était faite. Le concept de module processeur accompagné d’une carte d’accueil est alors retenu.

Le premier BSP (Board Support Package) avec GCC/Buildroot/U-Boot/Linux naît au printemps 2005 en même temps que démarre le design de l’APF9328. Le « F » signant « Full » car l'Ethernet et le FPGA sont alors intégrés au niveau du module processeur. Les connecteurs au pas de 2,54mm de l’APM9328 sont abandonnés au profit de connecteurs « Hirose » plus faciles à utiliser et permettant de mettre à disposition des utilisateurs un plus grand nombre de signaux/fonctionnalités. Un serveur CVS privé est utilisé à l’époque pour centraliser les développements.

2. Et pourquoi garder ça confidentiel ?

Hiver 2005 : les créateurs décident que le projet est suffisamment avancé pour intéresser d’autres personnes et choisissent de lui donner une existence légale sous la forme d’une association à but non lucratif. Grand rassemblement donc autour d’une bière pour choisir le nom du projet. L’alcool (à consommer avec modération !) et le proche 250ème anniversaire de la naissance de Mozart aidant, le nom « Armadeus » est retenu, contraction de « ARM » et de « Amadeus ».

Puis en janvier 2006, c’est l’enregistrement officiel de l’association Loi 1907 « Armadeus Project » à Mulhouse (eh oui, personne n’est parfait :-)).

Février 2006 : 1ère version publique du BSP Armadeus : 0.1, le « collector ». Le projet est migré sur SourceForge pour permettre à chacun des nouveaux membres de suivre son évolution. Vient ensuite l’envie de partager ce travail avec le plus grand nombre ; fin 2006 : l’existence du projet est rendue publique par une dépêche sur linuxfr.org [1] et en mars 2007 est publié un article dans le numéro 92 de GLMF [2], juste après la sortie de la révision majeure (2.0) du BSP Armadeus pour les cartes APF9328.

Les 100 premiers adhérents à l’association seront atteints au printemps 2007.

3. L’évolution

Eté 2007, devant le succès rencontré par la première mouture de l’APF9328, les fondateurs du projet décident de créer la société ARMadeus Systems afin d’assurer la production industrielle des cartes à « grande échelle » car les premières petites séries étaient, en effet, financées sur les deniers propres des fondateurs, mais aussi afin de répondre à l’intérêt croissant d’industriels voulant développer des solutions dérivées de l’architecture. ARMadeus Systems a permis de financer les coûts de développement de la génération suivante, l’APF27.

Ensuite, les 2 structures vont cohabiter l’une à côté de l’autre ; début 2009 verra la sortie de l’APF27 (ARM9 à 400MHz et FPGA Spartan3A) qui rencontrera un plus grand succès encore que l’APF9328 et cette année 2011 a vu l’arrivée de l’APF51, la carte de développement Linux embarqué la plus complète du moment (Cortex-A8 à 800Mhz et FPGA Spartan6).

À ce jour, l’association dépasse les 300 membres, qui sont de plus en plus issus des quatre coins du globe depuis qu’Armadeus Project se fait connaître hors de nos frontières. C’est avec cette idée d’ouverture que la langue officielle du forum est devenue l’anglais.

4. Adhésion

Pour adhérer à l’association, rien de plus simple, il suffit de remplir un bulletin et ensuite d’acquérir, à tarif préférentiel, une carte de développement APF au choix sur la boutique en ligne d’ARMadeus Systems.

L’inscription est réservée aux personnes physiques et la quantité de cartes par membre est limitée [3].

5. Et après ?

L’intérêt d’adhérer à l’association est de pouvoir recevoir du support sur l’utilisation de ces cartes ainsi que sur la conception de systèmes embarqués à base de ces cartes. Le support se fait soit par la mailing-list du projet SourceForge [4] soit par notre canal IRC dédié sur rezosup.org:#armadeus.

La majorité des membres actuels ont pour objectif de se former sur les technologies Linux embarqué/FPGA ou de concevoir des appareils robotisés (FPGA aidant). Les meilleurs projets sont récompensés chaque année par un concours.

Venez rencontrer les membres du projet ARMadeus lors des prochaines RMLL (NDLR : du 9 au 14 juillet 2011) à Strasbourg !

Liens

[1] http://linuxfr.org/news/naissance-du-projet-armadeus

[2] http://www.unixgarden.com/index.php/embarque/perles-de-mongueurs-analyse-de-logs-2 (oui je sais le lien n’est pas très explicite)

[3] http://www.armadeus.com/wiki/index.php?title=Fr:Association

[4] https://lists.sourceforge.net/lists/listinfo/armadeus-forum

 

Sur le même sujet

Reprenez le contrôle ! Faites tourner Linux nativement sur vos téléphones et tablettes

Magazine
Marque
GNU/Linux Magazine
Numéro
237
|
Mois de parution
mai 2020
|
Domaines
Résumé

J’ai toujours été admiratif des personnes qui arrivent à faire tourner le noyau Linux sur de nouvelles plateformes. J’ai passé un nombre de soirées incalculables à étudier différents portages de Linux (Nintendo Switch, Nintendo 3DS, PlayStation...) et par la suite, j’ai moi-même passé beaucoup de temps à essayer de porter Linux sur tout ce qui me tombait sous la main. C’est une passion pour moi ! Et je vous propose de la partager. Dans cet article, je vais vous expliquer comment faire tourner vos distributions favorites (Debian, Arch, CentOS, Fedora, Gentoo…) nativement sur vos téléphones et tablettes Android.

Maîtriser la sécurité de son accès Internet avec OpenWRT

Magazine
Marque
Linux Pratique
Numéro
117
|
Mois de parution
janvier 2020
|
Domaines
Résumé

Nous allons voir dans cet article comment installer le système GNU/Linux embarqué de type OpenWRT. OpenWRT est un système GNU/Linux pour les matériels embarqués et pour les matériels de types routeurs et box. Il constitue donc la part essentielle pour se libérer des GAFA. C’est un système léger, rapide et performant pour administrer et contrôler son accès Internet. Ce système est optimisé pour la gestion des ressources et supporte de nombreux routeurs.

La liberté jusqu’au cœur du processeur avec RISC-V

Magazine
Marque
Hackable
Numéro
31
|
Mois de parution
octobre 2019
|
Domaines
Résumé
RISC-V est un jeu d’instructions 32 bits libre, développé initialement par l’université de Berkeley. Ce jeu d’instructions (ISA pour Instruction Set Architecture) est maintenant soutenu par une fondation regroupant quasiment tous les grands noms de l’industrie informatique. Dans cet article, nous allons décrire succinctement le concept de RISC vs CISC, puis nous expliquerons les bases du jeu d’instructions avec un peu de code assembleur, enfin nous terminerons par une description de quelques émulateurs et processeurs RISC-V disponibles aujourd’hui sur le marché.

Démarrez avec MicroPython

Magazine
Marque
GNU/Linux Magazine
Numéro
228
|
Mois de parution
juillet 2019
|
Domaines
Résumé
Pour mettre sur pied une preuve de concept ou un prototype électronique, il faut habituellement choisir une carte de développement et ensuite acquérir les outils de développement logiciel du fabricant. Ces logiciels s’appuient généralement sur les langages bas niveau comme le C, dont la maîtrise n’est pas accessible à tout le monde. MicroPython est a été mis sur pied pour permettre l’utilisation d’un langage de programmation haut niveau (Python) sur microcontrôleur, pour créer de magnifiques applications d’IoT.

Contrôler vos modèles Lego au joypad à l'aide de BrickPi

Magazine
Marque
Hackable
Numéro
29
|
Mois de parution
avril 2019
|
Domaines
Résumé

Dexter Industries propose des cartes d’extension pour Raspberry Pi. Dans cet article, nous allons nous intéresser à la carte BrickPi permettant de piloter les moteurs et senseurs Lego MindStorms. Nous verrons comment piloter notre robot Lego à l’aide d’un joypad. Nous développerons notre programme grâce au langage Python.

Par le même auteur

Qemu : comment émuler une nouvelle machine ? Cas de l’APF27

Magazine
Marque
GNU/Linux Magazine
Numéro
148
|
Mois de parution
avril 2012
|
Domaines
Résumé
Dans la première partie, nous avons abordé deux aspects fondamentaux de Qemu, la recompilation dynamique du code émulé et la gestion du temps. Cependant, nous sommes restés sur le banc des spectateurs. Bien que Qemu 1.0 supporte 27 machines ARM différentes, aucune n’est basée sur les SoC Freescale™ de la famille i.MX. Dans ce second volet, nous passerons à la pratique en créant « from scratch » le support de l’émulation d’une nouvelle machine construite autour d’un i.MX27 : la carte Armadeus APF27.

Qemu : Visite au cœur de l’émulateur

Magazine
Marque
GNU/Linux Magazine
Numéro
147
|
Mois de parution
mars 2012
|
Domaines
Résumé

Les machines virtuelles, par leurs avantages et grâce aux progrès des processeurs, sont devenues un domaine très en vogue actuellement, même si leurs débuts remontent à l’époque des Beatles. Elles couvrent un large secteur de l’informatique allant du plus ludique émulateur de Commode 64 jusqu’aux plus sérieux hyperviseurs au cœur d’énormes centres de calcul. Les techniques utilisées pour les faire fonctionner sont aussi variées, depuis l’émulation totale jusqu’à la paravirtualisation. Les logiciels existants sont nombreux et Qemu est l’un d’eux, bien connu dans le monde de l’embarqué. Mais comment fonctionne-t-il ? Et comment émuler son propre matériel ?

Contrôleur de servomoteurs FPGA sur plate-forme Armadeus

Magazine
Marque
Open Silicium
Numéro
3
|
Mois de parution
juillet 2011
|
Domaines
Résumé

La robotique expérimentale utilise souvent comme actionneurs des servomoteurs de radiocommande en grand nombre. Leur pilotage demande la génération d’autant de signaux temporellement précis et synchrones.Même si les systèmes embarqués disposent aujourd’hui d’une puissance de calcul impressionnante, elle n’est pas suffisante pour produire des signaux de commandes ayant ces caractéristiques à cause des problèmes de latences du système d’exploitation.Seule une alternative matérielle peut y pallier. Le FPGA est la solution disponible aujourd’hui, polyvalente et facilement accessible.Le projet proposé ici permet de commander jusqu’à 32 servomoteurs de radiocommande avec un système embarqué Armadeus : la puissance d’un ARM9 sous GNU/Linux alliée à celle d’un FPGA.

Contrôleur de servomoteurs FPGA sur plate-forme Armadeus : partie logicielle

Magazine
Marque
Open Silicium
Numéro
3
|
Mois de parution
juillet 2011
|
Domaines
Résumé

Dans la première partie, nous avons conçu un nouveau périphérique basé sur un FPGA : le contrôleur matériel de servomoteurs. Il est l’équivalent d’un circuit électronique capable d’une concurrence vraie tout en ayant la souplesse d’une conception logicielle.Comme tout périphérique, il nécessite un peu de logiciel pour être utilisable sous un système d’exploitation tel que Linux. Tout d’abord, nous aborderons le pilote de périphérique ou driver. Il est au sein du noyau Linux et assure la communication entre le matériel et l’espace utilisateur. Ensuite, nous verrons le serveur de commandes. Il reçoit les ordres d’un client distant et les exécute. Pour clore le sujet loin des arcanes du mode noyau, un exemple de client graphique Qt est présenté, qui permet de faire bouger les servomoteurs avec une souris.