• [^] # Re: Embarqué, driver

    Posté par . En réponse au message COntribuer au développement linux .. Évalué à 3.

    Je suis d'accord avec max22, on ne devient pas champion de formule1 du jour au lendemain sans pratiquer.
    Ce que je te conseillerais, surtout si tu ne maîtrises pas le C, c'est de commencer par des petits projets; j'entends par là, que si tu ne maitrises pas les pointeurs de pointeurs, les pointeurs de fonction, unions, structures, allocations de mémoires, le code assembleur généré, les makefile, et tout ce qui donne des sueurs froides aux étudiants, alors ça risque d'être "compliqué".

    Je pense qu'il est plus motivant d'apprendre avec des applications concrètes.
    Comme idée de petits projets pour te former, je peux te proposer ceux-ci:
    - Récupération de la température, humidité à l'extérieur, dans un pot de fleurs, etc. avec un arduino ou autre microcontrolleur 8 bits
    - Affichage des données sur un petit écran (7 segments, lcd) avec un arduino ou autre microcontrolleur 8 bits
    - Transmission de données avec des petits modules RF par exemple (arduino, modules RF)
    - Récupération des données sur un PC via USB, bluetooth, webserver, ou autre
    - Développement de petites applications (PC) pour pilotage/récupération de données d'une plateforme arduino via interface série, ethernet ou autre

    Ca, c'était juste pour la partie C "embarqué"; et encore, je ne t'ai pas rajouté un développement en assembleur, indispensable pourtant. Sans maîtriser ce genre de développement, tu ne sauras que faire du C; ce n'est pas péjoratif, c'est juste que l'embarqué est une expertise à elle toute seule.
    Ensuite, tu peux attaquer sur de l'OS, le mieux c'est du RTOS mais bon, c'est juste pour de la formation.
    - Compilation d'un bootloader pour Raspberry, BeagleBone Black ou autre
    - Compilation et intégration d'un kernel "Linux From Scratch" sur une BeagleBoneBlack, Raspberry ou autre

    Essaye de toujours "finir" un projet que tu commences, car c'est dans les détails que tu apprendras le plus.
    Prends le temps de lire des livres en plus et les datasheets. Si ton système plante avant 2 ans, s'il ne démarre pas bien sur plusieurs milliers de tests, c'est que ton système n'est pas suffisemment maîtisé.

    PS1: parce qu'on est 'dredi, un HS:
    Si tu maîtrisais le C uniquement embarqué, tu ne devrais pas te sentir à l'aise pour faire une application performante en langage C sur PC. Et inversement, j'en connais qui sont très doués pour faire des applications/drivers sur PC et qui sont incapables de faire un driver performant et fiable sur une plateforme embarquée: ce n'est pas pour rien que "Das U-Boot" n'a suporté que très tard l'architecture x86.

    PS2(qui devrait être le minimum requis tellement ça me semble évident): si tu ne fais pas en sorte de maîtriser l'anglais (compréhension écrite au minimum), ou si tu es un de ces ayatollahs du français, passe ton chemin.