Le projet Armadeus passe à la vitesse supérieure

Posté par (page perso) . Modéré par tuiu pol.
Tags :
15
24
fév.
2009
Matériel
L'association Armadeus Project (qui a pour objectif d'aider toute personne voulant développer des systèmes Linux embarqués ouverts) permet désormais à ses membres d'acquérir, à tarif préférentiel, la nouvelle plate-forme APF27 d'Armadeus Systems (société créée par les membres fondateurs du projet Armadeus afin de répondre à la demande croissante des industriels pour des systèmes embarqués ouverts et communicants).

L'APF27 dispose d'un processeur ARM9 à 400Mhz (i.MX27 de chez Freescale), de 64 à 256 Mo de RAM DDR 32 bits, de 128 à 512 Mo de FLASH NAND 16 bits et d'un FPGA Xilinx Spartan3A. L'i.MX27 intègre les fonctionnalités suivantes (entre autres): USB Host, Ethernet, 2xSD, 6xRS232, contrôleurs LCD et capteur vidéo, 3xSPI, 2xI2C, codec H264.

Un système embarqué puissant et très polyvalent donc, mais qui sait rester sobre en consommation avec un mode veille performant et dont le kit de développement logiciel est entièrement basé sur des logiciels libres (U-Boot, Linux, Buildroot), développé conjointement par Armadeus Systems et les membres actifs de l'association, et disponible sur un dépôt SVN hébergé par SourceForge.

Le développement FPGA est facilité par l'utilisation d'un outil spécialement développé par Armadeus : POD (Peripheral On Demand). POD a été présenté aux RMLLs 2008 et est, lui aussi, mis à la disposition de la communauté libriste sous licence GPL et LGPL. L'outil a pour vocation d'encourager l'utilisation et le développement d'IPs OpenCores, compatibles avec le bus Wishbone.
Ce concept permet à un système donné de pouvoir s'adapter à son environnement en recomposant à tout moment l'ensemble des périphériques dont il dispose. L'APF27 vient se connecter à une carte d'accueil/développement lui rajoutant des fonctionnalités telles que :
  • entrée/sortie audio,
  • contrôleur d'écran tactile,
  • convertisseurs numérique/analogique et analogique/numérique,
  • bus CAN
  • et bientôt une sortie vidéo HDMI
  • ainsi qu'une connectivité GSM/GPRS et WiFi.
