Analyse de l’existant : prototype développé par un autre bureau d’étude
Analyse fonctionnelle
Définition des tâches à réaliser : électronique et logiciel
Assistance technique à la sélection des composants du système
Conception électronique ultra basse consommation autour d’un microcontrôleur STM32G0
Reprise du logiciel : robustification, ajout de fonctions d’auto surveillance et de diagnostic
Assistance client à la mise en production de la carte électronique
Référent logiciel développement d’un codeur
mars 2018 - août 2019
Projet industriel, développement avec cycle en V
Gestion des exigences avec IBM Jazz
Définition de l’architecture logicielle pour MCU Kinetis K22F (Cortex-M4)
Pas d’OS temps réel pour ce projet
Mise en œuvre de l’environnement de développement en C sous Eclipse : MCUXpresso
Planification du développement pour une équipe de 4 développeurs
Développement de la partie acquisition
Suivi de développement et intégration
Gestion de la documentation : spécifications, architecture, tests d’intégration et de validation
Gestion des évolutions
Ingénieur logiciel embarqué pour système anti-vibratoire actif (9/2017 à 2/2018, 6 mois)
Projet automobile, développement avec cycle en V
Gestion des exigences avec IBM Jazz
Développement de drivers et modules en C
Gestion de la documentation : spécifications, architecture, tests d’intégration et de validation
Référent logiciel développement d’un afficheur connecté
HUTCHINSON, Centre de Recherche et d’Innovation, Chalette sur Loing (45)
2017 - 2021
Proof of concept, développement agile, planification de sprint chaque semaine
Plateforme Linux avec NXP i.MX6 quad, modem 4G Fibocom, chipset WiFI + BLE, CAN
Définition de l’architecture logicielle d’une application multithread Qt
Communication avec serveurs Web
Mise à jour logicielle Over The Air : Mender
Mise en œuvre de l’environnement de développement : Yocto build, QtCreator, gestion de configuration avec IBM Jazz RTC
Planification du développement pour une équipe de 4 développeurs
Suivi du développement et intégration
Chef de projet système d'acquisition multicaméra
VOLKSWAGEN, Electronics and Vehicle Research center, Wolfsburg (Allemagne)
2016 - 2017
Reprise de l'architecture développée pour Autoliv (voir ci-dessous, 2014 à 2016)
Conception d'un module caméra mégapixel avec interface GMSL (Maxim)
Conception de la carte d'acquisition avec FPGA
Développement des drivers (Linux, C)
Adaptation du logiciel applicatif (C, C++, GTK)
Reprise de l'architecture développée pour Autoliv
Ingénieur logiciel embarqué Linux/ECOS (SEQUANS
SEQUANS, R&D Paris team, Colombes (92)
2016 - aujourd'hui
Développement driver switch Ethernet
Deboggage hardware/software drivers Flash et UART
Environnement OpenWRT
Gestion de bug : git + bugzilla
Chef de projet système de commande d'une machine
SYNAPSE ROBOTICS, Ayguemorte-les-Graves (33)
janvier 2015 - juin 2015
Conception et développement matériel et logiciel
Système à base de microcontrôleur STM32F103 (Cortex-M3) et écran LCD 4D Systems.
Développement carte électronique : alimentation, microcontrôleur, entrées/sorties, supervision d'alimentation, électronique de puissance (variateur moteur).
OS : FreeRTOS et Standard Peripherals Library de ST Microelectronics
Développement du firmware en C : application multitâche temps réel gérant les entrées/sorties, les actionneurs, l'alimentation, l'interface homme machine.
Développement de programmes de tests en C.
Outils de développement : ARM Sourcery Linux GCC, OpenOCD et sonde JTAG, FreeRTOS
Rédaction du dossier projet : conception SART, développement, validation
Chef de projet système
AUTOLIV AB, Vargarda Research Center, Vargarda (Suède)
2014 - 2016
d'acquisition multicaméra (2 x 6 mois)
Conception et développement matériel et logiciel
Caméra LVDS à base de capteur Aptina MT9V024
Développement carte acquisition : désérialiseur DS92LV1212A, PLD Lattice, microcontrôleur Microchip, gestion alimentations, interface avec Freescale Sabre Lite i.MX6 quad
OS : Linux embarqué 3.0 (Timesys)
Développement driver carte acquisition Linux 3.0
Développement du logiciel d'acquisition sur PC en GTK
Rédaction du dossier projet : conception, développement, validation
Bureau d’études
PGA ElectroniqueChâteauroux (36)
2013 - 2014
Ingénieur logiciel Linux embarqué (9 mois, 07/2013 à 10/2013, 02/2014 à 06/2014)
Prise en main cartes Linux embarqué DM3730 et DM8168
Support hardware : optimisation du logiciel, OpenGL ES, NEON
Support logiciel : mise en œuvre d'Eclipse, GDB, SVN, CodeSourcery GNU toolchain
Portage d'une application sur la cible : adaptation makefile
Développement de nouvelles fonctionnalités : OpenGL, OpenMAX, GTK en C++ sous Linux embarqué, Mozilla EmbedLite.
Rédaction de dossiers projets, Wiki.
Chef de projet caméra à interface LVDS
AUTOLIV AB, Vargarda Research Center, Vargarda (Suède)
2013 - aujourd'hui
Conception et développement matériel et logiciel
Caméra à base de capteur Aptina MT9V024 et désérialiseur DS92LV1212A
Développement cartes électroniques
OS : Linux embarqué et Windows
Validation sur Linux (carte MBS270, ARM9) : développement du driver, validation avec logiciel développé en GTK
Validation sur Windows avec kit de développement Aptina et Visual C++
Rédaction du dossier projet : conception, développement, validation
Chef de projet téléopération d'un véhicule personnel électrique (1 mois, 11/2013)
MOBILITE SERVICE, Bellefonds (33)
2012 - 2013
Avenant au développement de 2012 (voir ci-dessous)
Architecture client serveur
Ajout module ZigBee 802.11 et logiciel de communication : STM32, C, FreeRTOS
Développement du logiciel de téléopération sur PC : Visual C++
Chef de projet commande d'un véhicule personnel électrique (8 mois, 5/2012 à 12/2012)
Conception et développement matériel et logiciel
Système à base de microcontrôleur STM32F103 (Cortex-M3)
Développement carte électronique : alimentation, microcontrôleur, entrée/sortie, capteurs inertiels MEMS, supervision d'alimentation et de charge batterie
OS : FreeRTOS et Standard Peripherals Library de ST Microelectronics
Développement du firmware en C : application multitâche temps réel gérant les entrées/sorties, les moteurs, l'alimentation ; estimation de l'attitude du véhicule avec les capteurs inertiels
Développement de programme de tests en C.
Outils de développement : ARM Sourcery Linux GCC, OpenOCD, FreeRTOS
Rédaction du dossier projet : conception SART, développement, validation
Langues
Anglais - C2
Allemand - A2
Chinois - A1
Autres compétences
EDUCATION
2004 Université de Technologie de Compiègne, France
► PhD in mobile robotics.
1992 Engineering degree : ESIGELEC (Rouen, France)
► Specialization in electronics, telecommunications et microwaves.
LANGUAGES
French Excellent: native language.
English Good. Use at work, meetings, teaching and documentation.
German Good passive knowledge (reading and understanding).
Chinese Basics.
KNOWLEDGE
C/C++:
Excellent knowledge of C language programming,
In-depth knowledge of C++ development including MFC and STL
In-depth knowledge of GNU C systems development on Linux kernels 2.4 and 2.6
In-depth knowledge of GNU tools for both application and kernel development in Embedded Linux: cross compilation toolchain, gdb, gdbserver
In-depth knowledge of Eclipse IDE
Excellent knowledge of Visual C++ 6 development environment
Excellent knowledge of real-time and multithreaded applications development
Excellent knowledge of client/server applications development
Excellent knowledge of Inter Process Communications IPC
Assembly language:
Good knowledge for ARM9
In-depth knowledge for Microchip PIC and MPLAB tools
Linux and UNIX:
In-depth knowledge of UNIX shell
In-depth knowledge of file system and network organisation/configuration
In-depth knowledge of POSIX, V4L2 and TCP/IP socket APIs
In-depth knowledge of Linux 2.6 driver model
In-depth knowledge of Linux 2.4 and 2.6 driver development: DMA, platform resources, memory management, kernel modules
Good knowledge of Angström distribution
In-depth knowledge of u-boot bootloader
In-depth knowledge of vi and Emacs editors
RTOS:
In-depth knowledge of real-time programming: multitasking, scheduling, event handling, communication, state machine, memory management.
Good knowledge of ECOS
Good knowledge of LYNX OS
Windows:
In-depth knowledge of Win32 API: multithread, winsock, communication
In-depth knowledge of MFC
In-depth knowledge of image acquisition
Embedded systems:
In-depth knowledge of embedded systems design and development
In-depth knowledge of debugging and hardware monitoring with JTAG interface and test & measurement tools
In-depth knowledge of ARM9/XScale/PIC/68k/AVR/Rabbit architectures
Good knowledge of memory and communication chipsets interfacing
Excellent knowledge of digital camera interfacing
In-depth knowledge of Linux driver development
In-depth knowledge of embedded Linux: kernel configuration, kernel and file system image generation, u-boot bootloader.
Good knowledge of logic programming in VHDL
In-depth knowledge of physical communication layers: Ethernet, RS232, I2C, SPI, USB
Good knowledge of industrial interfaces: 4-20mA, Profibus
Electronics:
In-depth knowledge of analog and digital circuits design
In-depth knowledge of Eagle PCB design software
Excellent knowledge of digital camera design
In-depth knowledge of test & equipment tools
Good knowledge of Lattice programmable logic devices
Signal processing:
In-depth knowledge of data acquisition and processing system design
In-depth knowledge of sensors for mobile robot navigation and similar applications
Good knowledge of Matlab Signal processing, analog and digital FIR/IIR filter design, data path modelling
Good knowledge of Matlab Image processing
In-depth knowledge of Image processing: format conversion, filtering, feature extraction
Control engineering:
Good knowledge of linear control,
In-depth knowledge of Matlab and Simulink
In-depth knowledge of implementation on embedded target with RTOS
Project management :
Good knowledge of resources management,
Good knowledge of planning,
Good knowledge of quality management,
In-depth knowledge of IDE and revision control system set up
In-depth knowledge of Waterfall and Iterative development processes
In-depth knowledge of structured analysis, SADT and SART methodologies
Basic knowledge of UML
In-depth knowledge of user training and manuals writing