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 :

Comment choisir son OS Linux embarqué / Partage d'expérience


Sujet :

Embarqué

  1. #1
    Membre chevronné

    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
    Points : 1 950
    Points
    1 950
    Par défaut Comment choisir son OS Linux embarqué / Partage d'expérience
    Bonjour,

    Je me permets de lancer une petite discussion qui me permettra de créer un article sur le choix et les différentes utilisations d'OS Linux embarqué. J'utilise ici le terme OS plutôt que distribution, cela me semble plus adapté.

    Il existe beaucoup de systèmes et outils basés sur Linux sur le marché aujourd'hui, en voici une liste non exhaustive.

    Pour les OS clé en main
    • MeeGo
    • Android
    • GeeXbox / OpenBricks
    • webOS
    • Embedded Debian (emdebian)
    • Embedded Gentoo
    • Open Wrt


    Pour les OS sur mesure
    • Buildroot
    • Scratchbox
    • OpenEmbedded
    • Yocto Project
    • uClinux
    • LFS


    Je pense qu'il serait intéressant de recenser les avantages et inconvénients de chacun de ces projets. De voir dans quels cas et contextes ils sont pertinents ou bien à déconseiller. Mon idée serait du coup de regrouper l'expérience des gens pour en faire un document qui concentre toutes les informations nécessaires au choix d'un OS plutôt qu'un autre.

    Je trouve que cette réflexion vaut le coup d'être lancée car de mon côté le besoin est réel. A moins d'avoir pu travailler sur tous les projets, il reste difficile d'avoir une vision objective et constructive. Et par conséquent, choisir entre plusieurs OS n'est pas une mince affaire.

    Avez-vous une expérience sur l'intégration de telles solution ?
    Quel est votre ressenti sur ces différents OS ?
    Quels sont les avantages et inconvénients que vous pourriez trouver ?
    Quels sont les cas d'utilisation pour les différents OS que vous auriez pu tester ? Adapté ? Pas adapté ?

    J'ajouterai ma pierre à l'édifice après quelques réponses
    Merci d'avance !

  2. #2
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Salut,

    Y'a eCos aussi, il est complètement gratuit, très puissant et il est disponible pour plusieurs plateformes. Il est utilisé par beaucoup de fabricants et constructeurs.

    En ce qui me concerne, je m'y étais intéressé car c'était l'OS d'un modem/routeur sur lequel je faisais du reverse et que j'avais fini par détourner de son usage principal. Dans les faits, c'était aussi une manière d'avoir une plateforme bien dotée, avec interface Ethernet, USB... pour une misère, car à cette période, l'embarqué n'était pas encore à la mode et les petites cartes dédiées qu'on trouve assez facilement maintenant n'étaient pas encore très répandus et leur prix était excessivement démesuré par rapport à ce qu'on pouvait ou voulait en faire.
    Et ce qui est donc intéressant avec eCos, c'est que les ressources à son sujet, sa documentation, etc. sont presque intarissables. D'ailleurs, je suis toujours aussi impressionné par l'activité qu'il y a autour de cet OS, c'est vraiment un truc bien suivi et très puissant.

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Je connais peu les linux embarqués (je travaille plus avec des ordonnanceurs). Mais il ne me semble pas avoir vu dans ta liste des linux orientés temps réels. Or il me semble en avoir entendu parler.

  4. #4
    Membre éclairé
    Avatar de ArKam
    Inscrit en
    Mars 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2007
    Messages : 528
    Points : 680
    Points
    680
    Par défaut
    Yop, perso, j'utilise un DebianARM.

    Avantage: Distrib GNU/Linux complète et réplique exact de la Debian Classique.

    Inconvénient: Gestion d'alimentation pas fondamentalement adapté à l'embarqué.

    Au final, cette distrib m'est plus utile en tant qu'OS de développement ARM qu'embarqué car elle est plus spécialisé sur cette plateforme.

    De plus, bien que l'on puisse s'en servir en tant que Distrib pour de l'embarqué (rien ne l’empêche, après tout, c'est du Linux, on fait ce qu'on veux), vas falloir bidouiller un peu.

    Au final, je m'en sert sur ma board NVidia Tegra250 DevKit afin de faire mes reverse engineering de celle-ci.

  5. #5
    Membre habitué Avatar de monnoliv
    Homme Profil pro
    Opticien-ébéniste: lunettes de WC
    Inscrit en
    Août 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Opticien-ébéniste: lunettes de WC

    Informations forums :
    Inscription : Août 2003
    Messages : 139
    Points : 195
    Points
    195
    Par défaut
    Bijor,

    J'utilise OpenEmbedded (bitbake) pour créer des distributions Angtröm et pour créer des paquetages d'installation, y compris pour de simples programmes (gdbserver par exemple). Mon embarqué est un ARM Cortex-A8.
    La distro choisie est une Angstrom parce que c'est relativement léger.
    OpenEmbedded me permet de choisir presqu'à la volée si je veux la distro en console, avec interface Gui, ...
    J'aimerais bien faire un tuto un de ces quatre là-dessus, ça vaut la peine de partager l'expérience de la mise en route de tout ce b... mais il me faudra du temps pour rédiger.
    Pour le reste (l'applicatif), j'utilise Eclipse avec pas mal de plugin sous Ubuntu 10.10 (j'avais upgradé en 11.04 mais j'en suis vite revenu). Là aussi il y a moyen de faire un tuto parce que les infos sont trop éparses, cela m'a pris pas mal de temps avant de pouvoir déboguer "Bonjour tout le monde" dans l'embarqué via la liaison ethernet.

    Olivier
    IoT CC3200, ESP8266
    8051, ARM Cortex-M (forever)/Cortex A (TI, Silabs, NXP), FPGA, Bare Metal Raspberry-PI programming
    VHDL-ALTERA-XILINX

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    Personnelement j'utilise BuildRoot pour du arm alors ce que je dis est valable pour arm :
    il est simple à utiliser : je ne connaissais rien à Linux et j'ai mis moins de 2 mois à mettre en place une distrib (et la chose sur laquelle j'ai passé le moins de temps c'est buildroot)
    il est complet : il fait tout chaine de compilation, téléchargement, compilations des application/noyau/bootloader mais personnellement je l'utilise avec un noyau à part, le bootloader à part, et la chaine de compilation à part (pour des raison historique de projet) bref c'est complet et modulaire

    pour mon environnement je trouve que les distributions toutes faites ont trop d'application... mais je n'ai pas passé beaucoup de temps sur ces distrib BuildRoot me parait plus facilement "optimisable".
    Open Embedded j'ai tester un peu et au salon RTS j'ai vu une présentation qui donne envie (comme Aquanum) mais je pense que c'est plus long à prendre en mains mais après ça à l'air puissant
    Embdbian j'ai voulu regarder mais franchement j'ai pas trouvé assez de docs pour que ce soit facilement utilisable (enfin c'est dans mon souvenir ça fait longtemps que j'ai regardé)

    pour ce qui est du temps réel il y a par exemple Xenomai ou RTAI ou le patch Preemptrt mais tout ça on peu l'ajouter sur n'importe quelle distrib (j'utilise Xenomai)

    le reste je n'ai pas testé

    voila voila

    PS : pour eCos il me semble que ce n'est pas un Linux... Mais bon c'est vrai qu'il à l'air intéressant alors moi je l'accepte

  7. #7
    Membre confirmé Avatar de themadmax
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 446
    Points : 496
    Points
    496
    Par défaut
    Bonjour,

    Ayant fait dans le milieu professionnelle du dev embarqué sous WinCE, et voulant personnellement du coté linux j'ai investie dans une carte de développement FriendlyARM mini2440. Pour moins de 100€, j'ai pu faire mes armes avec du Linux embarqué. Débutant avec du linux from scratch, puis bluidroot, et finalement Emdebian.
    Vue que je n'ai pas un projet bien précis, je trouve que d'utilisé une vrai distribution est un grand plus dans la flexibilité d'installation des packets, et la cross-compilation est aussi facilité. Bien sur cette version light de debian ne contient pas la liste de tous les packets de la distribution. Et l'utilisation d'une distribution est beaucoup plus lourd que des systèmes construit "à la main".
    ________________________________________________
    http://bliquid.fr : Blog sur Android et l'Acer Liquid

  8. #8
    Membre chevronné

    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
    Points : 1 950
    Points
    1 950
    Par défaut
    Hop, je me lance. Donc, de ce que j'ai pu tester jusque là :

    Buildroot
    Vraiment très pratique car complètement sur mesure. Je travaille avec depuis 1 an et demi et j'en suis vraiment très satisfait. Il y aurait un article à écrire dessus, j'y compte bien à l'occasion. Une version sort tous les 3 mois, et le projet est très vivant.
    Les avantages : modularité et simplicité
    Inconvénients : pas de gestion de package intégrée, la suppression/réinstallation/recompialtion de paquets est un peu prise de tête, le temps de compilation d'un système complet

    LFS
    Utile lorsque l'on souhaite se générer un Linux ultra ultra sur mesure, avec optimisation de taille pour faire tenir ça sur les plus petits systèmes. Je le vois plutôt comme un outil d'apprentissage qu'une solution industrielle aujourd'hui. Enfin, Linux From Scratch est plus de l'ordre de la guideline qu'un réel outil de génération de système. Tout se fait à la main.

    Android
    Je suis le nez dedans en ce moment, mais jusque là je trouve que la doc relative à l'intégration/portage d'un système Android est assez rare. Très peu de doc, c'est bien galère

    Embedded Gentoo
    Personnellement, je ne vois pas trop l'intérêt. Enfin devoir recompiler ses paquets sur de l'embarqué... c'est juste une idée à la con
    J'ai tenté de m'installer vim sur une gentoo embarquée, ça m'a pris plus d'une heure de compiler sur target ! Super ! Pour moi l'avantage de Gentoo est de pouvoir tout faire soi même quand on est un gros rebelle de Linux. Mais là honnêtement, qu'on me montre des avantages pour contraster avec ma première approche catastrophique...

    Embedded Debian
    Bien sympathique d'avoir une debian embarquée. Toutefois, l'âge de certains paquets peut poser certains problèmes et être assez pénible.

    Angström
    Agréable approche d'Angström avec un gestionnaire paquets bien sympathique !
    Mais je n'ai pas eu l'occasion de travailler sur la durée avec.
    Si je ne me trompe pas par contre, Angström/OpenEmbedded est un très gros consommateur de place sur le disque dur pour tout l'environnement de dev (staging)

  9. #9
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Je pense que le sujet a été épinglé trop vite, du coup plein de personnes passent à côté.

  10. #10
    Membre habitué Avatar de monnoliv
    Homme Profil pro
    Opticien-ébéniste: lunettes de WC
    Inscrit en
    Août 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Opticien-ébéniste: lunettes de WC

    Informations forums :
    Inscription : Août 2003
    Messages : 139
    Points : 195
    Points
    195
    Par défaut
    Si je ne me trompe pas par contre, Angström/OpenEmbedded est un très gros consommateur de place sur le disque dur pour tout l'environnement de dev (staging)
    Oui mais sur le PC de développement on en a de la mémoire disque!
    IoT CC3200, ESP8266
    8051, ARM Cortex-M (forever)/Cortex A (TI, Silabs, NXP), FPGA, Bare Metal Raspberry-PI programming
    VHDL-ALTERA-XILINX

  11. #11
    Membre éclairé
    Avatar de ArKam
    Inscrit en
    Mars 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2007
    Messages : 528
    Points : 680
    Points
    680
    Par défaut
    Citation Envoyé par Aquanum Voir le message
    Hop, je me lance. Donc, de ce que j'ai pu tester jusque là :

    Buildroot
    Vraiment très pratique car complètement sur mesure. Je travaille avec depuis 1 an et demi et j'en suis vraiment très satisfait. Il y aurait un article à écrire dessus, j'y compte bien à l'occasion. Une version sort tous les 3 mois, et le projet est très vivant.
    Les avantages : modularité et simplicité
    Inconvénients : pas de gestion de package intégrée, la suppression/réinstallation/recompialtion de paquets est un peu prise de tête, le temps de compilation d'un système complet

    LFS
    Utile lorsque l'on souhaite se générer un Linux ultra ultra sur mesure, avec optimisation de taille pour faire tenir ça sur les plus petits systèmes. Je le vois plutôt comme un outil d'apprentissage qu'une solution industrielle aujourd'hui. Enfin, Linux From Scratch est plus de l'ordre de la guideline qu'un réel outil de génération de système. Tout se fait à la main.

    Android
    Je suis le nez dedans en ce moment, mais jusque là je trouve que la doc relative à l'intégration/portage d'un système Android est assez rare. Très peu de doc, c'est bien galère

    Embedded Gentoo
    Personnellement, je ne vois pas trop l'intérêt. Enfin devoir recompiler ses paquets sur de l'embarqué... c'est juste une idée à la con
    J'ai tenté de m'installer vim sur une gentoo embarquée, ça m'a pris plus d'une heure de compiler sur target ! Super ! Pour moi l'avantage de Gentoo est de pouvoir tout faire soi même quand on est un gros rebelle de Linux. Mais là honnêtement, qu'on me montre des avantages pour contraster avec ma première approche catastrophique...

    Embedded Debian
    Bien sympathique d'avoir une debian embarquée. Toutefois, l'âge de certains paquets peut poser certains problèmes et être assez pénible.

    Angström
    Agréable approche d'Angström avec un gestionnaire paquets bien sympathique !
    Mais je n'ai pas eu l'occasion de travailler sur la durée avec.
    Si je ne me trompe pas par contre, Angström/OpenEmbedded est un très gros consommateur de place sur le disque dur pour tout l'environnement de dev (staging)
    Trés bon résumé de ta part

    Juste un truc, pour débian, si tu souhaite des paquets à jour tu peux mettre ceci dans ton source.list:

    deb http://ftp.fr.debian.org/debian/ sid main contrib non-free
    deb-src http://ftp.fr.debian.org/debian/ sid main contrib non-free

    Le SID c'est le Still In Development et ça intègre les paquets les plus à jour, par contre du coups, tu vas avoir potentiellement des soucis de jeunesse.

  12. #12
    Membre habitué
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Mai 2002
    Messages : 114
    Points : 156
    Points
    156
    Par défaut
    Bonjour,

    On utilise actuellement des Fox G20 dans nos systèmes. J'utilise principalement embdebian pour les cartes ayant besoin du réseau et de service type HTTP, SSH, SQL... Mais le noyau est tout de même configuré au plus juste en fonction des besoins.

    Pour les cartes très simples on a opté pour un linux "maison". En gros rien de plus que le noyau et un busybox aux petits oignons, avec quelques scripts. Mais dans ce cas on ne fait rien de plus que lancer l'application dédiée. Aucun accès réseau, aucun services.

    La raison principal est un passage d'environ 2minutes à moins de 10s sur le temps de démarrage.

    Et la satisfaction personnelle...

    Donc personnellement je pense qu'un OS type LFS se justifie pleinement sur des systèmes industriels où le gain compense le temps passé. Quand le système ne propose aucune fonctionnalité, c'est pus rapide de partir de rien que de tout enlever d'un système complexe.

  13. #13
    Membre à l'essai
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Points : 15
    Points
    15
    Par défaut Débuté sous Linux embarqué
    Bonjour tout le monde,

    Cela fait quelques mois que j'essaye de récolter des informations sur "comment développer une application embarquée sous Linux ?" De ce fait, j'ai lu énormément d'articles sur le sujet et jusqu'à présent, ça reste flou pour moi. Pour info, j'ai seulement travaillé 2 mois au cours d'un stage hors embarqué sur un PC équipé d'une distribution Ubuntu sur un projet d'imagerie médicale (ça remonte à 3 ans). En effet, Passionné de l'embarqué, je développe en langage C sur microcontroleur PIC et j’intègre dans mes applications des interfaces de communication industrielles comme CANopen, Modbus et un protocole maison. Cependant, je souhaiterai me lancer sur du TCP/IP (je pense bien maîtrisé théoriquement le modèle en couche puis quelques exemples de sources). Personnellement, j'ai envi de basculer sur le développement Linux embarqué par curiosité et dans le but de renforcer mes compétences. Voici quelques questions permettant de m’éclaircir les idées :

    1. Un programme embarqué classique sans OS se démarre juste après la mise sous tension de la carte au main.c, alors comment ça se passe pour un OS embarqué ?

    2. Si je dispose d'une application sans OS communiquant par liaison série, comment pourrais-je intégrer cette même application dans un OS embarqué ? L'accès aux GPIO (ports d'entrée/sortie) se ferra aussi simplement qu'avec sans OS (par exemple piloter une led) ?

    3. Un programme C sur PIC est dit séquentiel, alors avec un OS, mon programme s'exécutera de quelle manière ?

    4. Et la question au-quelle je n'arrête pas de me poser : qu'est ce qu'un OS embarqué peut apporter à une application ?

    Je reconnais que mes questions sont assez vagues mais je pourrai surement les préciser suivant vos différentes réponses que j'attends avec impatience !!

    Merci à vous.

    Cordialement,

  14. #14
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Bonjour tout le monde,
    Salut !

    Je reconnais que mes questions sont assez vagues mais je pourrai surement les préciser suivant vos différentes réponses que j'attends avec impatience !!
    Tes questions sont vagues parce que tu ne sembles être au clair sur ce que fait un système d'exploitation

    j'ai envi de basculer sur le développement Linux embarqué par curiosité et dans le but de renforcer mes compétences
    Il y a énormément d'OS embarqué qui ne sont pas Linux, et qui sont sûrement plus simple à prendre en main et à utiliser sur des "petits" micro-contrôleurs. Personnellement, je travaille avec Keil µVision (un IDE pour µ-contrôleur) depuis un mois et j'utilise parfois l'OS qui est fourni avec, RTX. Je vais donc répondre à tes questions par rapport avec mon expérience avec cet OS :

    1. Un programme embarqué classique sans OS se démarre juste après la mise sous tension de la carte au main.c, alors comment ça se passe pour un OS embarqué ?
    Idem. En fait, tu as un script de start-up qui fait des choses (init, éventuellement appeler des fonctions) puis saute à l'adresse de la fonction main. Que j'utilise RTX ou pas, même effet : mon programme commence par le main.

    2. Si je dispose d'une application sans OS communiquant par liaison série, comment pourrais-je intégrer cette même application dans un OS embarqué ? L'accès aux GPIO (ports d'entrée/sortie) se ferra aussi simplement qu'avec sans OS (par exemple piloter une led) ?

    3. Un programme C sur PIC est dit séquentiel, alors avec un OS, mon programme s'exécutera de quelle manière ?
    Un OS, c'est surtout la gestion multithread. Si tu ne démarres pas de thread, ton programme exécute ton main et ses sous-fonctions de la même façon. Avec Keil et RTX, l'utilisation de l'OS n'est qu'une option à cocher dans les options du projet. Si tu n'utilises pas les fonctions de l'OS, tu peux compiler avec ou sans cette option sans changer ton code...

    4. Et la question au-quelle je n'arrête pas de me poser : qu'est ce qu'un OS embarqué peut apporter à une application ?
    Si tu poses la question, alors la réponse est très possiblement "rien". Il faut que tu comprennes à quoi serve un OS. Un gros avantage est le multithread. L'OS te permet aussi de faire des évènements, endormir des threads, etc.

    Je prend l'exemple d'une carte pour laquelle j'ai fait une démo fin décembre. Les drivers pour les boutons, les joysticks, le touch screen étaient en mode "attente active" et non en mode "interruption". Du coup, j'ai fait 3 threads qui venaient régulièrement interrogés les entrées et générait des évènements au besoin. Assez chiant à faire sans thread.

    De la même manière, tu peux mettre un thread en attente d'un signal émis par un autre thread et c'est l'OS qui te donne les fonctions pour le faire et s'occupe de tout.

    Merci à vous.
    En espérant avoir aidé ^^

  15. #15
    Membre à l'essai
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Points : 15
    Points
    15
    Par défaut
    Bonjour et merci pour tes réponses,

    Je tiens à préciser que j'ai envi de faire de Linux embarqué par curiosité et que je sais qu'il existe bcp d'autres OS pouvant être embarqué. Mais mon choix c'est Linux.

    D'après ce que tu dis, si je n'utilise pas de threads dans mon programme alors un OS n'a pas lieu d'être ?

    Par exemple, j'ai envi de travailler sur un projet personnel consistant à récupérer un signal d'un convertisseur A/D, appliquer un algorithme de filtrage et l'envoyer sur internet par TCP/IP. Est ce selon ton expérience, j'aurai besoin d'utiliser les threads pour ça ?

    Merci

  16. #16
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Si ton programme exécute séquentiellement les actions, je ne vois pas trop à quoi un thread supplémentaire te servirait.

    Si en revanche, tu peux recevoir à tout moment un paquet réseau te demandant de faire une nouvelle mesure alors que ton programme est occupé à faire autre chose, ça peut-être utile. Ici, un interruption pourrait faire l'affaire, mais un thread peut apporter plus de chose. Mettons par exemple que ton processeur fasse un calcul long. Arrive le paquet réseau. Si tu es sur interruption, l'ISR s'exécute jusqu'à la fin et rend la main. Si l'ISR fait beaucoup de calculs, elle bloque pendant longtemps le traitement principal. Avec le threads, tu peux avoir une gestion plus fine grâce aux priorités des threads. Si le traitement principal est prioritaire, le thread recevant le paquet réseau attendra que le traitement principal se termine. Si le traitement demandé est plus prioritaire, le programme principal attendra comme avec une interruption. Enfin, si elles ont la même priorité, l'OS donnera du temps processeur à l'un puis à l'autre pour que les deux avancent sans attendre la fin complète de l'autre.

  17. #17
    Membre expérimenté

    Homme Profil pro
    Collégien
    Inscrit en
    Juillet 2010
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juillet 2010
    Messages : 545
    Points : 1 429
    Points
    1 429
    Par défaut
    Salut!

    Est-ce qu'il existe une distrib linux RT (avec gestion d'une pile TCP/IP) capable de booter en moins de 1s?

    Je viens de lire plus haut qu'il est possible de descendre à 10s.
    Je voudrais bien voir votre réaction le jour ou il faudra attendre 10s après avoir mis le contact pour démarrer le moteur de votre voiture. C'est déjà le cas dans les téléviseurs, les boxs internets (1à2 minute de boot...) les téléphones portables, je trouve ces délais INACCEPTABLES.

    Je me demande d'ailleurs ce qui peut prendre autant de temps?

  18. #18
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Salut!
    Hey !

    Est-ce qu'il existe une distrib linux RT (avec gestion d'une pile TCP/IP) capable de booter en moins de 1s?
    Peut-être. Mais pas sûr qu'elle soit accessible sur le net. N'importe qui peut faire une distribution Linux, avec ce qu'il veut et éventuellement suffisamment peu de trucs pour que ça boote vite. 1s en revanche, je ne ne sais pas du tout, ça peut dépendre aussi du matériel.


    Je viens de lire plus haut qu'il est possible de descendre à 10s.
    Je voudrais bien voir votre réaction le jour ou il faudra attendre 10s après avoir mis le contact pour démarrer le moteur de votre voiture.
    En même temps, j'ai pas une voiture récente et entre le moment où je mets le contact et le moment où tous les voyants s'éteignent et que je peux donc démarrer, il se passe plusieurs secondes ^^

    C'est déjà le cas dans les téléviseurs, les boxs internets (1à2 minute de boot...) les téléphones portables, je trouve ces délais INACCEPTABLES.
    Mon téléphone Android et ma télé mettent des plombes à démarrer et c'est totalement insupportable ! Ma freebox, je ne sais, je ne la reboote jamais ^^
    Il faut aussi voir la fréquence à laquelle tu allumes et éteints ton appareil. Le temps de boot devient désagréable quand tu le subis souvent.

    Je me demande d'ailleurs ce qui peut prendre autant de temps?
    Du code et du code et du code qui s'exécute

Discussions similaires

  1. Comment choisir son serveur d'intégration ?
    Par LordBob dans le forum Intégration Continue
    Réponses: 4
    Dernier message: 20/12/2010, 12h54
  2. Comment choisir son serveur?
    Par norachaouia dans le forum Débuter
    Réponses: 0
    Dernier message: 04/08/2008, 14h15
  3. Comment choisir son serveur
    Par halim-aman dans le forum Ordinateurs
    Réponses: 1
    Dernier message: 04/07/2008, 08h34
  4. Comment choisir son environnement de développement ?
    Par onirisme dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 06/04/2007, 19h49
  5. Comment choisir son lecture video par defaut
    Par Asmod_D dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 09/11/2006, 12h44

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