linux embarqué : que choisir?
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

linux embarqué : que choisir?



  1. #1
    Hayuki

    Exclamation linux embarqué : que choisir?


    ------

    bonjour à tous

    je dois choisir une distribution linux pour faire de l'embarqué le hardware s'y prete sans problème.
    donc j'ai de l'ethernet, de l'usb, ...
    j'ai donc cherché sur internet j'ai trouvé plusieur distrib du genre embedded debian, ou les sources sur kernel.org par exemple.
    donc ma question est sachant que je n'ai besoin que des services de base (ethernet, usb...) ai-je un intérêt quelconque à choisir une distribution ou n'ai-je pas plus intéret à prendre les sources du kernel et le configurer comme je veux?.
    L'avantage d'une distribution est-ce que ce n'est pas d'avoir des services supplémentaire et des applications fournies?
    il y a d'autre distribution j'ai choisi celle la c'est un exemple!

    merci de vos réponses

    -----

  2. #2
    lou_ibmix_xi

    Re : linux embarqué : que choisir?

    Salut

    les sources sur kernel.org
    prendre les sources du kernel et le configurer comme je veux
    Oh la, attention l'énorme confusion!!! Le noyau Linux c'est une chose, mais ça ne suffit pas à faire un système complet! Il faut tout le reste: hiérarchie de répertoires, fichiers de config, shell, quelque commande... Bref la partie la plus compliquée n'est pas de configurer et compiler un noyau allégé...
    le hardware s'y prete sans problème
    Quel type de hardware? Parfois, les périphériques de type USB et ETHERNET peuvent nécessiter des pilotes très spécifiques, suivant comment ils sont implémentés sur la carte. Les constructeurs de matériels de ce type fournissent le "board support package", ou carrément une image système prète à fonctionner.

    En bref, faire du Linux embarqué nécessite une vision globale de ce qu'est un système Linux, ce n'est pas si compliqué et très intéressant, surtout si tu es un utilisateur de Linux. Ensuite, pour faire ton système embarqué, tu peux le faire à la main comme un grand (ce n'est pas très compliqué), où tu peux utiliser une "distribution" plus clef en main comme "emdebian", ou OpenEmbedded

    A plus

  3. #3
    Hayuki

    Re : linux embarqué : que choisir?

    bonjour

    je n'ai pas parler du hardware... : j'ai un processeur ARM (PXA270) les différents driver dont je vais avoir besoin sont soit déja intégré au noyau sur kernel.org soit ils sont disponible (site du constructeur du composant).
    j'ai de bonnes base en électronique de plus j'ai développé pour VxWorks. mais il me manque des bases pour linux. mais je n'ai pas une carte du commerce. donc j'ai l'impression que j'ai plutot intéret à m'orienter vers le kernel directement.
    de plus je ne trouve pas de comparaison entre les diférentes distrib que l'on peu trouvé...

    je n'ai pas vraiment besoin de shell ou d'autres application (je dirais même que je n'en veut pas) j'ai deja un code applicatif que je vais lancer pour gérer mon système.
    linux me servira juste à gérer l'ethernet, l'usb, le multitache, ... les cocept OS en fait le reste je n'en veux pas c'est gérer par mon application (enfin le shell je prend quand meme mais il n'est pas intégrer au noyau?)

    merci

  4. #4
    lou_ibmix_xi

    Re : linux embarqué : que choisir?

    j'ai un processeur ARM (PXA270)
    . Il n'y a pas que le processeur à prendre en compte, mais bien la carte complète, car il faut prendre en compte le type de mémoire FLASH utilisé, le type de RAM, comment elles sont interfacées avec la CPU etc...

    je n'ai pas vraiment besoin de shell ou d'autres application (je dirais même que je n'en veut pas) j'ai deja un code applicatif que je vais lancer pour gérer mon système.
    OK mais même si tu n'en veux pas tu en auras certainement besoin! Ton application tourne en espace utilisateur elle nécessite donc certainement la bibliothèque standard C, il te faudra configurer l'interface réseau, il faut donc le programme "ifconfig" etc.... On peut imaginer que tu fasses ton application dans l'espace noyau, mais alors il faut faire face à des limitations pour utiliser les nombres flottants, sans parler de la difficulté à développer etc...

    On pourrait aussi imaginer un noyau dont tous les pilotes sont compilé en statique _ET_ les configurations (de type adresse IP etc) passé en paramètre au noyau pour s'affranchir de l'aspect initialisation qui se passe en espace utilisateur. Mais alors le système serait tout sauf souple, et utiliser linux perd de son intérêt, je regarderais plutôt du côté de eCos et autre FreeRTOS.

    enfin le shell je prend quand meme mais il n'est pas intégrer au noyau?
    Non! Un noyau ne fait que gérer/mettre à disposition les ressources matérielles et logicielles
    pour les applications de l'espace utilisateur. Et je suis quasiment persuadé qu c'est le cas pour VxWorks.

  5. A voir en vidéo sur Futura
  6. #5
    Hayuki

    Re : linux embarqué : que choisir?

    mais la partie hardware n'est pas un problème! c'est du code pur et simple à modifier/ajouter.
    mon application doit pouvoir tourner sans le réseau sinon aucun intéret de l'embarqué.

    et oui je voudrais le compiler en statique éventuellement... mais comment le faire??? et comment faire autrement?
    et si j'utilise la bibliotheque standard je ne vois pas pourquoi j'aurais besoin d'une liaison ethernet avec un ifconfig????

    mon code applicatif est chargé depuis un support mémoire, les adresses IP/MAC sont sur une EEPROM.
    sous vxworks actuellement je charge mon code applicatif et il y a un point d'entrée qui me sert à le lancer. je cherche à reproduire le meme comportement.

    certes freeRTOS pourrait etre intéressant mais il y a des obstacle : lorsque l'on achète un composant le driver linux est fourni! alors que pour un autre OS il faut le developper. Les interfaces entre l'OS et le hardware ne sont pas magique il faut les concevoir! le but de l'emploi de linux est d'éviter le deloppement de ces couches pour l'usb et l'ethernet par exemple (vous etes vous déja penché la dessus?).

    mon travail vise à simplifier le developpement des carte electronique, on ne se posera plus la question de savoir si on change de composant (ce qui implique de gros developpement bas niveau actuellement) mais on regardera quels composants sont vendu avec un driver linux (avec biensur quelques modifications à effectuer mais un developpement plus léger)

    merci de vos réponses

  7. #6
    lou_ibmix_xi

    Re : linux embarqué : que choisir?

    mais la partie hardware n'est pas un problème! c'est du code pur et simple à modifier/ajouter.
    Oui c'est bien là où est le problème, le code à ajouter / modifier n'est pas forcèment trivial.

    et oui je voudrais le compiler en statique éventuellement... mais comment le faire???
    C'est très simple, dans l'interface de configuration du noyau, dans les premières options générales, tu interdis l'utilisation des modules.

    et comment faire autrement?
    En faiseant un ramdisk initial qui contient les modules.

    et si j'utilise la bibliotheque standard je ne vois pas pourquoi j'aurais besoin d'une liaison ethernet avec un ifconfig????
    C'est l'inverse, si tu veux utiliser simplement une interface réseau, tu as besoin de ifconfig (entre autre), qui nécessite la bibliothèque standard... Mais c'était un exemple parmis d'autre.

    lorsque l'on achète un composant le driver linux est fourni!
    A prendre avec des pincettes pour les raisons suivantes:
    - peu de constructeurs développent réellement les pilotes, souvent ils refourguent ceux fournis par la communautée Linux,

  8. #7
    lou_ibmix_xi

    Re : linux embarqué : que choisir?

    Oups j'ai envoyé sans le vouloir... La suite:

    - pas mal de pilotes constructeurs que j'ai croisé sont écrit avec les pieds! A l'inverse des pilotes communautaires qui sont très souvent de bonne qualitée,
    - lorsque les constructeurs fournissent des pilotes linux, ils ne les font pas évoluer avec les nouvelles versions de noyau, ce qui peu poser des problèmes, ou nécessiter une adaptation (lorsque les sources sont fournies, ce qui n'est pas toujours le cas)
    - de même, lorsqu'ils ne fournissent que des versions binaires, il faut que la plateforme soit identique (ARM / x86 / x86_64, noyau préemptif ou pas...),

    le but de l'emploi de linux est d'éviter le deloppement de ces couches pour l'usb et l'ethernet par exemple (vous etes vous déja penché la dessus?).
    J'ai déjà fait quelques pilotes de périphériques assez simple, suivant le type de périphérique, ce n'est pas très compliqué. Par exemple, j'ai du écrire un pilote de périphérique pour une carte de conversion numérique / analogique 16 voies @ 200kHz, avec prise en charge du DMA etc... ça peut sembler compliquer mais c'est très simple (grâce à linux) _SI_ la doc / le support technique du matos est sérieux... En revanche, j'ai déjà jetter un oeil à des pilotes de cartes réseaux, je pense que c'est très, très, très compliqué, j'en ai encore mal à la tête...

    mon travail vise à simplifier le developpement des carte electronique, on ne se posera plus la question de savoir si on change de composant (ce qui implique de gros developpement bas niveau actuellement) mais on regardera quels composants sont vendu avec un driver linux (avec biensur quelques modifications à effectuer mais un developpement plus léger)
    C'est effectivement le gros avantage de Linux, on s'affranchit au maximum de la plateforme matérielle, la même appli peut tourner sur un ARM7 à 60 MHz jusque sur le dernier super calculateur 256 CPU d'IBM... Mais, pour les plateformes un peu spécifique, il y a un travail (qui peut être conséquent) de configuration / d'adaptation du système à la plateforme cible (c'est souvent ce qu'on appelle le BSP pour Board Support Package). Dire l'étendue du travail est impossible à priori puisque ça dépends de la totalité de la plateforme, de l'application qui doit fonctionner etc... Si c'est pour un projet professionnel, il me semble qu'un développeur connaissant bien Linux, et sachant lire des datasheet éléctroniques est indispensable. Si vous n'avez pas les compètences en interne, certaines SS2I ont ce genre de compétences et peuvent développer le BSP, pour vous le fournir clef en main...

    merci de vos réponses
    Tutoyement de rigueur.

  9. #8
    Hayuki

    Re : linux embarqué : que choisir?

    je suis apprentis je vois du BSP (pas du linux mais j'apprendrais) tous les jours je connais un peu le travail à ce niveau là et il faudrai que j'adapte le noyau à notre architecture ensuite les cartes utilisées garderaient la même à peu de chose pres.
    A étudier prudemment, le "peu de chose" peut devenir complexe j'en suis conscient.
    la plus grande difficulté de Linux à ce niveau là c'est qu'il faut que ce soit portable pour toutes les architectures existante on a donc un code très complexe!! mais pas impossible a utilisé.

    on est pas complètement d'accord sur l'Ethernet mais je ne me suis pas assez penché dessus pour pouvoir en parler. mais selon moi pour mon application un driver suffit... enfin reste à étudier cet aspect
    il est évident que suivant les applications ça va changer

    tu as l'air de connaitre le niveau au dessus! ça m'intéresse!
    si je compile en statique comment dire au noyau d'aller chercher mon code applicatif sur un support mémoire et de le lancer?
    ensuite si je compile sous forme de module, comment dire au noyau d'aller chercher un module sur un support mémoire et de le lancer?
    quels sont les avantages du module par rapport à la compilation en statique? (ou le contraire)

    enfin je ne sais pas si c'est simple de répondre à ce genre de question... mais je n'y connais rien...

    PS : la personne qui connait bien linux dans la boite ben... c'est moi... et comme tu le vois ça va pas loin... mais j'ai un an pour apprendre!!! et sinon on ne me demanderait pas de le faire

  10. #9
    lou_ibmix_xi

    Re : linux embarqué : que choisir?

    mais j'ai un an pour apprendre!!!
    Tu as le temps, profites en pour bien faire les choses, je serais toi j'acheterai une carte basée sur XSCALE avec un bon support linux et les sources, je m'amuserais avec pour bien maitriser Linux sur ce type d'archi et mieux cerner le travail à fournir.

Discussions similaires

  1. linux embarqué sur microcontroleur
    Par invite19f369ec dans le forum Électronique
    Réponses: 7
    Dernier message: 18/02/2009, 00h23
  2. retour d'expérience linux embarqué
    Par mat64 dans le forum Électronique
    Réponses: 8
    Dernier message: 03/01/2009, 11h34
  3. ouverture de fichier sous linux embarqué
    Par invite5a645688 dans le forum Électronique
    Réponses: 18
    Dernier message: 15/04/2008, 20h49
  4. Programmation sous linux embarqué
    Par invite5a645688 dans le forum Électronique
    Réponses: 23
    Dernier message: 03/04/2008, 20h49
  5. Systeme embarqué:Linux
    Par invite5855bed4 dans le forum Électronique
    Réponses: 0
    Dernier message: 18/10/2007, 18h03
Découvrez nos comparatifs produits sur l'informatique et les technologies.