Evaluation fonctionnelle d’algorithmes de traitement de données de télémétrie,
Analyse et développement d’outils d’analyse automatique de performances d’algorithmes en vue de d’implémentation sur CPU / GPU / FPGA,
Mise en place d’un environnement de mesure de performances fonctionnelles et d’analyse des besoins matériels pour des algorithmes de traitement de données.
Encadrement de projets électroniques pour fins d’études:
•prise électrique intelligente WiFi,
•chargeur de véhicule électrique individuel communicant Bluetooth.
Enseignement de cours en école d’ingénieurs (ESME-Sudria):Création et présentation de cours magistraux en école d’ingénieurs, spécialité ingéniérie des systèmes électroniques embarqués
Mise en place de systèmes GNU/Linux dans l’embarqué et l’industrie;
Outils et méthodes de debug et rétro-ingénierie avec GNU/Linux;
Outils libres ou open-source disponibles pour l’ingénieur en électronique,
Développement de modules de sécurité pour noyau Linux (4.4.x, 4.9.x, 4.14.x);
Développement de systèmes de boot sécurisés pour noyau Linux (4.4.x, 4.9.x, 4.14.x);
Développements cryptographiques OpenSSL;
Développements systèmes de fichiers Linux;
Développement d’un système de boot Linux générique multi-versions et multi-couches;
Développement de générateurs RPM;
Création d’une distribution Linux et SDK via Open-Embedded;
Architecture et création d’embarquements spécialisés et de SDK à base de distributions Fedora;
Création de SDKs pour les équipes de développement;
Architecture, création et mise en place d’outils et de process de déploiement et de génération de distributions Linux personnalisées ;
Mise en place d’environnement d’émulation via docker
Rétro-ingénierie d’un périphérique USB dont le pilote n’existait pas sous GNU/Linux(debugfs);
Développement de pilotes de périphérique (libusb) et interfaces logicielles;
Développement de pilotes de périphérique (libevent) et interfaces logicielles;
Support;
Veille technologiqueEnvironnement:GNU/Linux, GCC, open-embedded, Yocto, ARM, x86_64, Fedora, TCP/IP, architecture des systèmes embarqués, cryptographie, OpenSSL, systèmes de fichiers, sécurisation des systèmesinformatiques, RPM, YUM/DNF, APT, DPKG, DEB, C, C++, Perl, bash, Python, Scons, Make, Maven, NexusOSS, Qt5, Docker, VirtualBoxPowerpoint - Word – Excel.GIT - JIRA – Confluence
Coordination du client;
Gestion des fournisseurs et des approvisionnements pour prototypes;
Réalisation des plannings, reporting client et management
Réalisation des PC
Développement des firmwares;
Suivi des anomalies;Environnement:C - DSP – assembleur – MATLAB – Linux;ADC/DAC, SPI, I2C, filtres analogiques, adaptation d’impédances, filtres numériques,architectures;Libreoffice – KiCAD;GIT.
Gestion commerciale;
Rédaction de cahiers des charges;
Coordination des clients;
Coordination des fournisseurs;
Gestion des achat, des fournisseurs;
Gestion des plannings et des approvisionnements;
Réalisation des plannings, reporting client et management
Conception de PCB;
Montage de prototypes électronique, prototypage rapide;
Développement de firmares;
Développement de pilotes de périphériques, modules Linux ;
Développement d’applications de test, de librairies, d’utilitaires ou d’automates;
Intégration;
Gestion propriété intellectuelle;
Suivi des anomalies;Environnement:C - assembleur – MATLAB – Linux – bash – Perl – Make - ;Conception en électronique numérique, électronique analogique;Libreoffice – KiCAD – GanttProject – Dolibarr – Odoo ;GIT, Tuleap
Intégration d’un cache mémoire;
Formation et support pour l’ensemble des équipes projet (USA, Canada, France);
Simulation
Synthèse logiqueEnvironnement:Verilog, Perl, C, GCC, assembleur, MIPS, ARM, LinuxCVS, BugzillaSimvision, TalusProjet SoC: intégration processeurs ARM & MIPSTravaux réalisés:
Création d’une librairie C bare-metal pour co-simulation;
Simulation du boot des CPU et exécution de code dépendant de la librairie C (libpng, zlib, benchmarks CPU, benchmarks mémoire, tests hardware, tests multi-threads multi-cores, tests démarrage...)
Intégration (suivi des interfaces, correctifs, ...)
Simulation
Synthèse logiqueEnvironnement:Verilog, Perl, C, GCC, assembleur, MIPS, ARM, LinuxCVS, BugzillaSimvision, TalusProjets video decodeur: décodeur vidéo hardwareTravaux réalisés:
Etude des normes/codecs à développer;
Développements de modules pour implémentation de fonctionnalités permettantle décodage hardware de vidéo numérique;
Simulation et vérification des modules développés;
Synthèse logique des modules;
Correction et optimisation des modules;
Environnement:MPEG-2 – MPEG-4 – H.264 – H265 – HEVC – SVC- MVC – LLVMDSP, Verilog, Perl, Assembleur, CCVS, BugzillaSimvision, TalusProjet optimisations compensation de mouvement: Développer un cache adapté à la compensation de mouvement dans le cadre du décodage de vidéo numérique
Travaux réalisés:
Comparaison des méthodes de prédiction inter-frame;
Création d’un modèle de DDR3;
Création d’un modèle de bus d’accès aux données;
Création d’un modèle générique et d’un modèle optimal de cache ;
Création de modèles spécifiques de cache;
Etude statistique des comportements des différents modèles de cache suite à des simulations sur un ensemble représentatif de flux vidéo ;
Etude et architecture matérielle du cache;
Débveloppement du module du cache;
Synthèse logique des modules;
Correction et optimisation des modules;
Maintien et mise à jour des interfaces mémoires en fonction des architecturesmatérielles;Environnement:Verilog, Perl, C, GNU plotCVS, BugzillaSimvision, TalusProjet optimisations PNG/Zlib: développer un coprocesseur MIPS PNG/zlibTravaux réalisés:
Recherche des points chauds dans la chaîne de décodage de PNG ou de flux zlib (archives, PNG):
Recherche, modélisation et simulation des solutions d’optimisation du décodageenvisagées par un coprocesseur MIPS (sur 4K, 24K et 74K);
Comparaison des points chauds du décodage de PNG et flux zlib pour sélection de l’architecture;
Développement d’un module générique permettant le décodage hardware de flux zlib et PNG;
Développement mise à jour et maintien des interfaces coprocesseur MIPS et suividu pipeline d’exécution;
Synthèse logique des modules
;Correction et optimisation des modules;
Maintien et mise à jour des interfaces avec le CPU selon les architectures MIPS;
Gestion des relations client et fournisseurs;
Développement d’un prototype industrialisable autour d’un processeur Freescalei.MX27 avec les fonctionnalités et un contrôleur annexe d’extension;
Développements de pilotes de périphériques;
Développements de modules noyau(2.6.x) ;
Développement d’applications de tests, de librairie et d’utilitaires;
Portage du noyau Linux, portage du bootloader;
Création d’une toolchain de cross-compilation;
Création du rootfs.Environnement:WiFi, Bluetoot...