Précédent   Forum du club des développeurs et IT Pro > Général Développement > Programmation système > Embarqué
Embarqué Forum d'entraide sur la programmation des systèmes embarqués
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 19/05/2011, 18h32   #1
Aquanum
Rédacteur/Modérateur
 
Avatar de Aquanum
 
Homme Yoann Sculo
Ingénieur Linux Embarqué
Inscription : janvier 2006
Messages : 685
Détails du profil
Informations personnelles :
Nom : Homme Yoann Sculo
Âge : 26
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Ingénieur Linux Embarqué
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : janvier 2006
Messages : 685
Points : 2 610
Points : 2 610
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 !
__________________
Modérateur forum Système Embarqués
Blog - Projets - Articles - Github
Aquanum est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 20/05/2011, 21h13   #2
minnesota
Membre Expert
 
Inscription : avril 2010
Messages : 1 222
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 1 222
Points : 1 585
Points : 1 585
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.
__________________
.
NTMaxTools
....Bibliothèque de scripts utilitaires batch pour Windows (Command Line Routines)
....Tout n'est pas public ou publié encore... et mon téléchargement montre que le compteur des Downloads n'est pas à jour...
minnesota est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/05/2011, 20h41   #3
3DArchi
Rédacteur/Modérateur
 
Avatar de 3DArchi
 
Inscription : juin 2008
Messages : 7 631
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 7 631
Points : 12 159
Points : 12 159
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.
__________________
Ressources proposées par 3DArchi.
Les fonctions virtuelles en C++.
3DArchi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 14h27   #4
ArKam
Membre expérimenté
 
Avatar de ArKam
 
Inscription : mars 2007
Messages : 525
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mars 2007
Messages : 525
Points : 577
Points : 577
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.
ArKam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 11h47   #5
monnoliv
Membre habitué
 
Inscription : août 2003
Messages : 127
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : août 2003
Messages : 127
Points : 137
Points : 137
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
__________________
Cortex M0 M3 A8
monnoliv est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/05/2011, 15h34   #6
Hayuki
Candidat au titre de Membre du Club
 
Aurèle
Inscription : mai 2009
Messages : 20
Détails du profil
Informations personnelles :
Nom : Aurèle
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mai 2009
Messages : 20
Points : 12
Points : 12
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
Hayuki est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 16h16   #7
themadmax
Membre éclairé
 
Avatar de themadmax
 
Inscription : juillet 2005
Messages : 430
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 430
Points : 390
Points : 390
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
themadmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 14h28   #8
Aquanum
Rédacteur/Modérateur
 
Avatar de Aquanum
 
Homme Yoann Sculo
Ingénieur Linux Embarqué
Inscription : janvier 2006
Messages : 685
Détails du profil
Informations personnelles :
Nom : Homme Yoann Sculo
Âge : 26
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Ingénieur Linux Embarqué
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : janvier 2006
Messages : 685
Points : 2 610
Points : 2 610
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)
__________________
Modérateur forum Système Embarqués
Blog - Projets - Articles - Github
Aquanum est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/06/2011, 15h53   #9
minnesota
Membre Expert
 
Inscription : avril 2010
Messages : 1 222
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 1 222
Points : 1 585
Points : 1 585
Je pense que le sujet a été épinglé trop vite, du coup plein de personnes passent à côté.
__________________
.
NTMaxTools
....Bibliothèque de scripts utilitaires batch pour Windows (Command Line Routines)
....Tout n'est pas public ou publié encore... et mon téléchargement montre que le compteur des Downloads n'est pas à jour...
minnesota est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 21h28   #10
monnoliv
Membre habitué
 
Inscription : août 2003
Messages : 127
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : août 2003
Messages : 127
Points : 137
Points : 137
Citation:
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!
__________________
Cortex M0 M3 A8
monnoliv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 10h21   #11
ArKam
Membre expérimenté
 
Avatar de ArKam
 