L'électronicien averti peut concevoir sa propre carte d'accueil, les schémas étant librement disponibles.
  • # Peut-on développer sur un système 100% libre ?

    Posté par . Évalué à 7.

    Voilà, petite question qui peut sembler redondante avec le contenu de l'article, mais encore une fois dans le monde de l'embarqué, je trouve quelques points troubles : peut-on développer du début à la fin pour cette plateforme avec un système utilisant 100% de logiciel libre ?

    Je pose cette question car dans la présentation de POD par exemple, on parle de "free" sans autre précision, et plus tard de "open specification" mais pas d'implémentation. Je voudrais savoir s'il existe un moyen d'arriver au résultat (un système qui marche) uniquement avec des outils libres. Car à chaque news qui passe ici, on se rend compte qu'en fait, par exemple, tout est libre à part le synthétiseur HDL... Ou alors on parle de TI et de leur super plateforme libre, mais dès qu'on touche au DSP c'est "ha non, là faut raquer et tout garder secret".

    Je ne suis pas "contre" ces méthodes, je ne veux pas le cul de la crémière en sus, je voudrais juste que ce soit écrit clairement si c'est le cas. Peut-être que c'est vraiment 100% libre ici, mais je ne l'ai pas trouvé très clair de mon point de vue.
    • [^] # Re: Peut-on développer sur un système 100% libre ?

      Posté par (page perso) . Évalué à 5.

      Helas non !

      La quasi-totalités des outils utilisés pour développer sur ARMadeus sont libres. Le processeur (i.MX) tournant sous linux tous les outils libres sont dispos pour lui, le debug se fait au travers un port série donc n'importe quel terminal RS232 convient, le fpga se configure via les gpios du procsseur donc les outils JTaG de xilinx ne sont pas nécessaire, ... mais ... pour pouvoir synthétiser un projet le passage obligé est : ISE qui n'est pas libre du tout hélas.

      ISE n'est pas libre mais une version gratuite fonctionnant sous linux est disponible il n'est donc pas nécessaire de «raquer» pour développer sur ARMadeus.

      Il n'existe pas à ma connaissance d'outils libres permettant de faire la synthèse/placement routage pour FPGA, si quelqu'un est motivé ... y a du boulot ;-)
      • [^] # Re: Peut-on développer sur un système 100% libre ?

        Posté par (page perso) . Évalué à 2.

        Il n'existe pas à ma connaissance d'outils libres permettant de faire la synthèse/placement routage pour FPGA

        rho la la la, comme j'aimerais pouvoir dire "tu bluffes martoni !" :/

        Quand tu parles de en:ISE, c'est lequel ? ;-) (même si je pense qu'il n'est pas dans la liste).

        De même, si quelqu'un sait ce que signifie "l'utilisation et le développement d'IPs OpenCores" (notamment le mot IP...) ça permettra de préciser la dépêche.
        • [^] # Re: Peut-on développer sur un système 100% libre ?

          Posté par (page perso) . Évalué à 2.

          IP pour propriété intellectuelle, tu achète un bloc par exemple un contrôleur ethernet, un dsp, un microprocesseur tout prêt a coller dans une partie de ton FPGA
          • [^] # Re: Peut-on développer sur un système 100% libre ?

            Posté par . Évalué à 3.

            Le plus "drôle" dans cette histoire, c'est que les IP d'OpenCore sont distribués sous licence libre, mais nécessitent un synthétiseur proprio pour être "implémentés" dans le FPGA ...
            • [^] # Re: Peut-on développer sur un système 100% libre ?

              Posté par . Évalué à 2.

              Vu la complexité du synthétiseur de FPGA et la vitesse à laquelle évolue les gammes de produits, il est totalement impossible (ou en tout cas peu réaliste) de voir un synthétiseur libre pour des FPGA.

              Je travaille actuellement avec ISE WebPack de Xilinx, qui marche parfaitement sous Linux, et je n'ai pas à m'en plaindre, si les sources avaient été fournies avec ca aurait été mieux, c'est sur ;).

              Il existe des outils pour simuler du VHDL, je pense a GHDL par exemple qui fait plus que bien son travail. Mais à ma connaissance personne ne s'est encore lancé dans un synthétiseur de FPGA libre.

              Je suis totalement pour le logiciel libre, mais je ne peux pas dire que là ISE me pose probème, il me permet de faire mon boulot.
              • [^] # Re: Peut-on développer sur un système 100% libre ?

                Posté par (page perso) . Évalué à 1.

                Je ne comprends pas en quoi la vitesse d'évolution du synthétiseur FPGA fait qu'il ne pourrait pas être libre, tu peux m'expliquer plus en détail s'il te plaît ?
              • [^] # Re: Peut-on développer sur un système 100% libre ?

                Posté par . Évalué à 3.

                Bah moi je suis en linux PPC, donc c'est mort ...
                • [^] # Re: Peut-on développer sur un système 100% libre ?

                  Posté par . Évalué à 1.

                  Effectivement, voici une raison pour laquelle ce serait bien le synthétiseur libre... :)

                  DIsons que chaque FPGA a ses spécificités et que le synthétiseur doit tenir compte des propriétés interne de chaque modèle, présence ou pas de multiplieurs hardware, quantité de block ram disponible, vitesse du composant pour pouvoir faire d'une part pouvoir faire des analyses de timing correctes et d'autre part pour optimiser l'utilisation des composants internes et ainsi avoir un système qui fonctionne de manière optimale.

                  Je n'ai en aucun cas dit qu'un synthétiseur de FPGA ne pouvait pas être libre loin de là, mais c'est un travail gigantesque qui ne sera jamais fini...
                • [^] # Re: Peut-on développer sur un système 100% libre ?

                  Posté par (page perso) . Évalué à 3.

                  bin euh si j'en crois
                  http://www.xilinx.com/ise/logic_design_prod/webpack.htm
                  # Red Hat Enterprise Linux WS 4 (32-bit only)
                  # Red Hat Enterprise Linux Desktop 5 (32-bit only)
                  # SUSE Linux Enterprise 10 (32-bit only)

                  Je peux aussi me brosser en x86_64 (oui, je n'ajoute pas les bibliothèques 32 bits, même pour un programme). Tout de suite, j'ai l'impression que ça ajoute du monde :/ ça rend un peu cher le truc "soit-disant gratuit mais vente liée inside de i586..."
          • [^] # Re: Peut-on développer sur un système 100% libre ?

            Posté par (page perso) . Évalué à 2.

            bin euh, ça veut rien dire IP ni propriété intellectuelle... création, assemblages, schémas ça ne serait pas plus approprié ? ou "éléments fonctionnels" en décrivant _précisémment_ la fonction remplie peut-être...
            nan mais IP vraiment... je peux pas
      • [^] # Re: Peut-on développer sur un système 100% libre ?

        Posté par . Évalué à 1.

        Au mieux on peut faire un outil qui fait la synthèse, il en existe d'autres (commerciaux) que ceux fournis par Xilinx et beaucoup plus performant en passant. Par contre pour le PAR on reste tributaire des outils Xilinx, et pour obtenir quelque chose avec des résultats honnêtes, il faut raquer pour des outils différents que ceux fournis dans l'ISE Webpack gratuit.

        Le développement 100% libre sur FPGA n'est vraiment pas pour demain, à moins qu'un multimilliardaire philanthrope passe sur linuxfr :)
    • [^] # Re: Peut-on développer sur un système 100% libre ?

      Posté par (page perso) . Évalué à 6.

      Pour ce qui est du développement de design FPGA, la réponse est très simple: Non.

      Pourquoi c'est non, c'est tout simplement que pour faire un design pour un FPGA donné, il faut connaître très exactement tous les paramètres de ce FPGA:
      * structure des logic blocs
      * structure des bus d'interconnexion
      * structure des blocs RAM
      * structure des blocs spécialisés (multiplieurs, additionneurs, etc)
      * structure des étages d'entrée et de sortie.

      De plus, pour la phase de placement/routage, l'outil a besoin de disposer informations de timing très précises (voir également d'information de dissipation thermique) afin de pouvoir optimiser le design en fonction du type de FPGA.
      Bref comme tu l'auras compris ceci représente une gamme très large d'informations que seul le constructeur du FPGA dispose réellement. Ces information sont toutes considérées comme des "secrets industriels", c'est-à-dire NDA, etc. C'est pour cela qu'un outil Open Source pour le design de FPGA performant n'est pas prêt de voir le jour:

      Pour ce qui est du développement VHDL "théorique", c'est-à-dire sans cibler un circuit logique, quelques outils existent, tel que GHDL mais sont très loin des performances des outils commerciaux comme par exemple ModelSim.

      Si l'open source est bien implanté pour le développement logiciel, c'est pas le cas pour le développement matériel, c'est dommage. Peut-être que ceci ne sera plus vrai dans quelques années mais je ne me fait pas d'illusion parce que pour booster le développement d'outils pour le design de FPGA compétitif, il faudrait que les fondeurs ouvrent leurs secrets industriels et là je ne croit pas que ce soit une priorité ;-)
      • [^] # Re: Peut-on développer sur un système 100% libre ?

        Posté par . Évalué à 3.

        C'est dommage, car pour moi c'est la base de l'interopérabilité de filer les specs de son matos. Ainsi, les libristes pourraient au moins essayer d'implémenter un synthétiseur libre. Même s'il est moins performant, ce n'est pas le plus important pour moi.
  • # compétition

    Posté par (page perso) . Évalué à 3.

    le domaine de l'embarqué sous linux commence sérieusement à avoir des systèmes très intéressant

    mais je trouve que pour le néophyte... électronicien du dimanche ça reste pas très évident....

    entre le beagleboard, foxboard, gumstix.... le choix d'une platteforme n'est pas facile sans compté que c'est pas simple d'obtenir les info pour divers types de projet genre robotique, dogmotique...

    c'est ce genre de doc qu'il manque je trouve...

    par exemple je souhaite créer un robot depuis un bon moment... je crois que je vais prendre le beagleboard.... la prochaine version devrait sortir d'ici quelques semaine...

    bonne communauté et la doc commence à être bonne sans compté que le board est assez puissant

    www.solutions-norenda.com

    • [^] # Re: compétition

      Posté par . Évalué à 2.

      Faut pas oublier le Linux Stamp. ;)
    • [^] # Re: compétition

      Posté par . Évalué à 2.

      Je vais faire un léger HS:

      Pour mon projet de robot hexapod, j'utilise une carte SSC 32. Je sais, ce n'est pas de l'embarqué, mais elle a l'avantage d'être vraiment simple.

      Mais bon, comme la SSC32 a un port série, je peux sûrement la commander avec une carte contenant un système embarqué \o/
    • [^] # Re: compétition

      Posté par . Évalué à 1.

      Effectivement sans connaissance en électronique il est difficile de monter un robot de A à Z.
      Un point qu'il ne faut pas négliger sur ce genre de projet, c'est la connectivité et les entrées/sorties. Avoir une bête de calcul c'est bien faut il encore la maîtrisée et surtout arriver à gérer les nombreux types de capteurs/actionneurs du robot :)
    • [^] # Re: compétition

      Posté par . Évalué à 2.

      Il y'as aussi le bug device ( http://www.buglabs.com/ ) avec le module von hippel.
      Le premier probleme c'est que le module von-hippel necessite la version 1.4 (http://bugcommunity.com/downloads/files/r1.4/ ) qui n'est pas encore sortie.
      Le systeme marche de la facon suivante:
      [ bootloader(redboot)->kernel </end flash>]->[<micro-sd>root filesystem </end rootfilesystem>]
      donc si on rate le flashage du kernel ou que le kerne ne marche pas...il faut un cable special pour commander reflasher le kernel a partir de commandes au bootloader...
      et le bootloader est sur la meme flash que le kernel...(pas de deuxieme memoire de secours comme pour l'openmoko)
      mais si l'on demande ils peuvent nous envoyer un cable

      Le deuxieme probleme est que l'on ne peut pas encore l'acherter si on n'as pas d'adresse de facturation aux etats unis,mais ils travaillent a resoudre ce probleme.

      Apres les inconvenients les avantages :
      *processeur rapide: ARM 11(armv6)@532 Mhz
      *128MB ram
      si j'ai bien compris le module von-hippel a l'usb host
      mais aussi des interfaces telles que:
      *4GPIO
      *convertisseur Analogique->Digital
      *convertisseur Digital->Analogique
      *I2C
      *SPI

      sinon il y'as aussi les modules suivants:
      *ecran tactile 320x240
      *gps
      *son
      *detecteur de mouvement et accelerometres
      *camera

      sinon question logiciel:
      *kernel 2.6.27
      *base sur poky-linux('fork' de openembedded)
      donc on peut compiler des applications pour openembedded
      *on peut acceder facilement a ses fonctions en java ME
      *100% libre meme java

      j'en ai gagne un au fosdem...
      mais j'ai un probleme avec l'ecran...ils vont donc me le remplacer
      on va aussi m'envoyer un cable pour que je puisse flasher mon propre kernel(j'aimerais bien y porter angstrom...)
  • # Prix ?

    Posté par . Évalué à 1.

    QQun connait le prix pour le kit de dév au complet :
    - 1 * APF27-M128F256-EUF200
    - 1 carte de dev-light ...

    Parce si j'ai tout suivi, ca fait 144 + 152 ... ca fait un peu bcp .. non ?


    A ++
    • [^] # Re: Prix ?

      Posté par (page perso) . Évalué à 3.

      en plus de te le fabriquer, tu veux qu'on te le livre à domicile peut-être ? :D
      • [^] # Re: Prix ?

        Posté par . Évalué à 1.

        Non c'est sûr, mais comparé à une beagleboard, ou encore un AVR32, il y a un ratio de 2 à 3 au niveau des prix.

        Effectivement, ce n'est pas les mêmes produits.

        De plus, je suis étonné de ne pas voir de pack (avec une réduc) genre: APF + devlight ...
    • [^] # Re: Prix ?

      Posté par (page perso) . Évalué à 1.

      C'est bien ça (Hors Taxes)... moins une vingtaine d'euros si tu es membre de l'association Armadeus Project.
      Après tout dépend avec quoi tu compares... ;-)
    • [^] # Re: Prix ?

      Posté par . Évalué à 2.

      Je trouve ça tout à fait raisonnable pour ce que c'est ... ce n'est pas du matos "grand public" non plus, hein.
  • # produit fini ?

    Posté par . Évalué à 2.

    Vous n'avez jamais songer à faire un produit fini comme une mini console de salon ?

    J'avoue que je serais étonné de voir ce que des hackers pourraient faire avec un arm+ un gros FPGA dans le domaine du jeu vidéo.

    Le plus gros spartan 3 semble couter entre 60 et 80$ l'unité. Cela commence à faire chère mais avec plus de 100 blocs multiplieur, il y a de la ressource.

    Par contre, l'ISE n'est plus gratuit. Reste à mettre le plus gros, voir plusieurs version du Spartan, avec ISE gratuit. L'un uniquement pour la video et l'autre pour le reste.

    "La première sécurité est la liberté"

  • # Versatile

    Posté par . Évalué à 1.

    Juste pour jouer à maître Capello, versatile est un faux ami et se traduit par "polyvalent" en français.
  • # Très intéréssant !

    Posté par (page perso) . Évalué à 1.

    Ca fait un moment que je lorgne sur cette plate-forme, à ma connaissance il n'existe pas de kit de dev muni d'un FPGA à ce prix.

    Mon but étant plutôt de m'initier à la manipulation des FPGA, je pensais prendre une carte polyvalente pour synthétiser des blocks depuis le site opencores.org, avec une orientation plutôt calcul ou crypto.
    Et c'est là ou j'hésite : Prendre de suite une Armadeus, ou bien attendre et prendre un kit plus cher, mais avec une FPGA plus rapide genre ça: http://www.picocomputing.com/products/cards.php lorsque ça sera dispo. (Mais on est pas sur le même genre d'applications)...
  • # robotique...

    Posté par (page perso) . Évalué à 2.

    salut

    est-ce quelqu'un a déjà utiliser cette carte pour un projet en robotique?

    j'en ai trouvé pour la beagle board, la foxboard, gumstix, muvium, atmel.... mais riel pour cette carte

    www.solutions-norenda.com

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.