Franck - Chef de projet C

Ref : 130903H001
Photo de Franck, Chef de projet C
Compétences
C
C++
LINUX EMBARQUE
Expériences professionnelles
  • Expérience

    2013-2020 Consultant indépendant en logiciel embarqué

    Depuis 01/2018 - Samsung / HARMAN (région parisienne)
    Développement et maintenance de l’hyperviseur de type 1 de Samsung/HARMAN utilisé dans le domaine automobile (Audi, Daimler)
    Virtualisation de systèmes Cockpit/Infotainment pour différent projets automobiles à base de processeurs ARMv8 de Samsung ou Mediatek.
    Développement du driver de virtualisation des clocks Linux


    2013-2016 Consultant indépendant en logiciel embarqué

    Depuis 08/2015 - Coyote System (Paris)
    ⦁ Développement du dernier produit connecté de Coyote : filesystem buildroot, conception de la mise à jour fiabilisée du système, tests de production (GPS, bluetooth, wifi, GPIOs, ...).
    ⦁ Développement des systèmes Androïd des boîtiers Coyote.
    ⦁ Re-design du support de la video du Coyote S après étude comparative des différents codecs et de leur accélération matérielle (MPEG4 Visual et H264).
    ⦁ Support de la mise à jour du système par USB sur le Coyote Mini
    ⦁ Support de la mise à jour de la cartographie par USB (création d’un format de fichier de cartographie signé et sécurisé, RSA, SHA-2, AES-256 CBC).
    ⦁ Prototypage d’un dock bluetooth permettant d’implémenter un kit main libre


    11/2013 - 08/2015 - Etrali Trading Solutions (Paris)
    ⦁ Développement et maintenance du système embarqué de téléphonie sur IP multicast : distribution linux “maison”, mécanisme de mise à jour, serveur de gestion de flux audio écrit en C basé sur ALSA, RTP, SRTP).
    ⦁ Support d’une nouvelle carte CPU x86: travail avec le fournisseur, revue des schémas, mise à jour du noyau linux, choix de la flash, drivers de GPIOs.
    ⦁ Optimisations majeures : division de la latence audio par deux, et multiplication des capacités audio par 8 (nombre de flux UDP).



    Mars 2014 - Projet de startup
    ⦁ Projet de bracelet connecté pour le contrôle d’accès
    ⦁ Etude de différents SoC bluetooth LE


    2012–2013 Responsable technique – Cy-Play (Paris)

    2008–2012 Embedded Software Engineer – NVIDIA (Munich, USA, France)
    ● Portage du driver graphique de NVIDIA sur un hyperviseur (PikeOS).
    ● Développement logiciel embarqué Infotainment BMW (CA: $100M).
    ● Développement et maintenance logiciel embarqué Infotainment Audi.
    ● Portage du driver graphique de NVIDIA sur QNX.
    ● Écriture d'un pilote graphique pour NVIDIA Geforce 4 depuis zéro pour une borne d'arcade à base de processeur 68k (CA: $3-4M).

    2002-2008 Ingénieur en systèmes embarqués – VisioWave, General Electric (Lausanne, Suisse)

    Développement d'une plate-forme embarquée Linux / ARM
    Développement d'une plate-forme d'encodage / décodage vidéo basée sur un processeur TI DaVinci (double coeur ARM/DSP) et un système MontaVista Linux :
    ● Excellente compréhension du système allant du matériel à l'applicatif.
    ● Adaptation du chargeur d'amorçage (u-boot) et du noyau linux au nouveau
    matériel (DDR, flash, EEPROM).
    ● Construction d'un système de fichier sur mesure en mémoire vive (initrd).
    ● Développement d'un mécanisme fiable de mise à jour de la flash, basculant
    sur système linux minimaliste en cas d'interruption.
    ● Développement de pilotes de périphériques linux pour le décodeur vidéo
    ADV7180, les contrôleurs GPIO, I2C et PWM du DaVinci.
    ● Interfaçage avec les codecs audio / video (PCM / H264).
    ● Ecriture d’un outil de détection de fuites mémoires à distance.
    ● Maintenance sur le streaming video (version maison de RTSP/RTP)
    ● Maintenance du pilote d'entrée vidéo (basé sur l'interface video for linux) et
    de sortie vidéo (basé sur l'interface linux framebuffer) fournis par
    MontaVista.
    ● Utilisation intensive des compilateurs croisés(gcc), débogueurs à distance
    (gdb/gdbserver), des outils d'analyse de binaires (objdump, nm, …),
    d'émulateurs et débogueurs JTAG.
    ● Utilisation des options de make, gcc et ld pour développer un système de
    compilation automatique optimisé.
    Développement d'un système d'exploitation simplifié pour Intel
    En tant que projet personnel, développement d'un système d'exploitation simplifié
    pour processeurs x86 :
    ● Modèle de segmentation plate
    ● Passage en mode protégé
    ● Lecture du noyau sur le premier disque dur ATA
    ● Activation de la pagination
    ● Pilote VGA simplifié
    ● Pilote de clavier simplifié
    ● Ordonnanceur simplifié et lancement de deux tâches
    Développement d'une bibliothèque en C++ contrôlant les entrées / sorties
    vidéo de nos serveurs
    Conception et implémentation d'un module C++ permettant aux couches logicielles
    supérieures d'énumérer et de contrôler les entrées / sorties vidéo des anciennes et
    nouvelles générations de cartes.
    Développement d'une plate-forme Windows XP embarquée
    ● Développement d'outils pour évaluer les performances des cartes réseaux et
    des disques durs.
    ● Excellente compréhension de l'architecture du PC.
    ● Développement de pilotes ISA et PCI sous Windows pour le contrôle des
    ventilateurs, des voltages et des températures de la carte mère.
    ● Génération d'images Windows XP embarquées.
    Développement d'applications de test en C++
    ● Développement d'applications de test basées sur XML pour nos serveurs
    audio/vidéo.
    ● Développement d'une application en C++ permettant de modéliser le
    comportement de nos systèmes embarqués (relation entre l'utilisation du
    processeur, le nombre d'entrées / sorties vidéo, les stockages, ...).
    Développement d'une plate-forme embarquée Linux / Power PC
    Développement et maintenance d'un serveur audio / vidéo en C++ sur un système
    MontaVista Linux. Implémentation d’une API système cross-plateforme Windows /
    Linux. Implémentation de pilotes GPIO et I2C sous Linux.
    2000-2002 Stages / Projets étudiants
    Développement d'une application java client/serveur
    Projet étudiant à l'EPFL: développement d'une application java client/serveur de
    gestion d'alarmes (basée sur RMI et une base de données SQL).
    Développement en VHDL
    Projet étudiant à l'EPFL: développements en VHDL d'un “jeu de la vie” sur FPGA,
    incluant un contrôleur VGA pour l'affichage, un UART pour la transmission de l'état
    initial, et un contrôleur mémoire.
    Une expérience en OpenGL
    Projet de fin d'année a l'ENSEIRB: convertisseur DirectX/OpenGL. Portage de la
    partie cliente de GLX (le support OpenGL pour X) sur MS Windows.
    Affichage vidéo optimisé sous Linux
    Stage chez VisioWave R&D – Lausanne, Suisse. Développement d'un module
    d'affichage vidéo en C/C++ sous Linux (utilisant XVideo, XShm, ou l'interface
    Framebuffer). Développement d'un module JNI (Java Native Interface) pour fournir
    une interface sous Java.

Études et formations
  • Compétences
    Générales
    Très bonne culture générale informatique : systèmes d'exploitation, programmation
    (impérative, fonctionnelle, logique, objet, HDL), architecture des systèmes
    embarqués, théorie des réseaux, bases de données, théorie de la compilation,
    cryptographie, interfaces homme-machine, ... Gestion de projet, excellent
    relationnel.
    Environnements
    Capable de travailler sous Linux et Windows: GNU Emacs/Makefile/GCC/GDB,
    Microsoft Visual C++/Word, Perforce/GIT. Linux reste mon environnement de
    développement favori.
    Langages & Bibliothèques
    Bonnes connaissances en C/C++. Expériences réactivables en Java, Ada, Pascal,
    Scheme, Prolog, Asm 68k/ARM/x86, Bash, Uml, Html/CSS, différents formats XML
    du W3C. Bonne connaissance de l'API POSIX. Expériences réactivables de l'API
    Windows, Xlib, Opengl, Qt, OpenKode.
    Langues
    ● Français (langue maternelle)
    ● Anglais (très bon niveau, a vécu un an et demi en Californie)
    ● Allemand (bon niveau, a vécu un an à Munich)

    Éducation
    2002-2003 – EPFL
    Étudiant d'échange en informatique à l'EPFL (École Polytechnique Fédérale de
    Lausanne) - Suisse.
    2000-2003 - ENSEIRB
    Diplôme d'ingénieur en informatique avec mention bien à l'ENSEIRB (École Nationale
    Supérieure d'Électronique, Informatique, et Radiocommunications de Bordeaux),
    Talence. Dernière année passée à l'EPFL en tant qu'étudiant d'échange.
    1997-2000 – Classes préparatoires aux grandes écoles
    MPSI puis MP* au lycée Fabert à Metz.
    1997 – Baccalauréat scientifique, mention bien
    Lycée Fabert à Metz.

D'autres freelances
Chef de projet C

Ces profils pourraient vous intéresser !
CV Développeur Web - Python / Django
Aurélien

Développeur Web - Python / Django

  • ARCUEIL
PYTHON DJANGO HTML5 JIRA JAVASCRIPT CSS C C++
CV Ingénieur/docteur développement FPGA et IA
Tarek

Ingénieur/docteur développement FPGA et IA

  • SAINT-OUEN-L'AUMÔNE
FPGA PYTHON C++ C
Disponible
CV Chef de projet MONETIQUE
Houssine

Chef de projet MONETIQUE

  • CLAMART
MONETIQUE SQL UNIX LINUX KANEST TUXEDO C C++ ORACLE JIRA
Disponible
CV Ingénieur logiciel
Stéphane

Ingénieur logiciel

  • SAINT-ROMAIN-LE-PUY
.NET C# WPF HTML5 ASP.NET C++ C Vue.js
CV Développeur JS+React+Next/Node & No-code
Arthur

Développeur JS+React+Next/Node & No-code

  • PARIS
BUBBLE JAVASCRIPT NODE.JS REACT.JS C PYTHON PHP Arduino POSTGRES SHELL UNIX
CV Consultant IT
Hugues

Consultant IT

  • MAREIL-MARLY
PYTHON C WINDOWS AGILE LINUX C# JAVA SQL AZURE JAVASCRIPT
CV Développeur PYTHON
Houmame

Développeur PYTHON

  • ÉPINAY-SUR-SEINE
PYTHON DJANGO HTML5 CSS C JAVASCRIPT MYSQL SQL SERVER SHELL UNIX SCRIPT SHELL
CV Développeur WEB/Mobile
Alexandre

Développeur WEB/Mobile

  • TOULOUSE
JAVASCRIPT JAVA SWIFT C++ Angular C TypeScript HTML CSS
CV Expert JAVA
Sami

Expert JAVA

  • LILLE
JAVA J2EE C SQL Angular AGILE CI/CD LEAD MANAGEMENT JAVASCRIPT POSTGRESQL
CV Ingénieur optique MATLAB
Abderrahim

Ingénieur optique MATLAB

  • ARLES
MATLAB CAO INVENTOR PACK OFFICE Altium C LABVIEW COMSOL MULTIPHYSICS