IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Embarqué Discussion :

Quel solution bus logiciel est il préférable d'utiliser


Sujet :

Embarqué

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 29
    Par défaut Quel solution bus logiciel est il préférable d'utiliser
    Bonjour,

    Je suis à la recherche de solution de bus logiciels pour l'utiliser sur une plateforme embarquée ARM (noyau linux, C/C++).

    J'ai bien trouvé sur google plusieurs solutions (corba, dbus, etc...) mais j'aimerai avoir plutôt un retour d'expérience sur les quelques solutions que vous avez utilisées :
    - qu'est ce qui marche bien en embarqué et ce qu'il ne faut absolument pas utiliser,
    - si c'est facile à utiliser où non,
    - si la license est hors de prix ou libre
    - si c'est performant ou pas
    - si c'est consommateur de mémoire ou pas
    - si vous avez utilisez votre propre solution, quel en ont été les raisons ?

    Bref c'est quoi le top du top ?

    Merci pour votre aide.

    Cordialement

  2. #2
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    Je me suis posé pas mal de questions à ce sujet.

    Je n'ai connu que des développements propriétaires dédiés...

    J'ai fini par conclure qu'une architecture incluant des signaux de haut niveaux est le premier step.

    Par ailleurs, on peut tester la modularité de l'architecture en supprimant des modules logiciel... et en vérifiant que le logiciel fonctionne avec les fonctionnalités restantes.

  3. #3
    Membre Expert

    Homme Profil pro
    .
    Inscrit en
    Janvier 2006
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Janvier 2006
    Messages : 703
    Par défaut
    J'ai eu l'occasion de mettre en place D-Bus sur cible ARM.
    Et je pense que tu te poses de très bonnes questions. Je ne m'étais pas particulièrement posé ces questions lors d'un projet embarqué sur ARM. Et je m'en suis un peu mordu les doigts après coup.

    Je t'invite à lire mon retour d'expérience sur le sujet. C'est surtout la fin qui devrait t'intéresser.

    Aujourd'hui si javais à recommencer, je ne prendrais pas d'IPC pour mon cas d'utilisation. Le contexte, c'était le développement de ce produit.
    Tout pouvait finalement tenir dans un seul exécutable. Initialement, j'avais conçu une architecture modulaire, avec plein de daemons qui tournent en parallèle, le tout discutant sur un Bus.

    Tiens, ça donnait ça.

    En fait, travailler avec un bus nécessite à chaque "module" une couche de connexion, et de dialogue. Même si tu es linké par lib dynamique, tu embarques avec toi tout un bazar. Si ton vrai code (en dehors du binding) n'est pas particulièrement volumineux, j'ai réalisé qu'il était un peu "overkill" d'utiliser un IPC comme Dbus. Que cela soit pour la simplicité de développement ou pour l'utilisation de la RAM.

    Bref, maintenant, je suis assez partisant du programme unique, si le projet n'est pas trop gros.

    Second principal soucis avec D-Bus, c'est la licence. Tout ton code est "contaminé" en GPLV2. Tout dépend du contexte. Mais certaines sociétés verront pas d'un très bon oeil de publier tout leur code en GPLV2.

    Si j'avais à réutiliser un IPC, je pense que j'utiliserais le petit bus en C que j'ai vu dans un LinuxMag il y a quelques temps. Un truc super simple, mais dont je ne retrouve plus le nom... En tout cas pour moi D-Bus (même s'il est utilisé dans Android) est pas mal overkill pour des architectures logicielles simples, et encore plus pour l'embarqué.

    La question qu'il faut se poser c'est réellement : "Pourquoi ai-je besoin d'un Bus ?"

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 29
    Par défaut Merci pour vos réponses
    Effectivement la GPLv2 va être très problèmatique (c'est pour du propriétaire), cela plus la crainte de performances basses risque d'écarter DBUS (c'était la crainte que j'avais d'ailleurs), j'avais lu d'ailleurs ton retour d'expérience qui est très bien faite, à la question "Pourquoi ai-je besoin d'un bus ?", la réponse c'est que la plateforme va contenir un très grand nombres d'objets qui peuvent communiquer entre eux et ceux sur plusieurs plateformes qui peuvent être sur des os différents, bref c'est malheureusement pas une architecture simple. Bref j'aurais aimé ne pas être obligé de réinventer la roue (surtout avec le risque que la roue soit carré à la fin comme c'est souvent le cas). Mais bon pour l'instant il falloir que je creuse un peu plus.

    Autrement c'est sympa ton lapin, il me semble l'avoir déjà vu quelque part sur le net.

    Merci dans tous les cas pour vos réponses.

  5. #5
    Membre Expert

    Homme Profil pro
    .
    Inscrit en
    Janvier 2006
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Janvier 2006
    Messages : 703
    Par défaut
    Sinon il y a la technique sale, de chargement de librairie dynamique à la volée, qui si je ne me trompe pas, permet de contourner le soucis de contamination de licence.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/06/2012, 12h42
  2. Est-il préférable de commencer par apprendre le C# ?
    Par Troell dans le forum Débuter
    Réponses: 7
    Dernier message: 18/07/2005, 10h05
  3. Savoir si un logiciel est lancé
    Par LoicH dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/12/2004, 23h24
  4. Réponses: 9
    Dernier message: 12/12/2004, 11h55
  5. avis aux experts-Quels sont les logiciels les plus adaptés??
    Par chouchouappc dans le forum Décisions SGBD
    Réponses: 46
    Dernier message: 20/07/2004, 21h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo