Menu

Frédéric COSTE

CERGY-PONTOISE

En résumé

Domaines d’expertises techniques
================================

• Langage C++, C# pour Windows ;
• Langage C pour Windows, Palm OS, LabWindows/CVI, DOS et sur processeurs Microchip, Motorola, Texas Instruments, Fujitsu et ST ;
• Langage assembleur sur processeurs Intel, Motorola et Texas Instruments ;
• Conception et réalisation de systèmes électroniques de base autour de processeurs Intel, Motorola et Texas Instruments.


Compétences métiers
===================

• Architecture et développement de logiciels attachés à l’électronique embarquée (drivers, middleware et application) ;
• Portage et adaptation de sources provenant du domaine public ;
• Conception, réalisation et mise en service d’outils sous Windows ;
• Suivi de bugs et développements critiques (contexte international) ;
• Management de proximité d’une équipe de 4 ingénieurs.


Technologies maîtrisées
=======================

Langages : C / C++ / C# / Ada / Assembleurs x86 – 68k – TMS320, Windows API – Borland VCL, C ISO, SQL, CAPL, LabWindows/CVI, DirectX, OpenGL, OpenAL

Systèmes : Windows (Win32 et .NET), Palm OS, OSEK, COM/DCOM pour plateformes EMP (Ericsson Mobile Platforms)

Exécutifs temps réel : RTOS Propriétaires

Bases de Données : SQLite, Access

Réseaux et Protocoles : Sockets, CANalyser, LIN, CAN, MQTT

Méthodes : Cycle en V, SA/RT

Gestion de configuration : Source Tree (Git), Perforce, CVS, Microsoft Visual Source Safe

Outils : Systèmes National Instruments (DAQmx), Oscilloscopes / Multimètres / Analyseurs logiques

Environnement : McLaren System Monitor

Mes compétences :
C#
C
IHM
Embarqué
Développement
Debug
Portage

Entreprises

  • Projet personnel - Architecte et développeur

    2014 - maintenant Projet: Reprise de l'écriture d’un émulateur des micro-ordinateurs Amstrad CPC pour Windows.

    Réalisations:
    • Portage du code source de l'émulateur pour Palm OS ;
    • Restitution vidéo sous DirectX 9, OpenGL ou Windows GDI ;
    • Environnement sonore sous OpenAL ;
    • Refonte de l'émulation du lecteur de disquette (FDC) afin de lire les disquettes originales protégées ;
    • Ajout de fenêtres pour observer le comportement de la machine (éditeur Z80, mémoire, FDC...) ;
    • Prise en charge des nouveaux supports de préservation ;
    • Portage de librairies du domaine public (ZLib, LibPNG, Sun IEEE754…) ;
    • Ajout d’un moteur de scripts pour les tests et la validation.

    Bilan:
    Autoformation aux technologies suivantes: DirectX 9, OpenGL, OpenAL, DirectInput.
    Distribution de l'émulateur sous le nom "CaPriCe Forever".
  • E2-CAD - Ingénieur d'études logiciel

    2011 - maintenant Projet: Participation à la réalisation du logiciel embarqué d'un prototype puis de plusieurs modèles séries d'occultants et d'un toit panoramique électrique :
    • Mise en place de la communication LIN certifiée constructeur ;
    • Écriture de couches basses;
    • Écriture de couches applicatives;
    • Intégration et validation des modules logiciels;
    • Écriture d'applications Windows pour la mise au point et la maintenance;
    • Interface avec les librairies LIN PEAK;
    • Investigations et corrections des problèmes liés à la CEM;
    • Suivi des évolutions et livraisons.

    Environnement: C embarqué pour micro-contrôleur Fujistu, Microsoft Visual Studio Express C#, PEAK, LIN 2.0, LIN 2.1.



    Projet: Réalisation d’un logiciel sous Windows, "TuneCAD", permettant la mesure de variables et la calibration de paramètres d’un logiciel embarqué en utilisant une communication CAN :
    • Lecture d’un fichier ASAP2;
    • Interface avec les librairies CAN PEAK;
    • Visualisation de type numérique et graphique.

    Environnement: Microsoft Visual Studio Express C#, PEAK, CAN TP, CAN CCP, ASAP2.



    Projet : Prise de connaissance du logiciel "System Monitor" de McLaren Electronic Systems afin de participer à l'architecture d'un logiciel embarqué pour la F1:
    • Problématique d'adaptation du compilateur "TASKING for Tricore" à l'environnement McLaren (incompatibilités ELF/DWARF);
    • Recherches de solutions techniques;
    • Organisation du mapping mémoire;
    • Support au portage de l'application McLaren;
    • Support à l'intégration du logiciel embarqué pour McLaren System Monitor.

    Environnement: Microsoft Visual Studio C++, C, McLaren System Monitor, TASKING for Tricore, ASAP2.



    Projet: Prise de connaissance et amélioration du logiciel embarqué de mesures des élongations pour le système LIRIS de la société OSMOS.
    • Analyse de la qualité du code afin d'estimer la possibilité d'apporter rapidement des modifications;
    • Amélioration de la profondeur de stockage des données d'élongations;
    • Sécurisation de la récupération des données sans perte;
    • Création d'une application afin de récupérer et stocker les données depuis les systèmes en place avec la possibilité d'afficher graphiquement l'historique des élongations.

    Environnement: C pour Microchip dsPic, Microsoft Visual Studio Express C#.



    Projet: Prise de connaissance de l'environnement Linux et Linux embarqué avec pour objectif de vérifier la possibilité d'utiliser Linux pour remplacer les OS propriétaires dans l'industrie automobile, domaine à fortes contraintes temps réels.
    • Compilation croisée du noyau pour ajouter la prise en charge du CAN par SPI;
    • Adaptation des overlays pour les composants SPI;
    • Portage des couches CAN afin d'utiliser SocketCAN;
    • Codage d'une application afin de communiquer avec "TuneCAD" en utilisant le CAN;
    • Mesure des performances sur l'implémentation d'un timer à 1ms;
    • Debug distant avec Eclipse;
    • Optimisation du démarrage;
    • Compilation du noyau et utilisation d'un patch temps réels;
    • Compilation du noyau et utilisation de la couche Xenomai.

    Environnement: Ubuntu sous VirtualBox, Debian sur une BeagleBone Black avec extensions MikroElektronika


    Projet: Réalisation du logiciel d'un dongle qui se branche sur la prise diagnostic d'un véhicule pour envoyer des données vers Internet.
    • Architecture et écriture du logiciel;
    • Téléchargement de la messagerie CAN depuis Internet;
    • Sauvegarde des données sur mémoire flash;
    • Connexion TLS vers un broker MQTT;
    • Mise à jour logicielle par FOTA (Maquette sur STM32L4R5ZI).

    Environnement: Langage C pour STM32L4, AirPrime HL8548-G, CubeMX, WolfMQTT, WolfSSL; ST SBSFU


    De 2011 à Novembre 2019: Administrateur du parc informatique
    • Mise en service de NAS Dell;
    • Mise en service du firewall ZyWALL 110;
    • Configuration du VPN;
    • Migration des données;
    • Configuration du réseau;
    • Sauvegardes quotidiennes, hebdomadaires et mensuelles;
    • Mise à jour des archives pour éviter l'obsolescence des supports;
    • Installation, configuration et adaptation de Bugzilla;
    • Support au quotidien auprès du personnel.

    Environnement: 2 NAS sous Windows Storage Server 2008 et 2008 R2, Synology DS416, ZyWALL 110, une cinquantaine de PC sous Windows XP et Windows 7.
  • Astrium Space Transportation - Ingénieur consultant

    2010 - 2011 Conception, codage et tests du logiciel de vol, logiciel de vol de synthèse et logiciel d'alignement pour des applications militaires.

    - Analyses d'impacts des évolutions sur le code source;
    - Analyses d'impacts des évolutions sur les tests unitaires;
    - Analyses statiques et mises en conformités du code source;
    - Codage des évolutions en Ada;
    - Codage et exécution des tests unitaires;
    - Rédaction de la documentation technique.

    Environnement:
    Sun Solaris 8, Ada83, Rational Clearcase, Rational Test RealTime, PolySpace
  • E2-CAD - Ingénieur consultant

    2010 - 2010 Projet: Développements d’évolutions, intégration et participation à la validation du logiciel des tableaux de bords A9 pour PSA.

    Réalisations:
    • Ecriture et tests des évolutions du téléchargement sécurisé de l’application en suivant le protocole UDS ;
    • Ecriture de nouveaux services diagnostic pour faciliter les tests en fin de chaîne ;
    • Adaptation des outils internes afin d’accélérer les tests et la validation des fonctions du tableau de bord ;
    • Adaptation des mappings RAM/ROM aux processeurs qui seront utilisés en série ;
    • Investigations sur les problèmes d’optimisations de la taille du code.

    Environnement technique:
    C, C++, Canalyzer, Fujitsu softune workbench, Microsoft Visual SourceSafe, Borland C++ Builder
  • SAGEM Mobiles / Purple Labs / Myriad group - Ingénieur consultant

    2006 - 2010 Projet: Développements de drivers, support et tests des plateformes fournies par EMP (Ericsson Mobile Platform), utilisées par les mobiles 3G de Sagem et par Purple Labs comme plateforme de référence.

    Réalisations:
    • Assurer le bon fonctionnement de la charge de la batterie. Etude et développement d’une couche d’abstraction entre la plateforme et l’application ;
    • Portage du moteur SQL « SQLite » pour l’inclure dans un composant permettant d’accéder rapidement aux métadatas des fichiers audio ;
    • Investigations et suivi des corrections autour des problèmes de fiabilité des flashs NAND ;
    • Codages d’applications de tests pour vérifier le comportement de la plateforme ;
    • Suivi de l’activité Plateforme/Drivers 3G (4 ingénieurs) ;
    • Interface avec EMP pour le suivi des problèmes et développements.

    Environnement technique:
    • Langages : C, COM/DCOM, SQL, Perl (notions)
    • Systèmes : Windows XP, Eclipse, Cygwin
    • Outils : CVS, DocBook, UML


    Projet: Développement et support des drivers accessoires pour les mobiles 2G. Responsable du driver des accessoires pour les mobiles 3G.

    Réalisations:
    • Codage, tests et mise à jours des drivers 2G;
    • Support, portage et validation des drivers 3G.

    Environnement technique:
    • Langage : C
    • Systèmes : Windows XP, Cygwin
    • Outils : CVS

    Bilan:
    Livraison de drivers accessoires validés. Amélioration du ressenti utilisateur de l’autonomie des mobiles My750, My730, My850. Amélioration de la durée de vie des mobiles avant une corruption fatale de la mémoire Flash. Reporting de l’activité Platforme/Drivers.
    Intégration dans une équipe d’une vingtaine de personnes. Participation à des réunions de crises concernant les problèmes critiques de fiabilité de la Flash NAND du My750 : Déplacements en Angleterre et en Suède à ce sujet. Prise de connaissance des problématiques de charge des batteries Li-ion/Li-Po. Participation et organisation de réunions hebdomadaires avec EMP pour le suivi des problèmes. Découverte de la technologie COM/DCOM.
  • Projet personnel - Architecte et développeur

    2006 - 2011 Projet: Ecriture d’un émulateur des micro-ordinateurs Amstrad CPC pour Palm OS.

    Réalisations:
    • Portage du code source placé dans le domaine public ;
    • Adaptation aux contraintes héréditaires de l’environnement Palm OS 68k ;
    • Optimisation du code ARM natif pour améliorer les performances ;
    • Restitution vidéo et audio fidèle à l’original.

    Bilan:
    Réalisation d’un émulateur sur une machine assez limitée, environnement embarqué, qui restitue le comportement de la machine d’origine et offre à l’utilisateur la possibilité d’exécuter pratiquement tous les programmes de l’époque. Fonctionne sur plusieurs machines de la gamme Palm.
    Autoformation à la programmation sur Palm OS. Résolution de tous les problèmes pour aboutir à un programme stable et rapide (petit écran tactile, taille limitée des ressources, passerelle 68k vers ARM, compatibilités matérielles et OS). Ajout de fonctionnalités pour contourner l’absence de périphériques matériels.
    Réalisation de l’interface utilisateur.
  • AKKA Ingénierie Systèmes - Ingénieur Consultant

    2006 - 2011
  • E2-CAD - Ingénieur études et développements

    2002 - 2006 Projet: Responsable du développement en interne d’un logiciel « CaseCAD » d’édition de diagrammes, de type SA/RT, pour la spécification et la conception de systèmes temps réels embarqués.

    Réalisations:
    • Rédaction de la spécification du besoin, rédaction du cahier des charges, conception de l’architecture des objets ;
    • Codage et tests ;
    • Développement des évolutions.

    Environnement technique:
    • Langages : C++, VCL, Windows API
    • Systèmes : Windows 2000 et XP
    • Outils : Borland C++ Builder, Visual Source Safe
    • Divers : IHM


    Projet: Responsable du développement en interne d’un logiciel « GrafCAD » d’édition de graphes, de type « grafcet », utilisés pour décrire le comportement des logiciels embarqués.

    Réalisations:
    • Définition de la spécification du besoin, rédaction du cahier des charges, conception de l’architecture logicielle ;
    • Encadrement d’un stagiaire responsable de la rédaction de la doc de conception, du codage et des tests unitaires ;
    • Encadrement d’un ingénieur dont le rôle était de finaliser la première version pour mars 2003 ;
    • Suivi et développement des évolutions ponctuelles.

    Environnement technique:
    • Langages : C++, VCL, Windows API
    • Systèmes : Windows 2000 et XP
    • Outils : Borland C++ Builder, Visual Source Safe
    • Divers : IHM


    Projet: Développement du logiciel du tableau de bord de la Volkswagen GOLF (PQ35) et PASSAT (PQ46) pour Visteon.

    Réalisations:
    • Ecriture de différents pilotes : I2C, RS232, transpondeur pour la fonction d’anti-démarrage ;
    • Responsable de fonctions applicatives (Modes opératoires, Illumination…) ;
    • Rédaction de documentation technique.

    Environnement technique:
    • Langage : C
    • Systèmes : OSEK
    • Matériels : TMS470R1 (ARM7)
    • Outils : Texas Instruments Code Composer Studio, Visual Source Safe

    Bilan:
    Livraison du logiciel des tableaux de bord. Utilisation en interne des outils pour la conception des logiciels embarqués. Le logiciel « GrafCAD » a été prévu pour une commercialisation, protégé par un dongle et une licence d’utilisation.
    Intégration dans une équipe soudée d’une dizaine de personnes. Autonomie pour la réalisation des outils en interne : choix de l’interface graphique, choix de l’ergonomie, choix des outils.
  • MEGTEC - Ingénieur consultant

    1998 - 2001 Projet: Portage du logiciel de supervision et de commande pour le chargement automatique des bobines de l’imprimerie « Il Sole 24 ORE »à Milan (Italie).

    Réalisations:
    • Adaptation de l’ancien code ;
    • Ajout des évolutions.
    • Installation et mise en service sur site.

    Environnement technique:
    • Langages : C++, VCL, Windows API
    • Systèmes : Windows 95, 2000
    • Outils : Borland C++, Borland C++ Builder



    Projet: Développement de logiciels assurant la communication entre les pupitres de contrôle de la rotative et les différents dérouleurs de papier.

    Réalisations:
    • Architecture des objets ;
    • Codage et tests.

    Environnement technique:
    • Langages : C++, VCL, Windows API
    • Systèmes : Windows 2000
    • Outils : Borland C++ Builder



    Projet: Développement du logiciel « QualiRoll » destiné au suivi de la consommation de papier pour l’imprimerie.

    Réalisations:
    • Rédaction du cahier des charges, du document de spécification et de conception ;
    • Développement et tests ;
    • Installation en France, Allemagne et aux Pays-Bas.

    Environnement technique:
    • Langages : C++, VCL, Windows API, SQL
    • Systèmes : Windows 2000
    • Outils : Borland C++ Builder

    Bilan: Rajeunissement de l’offre logicielle.
    Réalisation d’un logiciel depuis un maquettage jusqu’à l’installation sur site. Autoformation au C++. Déplacements à l’étranger. Contacts directs avec le client. Intégration à une équipe de 4 personnes.
  • ALCATEL Contracting - Ingénieur consultant

    1995 - 1998 Projet: Dans le cadre du développement de cartes de commutations et d’incrustation vidéos 1716, réalisation d’un logiciel de supervision et de commande pour la surveillance vidéo de gares du réseau Paris Gare de l’Est ainsi que d’une partie de l’autoroute A13 (Poissy-Rouen).

    Réalisations:
    • Participation à la rédaction des documents de spécifications, de conception, d’installation et de recette ;
    • Codage et tests de l’application Windows ;
    • Conception et codage du logiciel embarqué de la carte assurant la passerelle entre le PC et les cartes de commutations, d’incrustation de textes et de transport ;
    • Etudes et réalisation de logiciels assurant la maintenance des différents composants du système de surveillance vidéo.

    Environnement technique:
    • Langages : C, Windows API
    • Systèmes : Windows 3.x, 95, 98
    • Matériels : Motorola 68302
    • Outils : Borland C++, Excel, Access
    • Divers : RS232, Sockets TCP/IP, Architecture Client/Serveur, IHM

    Bilan:
    Ecriture d’une application de tests unitaires sous Windows qui s’est transformé en logiciel multi-utilisateurs commercialisable permettant de surveiller un réseau en temps réels.
    Participation à la mise en service sur le site de Paris Gare de l’Est.
    Autoformation à la programmation sous Windows. Autonomie complète sur le développement de l’application et sur ses évolutions.
    Conception et réalisation de l’IHM.
  • SAGEM Automobile - Analyste Programmeur

    PARIS 1993 - 1994 Projet: Etude et réalisation d’une évolution du boîtier de synthèse de parole pour la Safrane de Renault.

    Réalisations:
    • Architecture matérielle, choix technologiques, optimisation de coût et transfert en production ;
    • Mise à jour du banc de test ;
    • Développement logiciel avec contraintes d’optimisation de taille de code, de taille des données et de temps d’exécution.

    Environnement technique:
    • Langage : Assembleur
    • Matériel : Texas Instruments TMS320C14

    Bilan:
    Baisse du coût de fabrication de la carte. Limitation du nombre de références produits. Configuration directe par la ligne diagnostic.
    Prise de connaissance des problématiques de coût de fabrication, de coût de maintenance, de qualité dans un environnement à fortes contraintes. Projet réalisé de bout en bout : depuis le dessin des schémas électroniques jusqu’aux essais en véhicule.

Formations

Réseau

Annuaire des membres :