Gilles - Développeur C
Ref : 151002B002-
91190 VILLIERS LE BÂCLE
-
Développeur, Ingénieur système (49 ans)
-
Freelance
Nov. 2017 – nov. 2017 Ingénieur R&D CityTaps, Montrouge
Consultant logiciel sur un projet IoT de compteur d'eau prépayé utilisant le réseau LoRa.
• Conseil et expertise technique sur l'architecture logiciel, les outils, l'infrastructure...
• Conception, développement et intégration de pilotes de périphériques Low Power (UART, TIMER).
Avr. 2017 -- Oct. 2017 Ingénieur R&D Bouygues E&S, Montigny-le-Bretonneux
Dans le cadre du projet H2020 ELSA (Energy Local Storage Advanced system), travaux de conception, développement, intégration des logiciels. ELSA est une unité de stockage d'énergie utilisant des batteries, dites de seconde vie, issues de véhicules électriques. Composée d'un System Controller (SC) et de plusieurs Sub-System Controller (SSC), elle permet de piloter jusqu'à huit batteries. Le SC est constitué par un automate Wago (PFC-200), basé sur un Cortex A9, sous CodeSys+Linux. Les SSC sont constitués, entre autre, d'une carte propriétaire (ABB) à base de STM32F746.
• Etude de faisabilité du SC sur Wago et proposition de solutions matériels/logiciels.
Animations de workshops
• Génération de code (C et PLC/ST) à partir de modèles simulink pour SC et SSC.
• Mise en œuvre des fonctions de codage/décodage des bus CAN pour SSC.
• Intégration/portage du SC sur Wago 750-8206.
• Développement IHM-Superviseur local WebVisu embarqué sur Wago.
• Test et validation de la communication entre SC et SSC.
• Migration d’API/EMS de Ignition vers Wago (web service HTTPS).
• Intégration des librairies IEC61850 et OpenADR (Linux ptxdist).
• Echanges avec les partenaires Renault, Nissan et sous-traitant (ABB Belgique).
Sep. 2016 – aujourd’hui Ingénieur R&D Orsys, Paris La Défense
Animation de formations professionnelles Linux industriel, temps-réel, embarqué.
• Eclipse pour l'embarqué.
• Toolchain GNU (gcc, gdb, gcov...), compilation native, cross-compilation.
• Configuration, compilation, installation d'un noyau Linux
• Application des patchs Linux-RT et Xenomai.
• APIs: POSIX, Xenomai et ses skins.
• Phases de démarrages, initialisation, rootfs.
• Bootloader u-boot, scripts.
Mars 2016 – Juil. 2016 Ingénieur R&D Revame, Orléans
Dans le cadre d’un nouveau produit (régulateur multizones) destiné à la gestion d’énergie et du confort : Conception du logiciel embarqué gérant le pilotage des différents appareils (éclairages, stores, qualité d’air, chauffage, climatisation) ainsi que les communications LON (CPL) et RF inter régulateurs.
• Recueil/expression des besoins. Elaboration des spécifications.
Pilotages d’ateliers et travaux de réalisations
• Définition de l’architecture logicielle et des algorithmes associés.
• Programmation, intégration, tests
Mars 2015 – Juil. 2015 Ingénieur R&D Krono-safe, Orsay
Travaux de développement sur un outil logiciel - compilateur langage spécifique au domaine. Intervention au niveau de la génération d’ordonnancements statiques temps réels.
• Mise en œuvre de nouvelles techniques.
• Amélioration des techniques existantes.
• C++ sous Visual Studio. Test d’intégration (python).
• Méthode agile (Jira, Confluence, Stash, Jenkins).
Juin 2014 – Fév. 2015 Ingénieur R&D Mac-Lloyd, Paris
Consultant sur divers projets dans le domaine des objets connectés (bracelet, électrocardiographe, objet musical). Etude et conception de carte électroniques (schématique, routage) et des logiciels embarqués associés (bas niveau, firmware, applicatif).
• Etude et proposition d’une solution complète pour un bracelet connecté.
• Analyse de solutions de mise à jour logiciel via Bluetooth.
• Etude de solutions afin d’ajouter des composants (DPS, Flash) à une carte existante.
• Conception des cartes électroniques (schémas, routages, sourcing).
• Migration de librairies de composants (Eagle vers Altium).
• Mise en place et suivi de pré-série des cartes électroniques.
• Conception logiciel embarqué (Bluetooth Low Energy, Over the Air Download).
• Conception logiciel bas niveau (pilotes SPI, I2C) : BLE, accéléromètre, gyroscope, mémoire flash, Front End analogique.
• Modification de l’application Android SensorTag de TI pour un bracelet connecté (ajout de fragment, menu, activity, protocole de communication BLE). Développement pour Android KitKat (ver. 4.4) sur Eclipse ADT et Android Studio
Déc. 2012 – Mai 2014 Ingénieur-Chercheur CEA-LIST, Saclay
Travaux de Recherche et Développement autour d’un exécutif temps réel embarqué propriétaire. Ces travaux s’inscrivent dans le cadre d’un projet collaboratif dont l’un des objectifs est la génération automatique de code exécutable à partir de modèles de hauts niveaux (typ. MatLab/Simulink).
• Etude et mise en œuvre de l’architecture cible. SoC hétérogène multi-cœurs à base de processeurs ARM (V7R et V6M) dédié à l’automobile (OLEA - ScaleoChip).
• Etude et modification des outils de génération automatique de code.
• Analyse et portage du μkernel temps réel propriétaire (Time-Triggered).
• Intégration des bibliothèques bas-niveaux spécifiques au SoC.
• Mise en place de la chaîne d’outils Compiler/Linker/Debugger : GNU (gcc, gdb), DStream (debugger matériel ARM).
Sept. 2007 – Déc. 2011 Doctorant Laboratoire TIMA, Grenoble
Travaux de recherche sur le placement, l’ordonnancement, la gestion de la consommation d’énergie et la fiabilité d’application ciblant des architectures SoC (Systèmes sur puce) multi-cœurs massivement parallèle (Many-Core).
• Proposition d’une méthodologie hybride (statique/dynamique) de placement - ordonnancement prenant en compte la consommation d’énergie dans un environnement Multiprocesseurs 2D-mesh soumis aux variabilités.
• Proposition d’une stratégie dynamique tolérante aux défaillances, permettant de garantir la terminaison de l’application.
• Proposition d’algorithmes de placement au run-time prenant en compte l’hétérogénéité dû aux variabilités.
• Etude et implémentation de divers algorithmes en C : List Scheduling, Algorithmes
Génétiques, Optimisation Multi-Objectif, Parcours de graphe (DFS, BFS), Partitionnement de Graphe Multi-niveaux, Programmation Linéaire (Integer Linear Programming : ILP).
• Développement d’outils de test en Python/C et bash.
• Utilisation d’outils et librairies (glpk, lp_solve, Metis, GAlib, nsga2).
• Mise en œuvre de plateformes de simulation avec SystemC-TLM/Soclib : processeurs ARMv6 et MIPS, interconnect bus, cross-bar, NoC ; Cross-compilation du logiciel embarqué (outils GNU : make, gcc, gdb) ; micro-kernel (mutekh).
• Etude d’applications vidéo (MJpeg2000, H264).
• Utilisation de l’IDE Eclipse et de svn.
Juin 2007 – Juil. 2007 Projet de Fin d’Etude Master ST Microelectronics, Grenoble
Analyse des techniques disponibles permettant l’ajout d’informations temporelles dans l’environnement SystemC/TLM.
• Etude et analyse de techniques explicites (sc_wait, sc_event) et implicite statique (transactor) et dynamique (API).
• Implémentation et expérimentation sur plateforme SystemC/TLM-TAC multiprocesseurs
(ST-Nomadik).
Févr. 2007 – Mai 2007 Projet de Fin d’Etude Ingénieur ST Microelectronics, Grenoble
Étude et développement de technologies de vérification pour les systèmes embarqués. (MPSoC distribués, vidéo, modélisation, SystemC, TLM, TAC).
• Etude du SoC Nomadik et de sont accélérateur vidéo (SVA).
• Analyse et portage de la plateforme SystemC/TLM TAC1 vers TAC2 sous Linux.
Févr. 2000 – Sept. 2005Technicien développement Thomson Tubes & Displays, Dijon
Réalisation, validation et mise au point de nouveaux équipements de mesure pour la production de CRT (déviateur, ampli. vidéo) et de modules optiques (DVD, CD).
• Analyse R&R (répétabilité et reproductibilité). Analyse de fiabilité, durée de vie, mesures acoustiques.
• Utilisation de Labview : programmation de cartes National Instrument, d’appareil de mesure (Protocole GPIB).
Avr. 1999 – Janv. 2000 Technicien Réseau fibre optique EI-RSI, Dijon
Dans un contexte de réseaux à fibre optique (LAN : Local Area Network, MAN : Metropolitan Area Network, WAN : Wide Area Network).
• Installation, raccordement de câbles de fibre mono et multi modes (jusqu’à 256 fibres).
• Vérification et mesure de qualité (Puissance Optique, Réflectométrie optique).
Avr. 1998 – Janv. 1999 Technicien de production Thomson TCF, Auxonne
Dans le cadre d’une ligne d’assemblage liée à la fabrication de décodeurs numériques (SetTopBox).
• Monitoring d’une ligne PCB - CMS (pick-and-place, reflow).
• Maintenance préventive et curative.
FORMATIONS
2012 Docteur Ingénieur Micro et Nano électronique
Grenoble Institut Polytechnique
2007 Master Recherche Micro et Nano électronique
Grenoble Université Joseph Fourier
2007 Ingénieur Micro-électronique Systèmes sur puces
Grenoble INP - ENSERG
2005 DEST Systèmes électroniques
Dijon Conservatoire National des Arts et Métiers
1996 Brevet Technicien Supérieur Systèmes électroniques
Dijon Lycée Gustave Eiffel
CONNAISSANCES
Langages : C/C++, Python, Java, Perl, VB, PHP, JS, XHTML, CSS, VHDL, Latex.
Outils: Cross-Compilation (gcc, gdb, make),
LLVM, Fractal (Mind), script bash, svn, clearcase, git.
Divers: Ethernet, TCP-IP, 802.11g, DVB-T,
OFDM, Mjpeg2000, H264.
Librairies: SystemC/TLM, SocLib, Qt, OpenMP,
MPI, OpenCL, Phalcon, AngularJS, JQuery.
Logiciels: Eclipse, NetBeans, Visual Studio, Lab-view, Xen, Qemu, LVM, ModelSim,
QuartusII, Altium, Eagle, Word, Excel,
PowerPoint.
LANGUES
Français : langue maternelle Anglais : lu, écrit, parlé