Inscription : mars 2007
Messages : 525
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mars 2007
Messages : 525
Points : 577
Points : 577
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.
ArKam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 18h39   #12
Teuchteu
Membre actif
 
Homme Bruno
Développeur en systèmes embarqués
Inscription : mai 2002
Messages : 114
Détails du profil
Informations personnelles :
Nom : Homme Bruno
Âge : 32
Localisation : France

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

Informations forums :
Inscription : mai 2002
Messages : 114
Points : 158
Points : 158
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.
Teuchteu est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 05/01/2013, 22h41   #13
Sissroh
Invité régulier
 
Homme Sissroh Coulby
Développeur en systèmes embarqués
Inscription : avril 2012
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme Sissroh Coulby
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 : 7
Points : 7
Points : 7
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,
Sissroh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2013, 14h01   #14
Bktero
Expert Confirmé Sénior
 
Avatar de Bktero
 
Ingénieur systèmes embarqués
Inscription : juin 2009
Messages : 1 695
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Ingénieur systèmes embarqués
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2009
Messages : 1 695
Points : 4 131
Points : 4 131
Citation:
Bonjour tout le monde,
Salut !

Citation:
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

Citation:
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 :

Citation:
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.

Citation:
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...

Citation:
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.

Citation:
Merci à vous.
En espérant avoir aidé ^^
__________________
Si Code::Blocks vous dit undefined reference to 'socket@12', cela signifie que vous avez un problème d'édition des liens. Allez dans Projects / Build Options / Linker Settings / Add et renseigner ici les .a qui vont bien. Exemple pour les sockets : C:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a

Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^

Pour vos problèmes d'embarqué, utilisez le forum dédié !
Bktero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2013, 21h22   #15
Sissroh
Invité régulier
 
Homme Sissroh Coulby
Développeur en systèmes embarqués
Inscription : avril 2012
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme Sissroh Coulby
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 : 7
Points : 7
Points : 7
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
Sissroh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2013, 22h33   #16
Bktero
Expert Confirmé Sénior
 
Avatar de Bktero
 
Ingénieur systèmes embarqués
Inscription : juin 2009
Messages : 1 695
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Ingénieur systèmes embarqués
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2009
Messages : 1 695
Points : 4 131
Points : 4 131
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.
__________________
Si Code::Blocks vous dit undefined reference to 'socket@12', cela signifie que vous avez un problème d'édition des liens. Allez dans Projects / Build Options / Linker Settings / Add et renseigner ici les .a qui vont bien. Exemple pour les sockets : C:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a

Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^

Pour vos problèmes d'embarqué, utilisez le forum dédié !
Bktero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 09h16   #17
mith06
Membre actif
 
Ingénieur développement matériel électronique
Inscription : juillet 2010
Messages : 140
Détails du profil
Informations professionnelles :
Activité : Ingénieur développement matériel électronique
Secteur : Industrie

Informations forums :
Inscription : juillet 2010
Messages : 140
Points : 199
Points : 199
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?
mith06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2013, 21h12   #18
Bktero
Expert Confirmé Sénior
 
Avatar de Bktero
 
Ingénieur systèmes embarqués
Inscription : juin 2009
Messages : 1 695
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Ingénieur systèmes embarqués
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2009
Messages : 1 695
Points : 4 131
Points : 4 131
Citation:
Salut!
Hey !

Citation:
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.


Citation:
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 ^^

Citation:
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.

Citation:
Je me demande d'ailleurs ce qui peut prendre autant de temps?
Du code et du code et du code qui s'exécute
__________________
Si Code::Blocks vous dit undefined reference to 'socket@12', cela signifie que vous avez un problème d'édition des liens. Allez dans Projects / Build Options / Linker Settings / Add et renseigner ici les .a qui vont bien. Exemple pour les sockets : C:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a

Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^

Pour vos problèmes d'embarqué, utilisez le forum dédié !
Bktero est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h27.


 
 
 
 
Partenaires

Hébergement Web