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

C Discussion :

Difference c et c embarqué


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Difference c et c embarqué
    Bonjour
    Question naive, si on sait programme en c peut on facilement se mettre au c embarqué ?
    Merci 🙂

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Le réponse courte non

    En gros, en C embarqué, tu travailles :
    • avec 1 norme de codage. Par exemple MISRA C.
    • sous système d'exploitation (Operating System ou O.S. en anglais) en temps réel. Par exemple FreeRTOS. Tous tes traitements doivent être exécutés en 1 temps précis.
    • avec des contraintes souvent fortes : taille mémoire (très petite), fréquence processeur (très faible), espace disque (quasi inexistant), ...
    • Édit : tu travailles avec 1 compilateur/ chaîne de compilation ("toolchain" en anglais) qui est propriétaire et/ ou qui peut ne pas respecter les standards (C99) ou être compatible seulement C89/ C90/ C95

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 984
    Points
    30 984
    Billets dans le blog
    1
    Par défaut
    Réponse plus longue: ça dépend
    Ca dépend de tes connaissances en C et de la notion que tu accordes à l'adverbe "facilement"...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    pas mieux que mr Foetus.
    Il ya plus de contraintes pour écrire du code pour de l'embarqué

  5. #5
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Bonjour,

    Déjà est-ce que le C non embarqué est vraiment utilisé? Il n'a pas vraiment d'intérêt au C sur un gros système, des tas d'autres langages feront le boulot tout aussi bien.
    On peut faire du C sur un PC, mais pour écrire quoi? Un logiciel avec de forte contrainte temporelle, ou un système d'exploitation. Mais par exemple le C++, sera plus adapté pour cela.
    Je dirais que le domaine qui reste au C, c'est l'embarqué. Donc pourquoi différencier le C du C embarqué?

    Il existe cependant des différences, mais elles sont infimes:
    - Le C embarqué peut avoir quelques mots supplémentaires. Par exemple pour préciser dans quelle mémoire sera telle variable ou telle fonction. Par exemple pour caractériser une fonction pour préciser que c'est une interruption.
    - La bibliothèque standard peut être légèrement différente. Par exemple, tout ce qui concerne les flottants peut être ôté, ou inversement étendu. Par exemple, pas de gestion de fichiers.

    Finalement, il n'y a pas grand chose de différent. Je dirais que le besoin supplémentaire est de bien comprendre et gérer les contraintes dues à l'embarqué. Ca n'est pas dans les subtilités du langage que réside le problème.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci pour vos reponses rapides et claires
    En fait ma question sous jacente et plus directe est :
    peut on postuler pour un job C embarqué en ne connaissant que le C?
    je connais l assembleur aussi sur pc
    j ai regarde les offres pour le c et en effet il ne semble etre utilisé que pour l embarqué.
    j imagine que ces jobs sont reservés a des personnes ayant un cursus d ingenieur.
    je ne suis pas ingenieur, juste une licence informatique et autodidacte principalement
    qu en pensez vous
    Merci

  7. #7
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Citation Envoyé par rom93 Voir le message
    Merci pour vos reponses rapides et claires
    En fait ma question sous jacente et plus directe est :
    peut on postuler pour un job C embarqué en ne connaissant que le C?
    je connais l assembleur aussi sur pc
    j ai regarde les offres pour le c et en effet il ne semble etre utilisé que pour l embarqué.
    j imagine que ces jobs sont reservés a des personnes ayant un cursus d ingenieur.
    je ne suis pas ingenieur, juste une licence informatique et autodidacte principalement
    qu en pensez vous
    Merci
    Tu connais le C, donc tu peux tout à fait postuler pour du C embarqué.
    Tu connais l'assembleur PC (donc je suppose le IntelX86), les assembleurs en embarqué sont souvent pour d'autres processeurs mais c'est très similaire. Donc c'est un plus.
    Un diplôme d'ingénieur n'est pas vital, c'est mieux qu'une licence mais n'est pas indispensable.

    Je pense que tu as tout ce qu'il faut pour postuler pour du développement C embarqué.

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    En France c'est moins vrai toutes les sociétés qui recherchent des développeurs C, c'est soit
    • 1 développeur qui a déjà 3-5 ans d'expérience - avec références professionnelles sur des projets concrets
    • 1 profil "électronique" : savoir souder, connaître FPGA/ VHDL, ... souvent utiliser des logiciels comme LabView ou des langages "Truc BI" qui est 1 C sans pointeurs (<- j'ai de vagues souvenirs et peut-être sans fonctions )


    Édit : Surtout qu'en France toutes les sociétés en embarqué sont internationales (Airbus/ Arianne, Dassault, Thales, ...STMicroelectronics), des anciennes gloires (Alcatel-Lucent) ou étrangères ... sans parler des filiales et des "jeunes-pousses"
    Il faut chercher beaucoup pour trouver la petite société (avec des conditions ultra-bof, salaire, avantages, taille équipe, budget projet, ...)

    Citation Envoyé par dalfab Voir le message
    Il existe cependant des différences, mais elles sont infimes:
    - Le C embarqué peut avoir quelques mots supplémentaires. Par exemple pour préciser dans quelle mémoire sera telle variable ou telle fonction. Par exemple pour caractériser une fonction pour préciser que c'est une interruption.
    - La bibliothèque standard peut être légèrement différente. Par exemple, tout ce qui concerne les flottants peut être ôté, ou inversement étendu. Par exemple, pas de gestion de fichiers.
    Tu as raison et je l'ai rajouté : souvent tu travailles avec 1 compilateur/ chaîne de compilation ("toolchain" en anglais) qui est propriétaire et/ ou qui peut ne pas respecter les standards (C99) ou être compatible seulement C89/ C90/ C95.

  9. #9
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 330
    Points : 4 151
    Points
    4 151
    Par défaut Cassandre est de retour :-(
    Bonjour,

    Il y a quand même une différence essentielle : c'est du soft hard .

    Le développement sur MCU est d'autant plus contraint que les sociétés ne vont pas mettre un MCU 10 fois plus performant que le strict nécessaire (a contrario d'un amateur qui pourra utiliser un MCU tellement surdimensionné qu'il pourra même s'offrir le luxe de développer avec un langage interprété). Les contraintes déjà précitées sont donc réelles et impliquent une bonne connaissance des architectures des MCU utilisés car, en embarqué, il n'y a pas 10 couches d'abstraction entre le développeur et le matériel. Le code doit souvent directement agir sur des registres (ports, divers types de mémoires, timers, etc.) très liés à l'architecture cible.

    Il en résulte une question d'embauche classique : quelles plateformes matérielles connaissez vous ?

    Le besoin de connaissance de l'électronique va souvent de pair avec la taille de l'entreprise. Plus elle est grande, plus il y a de chances d'avoir des spécialistes pour concevoir et tester les montages. Mais dans une start up, le fer à souder n'est jamais très loin.

    La réflexion de Foetus sur les conditions de travail est hélas avérée : plus on est près du matériel, plus on est loin de la reconnaissance sociale. Et contrairement aux exigences d'embauche qui empilent connaissances sur connaissances, ce sont les experts pointus qui arrivent le mieux à s'en sortir.

    Mais cela reste un beau métier pour quelqu'un qui ne veut pas faire le nième logiciel de gestion pour une MOA qui ne sait pas ce qu'elle veut .

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Citation Envoyé par Guesset Voir le message
    Le code doit souvent directement agir sur des registres (ports, divers types de mémoires, timers, etc.) très liés à l'architecture cible.
    Et des fois les specifications du micro-processeur sont payantes

Discussions similaires

  1. Differences base de données serveur et embarquée
    Par psykomusic dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 05/10/2017, 16h23
  2. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  3. Quel langage pour le développement embarqué ?
    Par freakydoz dans le forum Débats sur le développement - Le Best Of
    Réponses: 37
    Dernier message: 23/04/2007, 19h31
  4. Difference entre types d'Adresse IP
    Par freud dans le forum Développement
    Réponses: 3
    Dernier message: 02/03/2003, 02h06
  5. [Kylix] Kylix embarqué sur PDA ?
    Par Anonymous dans le forum NoSQL
    Réponses: 10
    Dernier message: 29/11/2002, 13h59

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