Selso LIBERADO

Née le 23/09/1980 (34 ans), concubinage

Nationalité française et portugaise

Courriel : selso.liberado «  AT »   gmail « DOT » com


DEVELOPPEUR « SYSTEME EMBARQUES »



CONNAISSANCES ET COMPÉTENCES TECHNIQUES



EXPÉRIENCE PROFESSIONNELLE



Développement d'une application embarquée chargée de la régulation d'un système mis œuvre par le CNES

Poste

Développeur / Architecte.

Tâche

Développeur chargé de conception.

Durée

6 mois

Détails

Environnement de l'application : uC LPC23XX sur carte type MCB2300, uKernel RTX.

Outils de développement: IDE Keil uVision avec la bibliothèque RL-RXT et RL-TCPnet.

Tâches :

  • Conception de l'application basée sur le framework crée précédemment

  • Conception et développement d'une bibliothèque de gestion de périphériques complémentaires

  • Développement de l'application & des tests unitaires.


Développement d'un framework embarqué pour le CNES

Poste

Développeur / Architecte.

Tâche

Développeur chargé de conception.

Durée

Deux ans environ

Détails

Environnement de l'application : uC LPC23XX sur carte MCB2300, uKernel RTX.

Outils de développement: IDE Keil uVision avec la bibliothèque RL-RXT et RL-TCPnet.

Tâches :

  • Concevoir une application configurable à distance (via HTTP, protocole type modbus), permettant l'intégration aisée de nouvelles tâches, et l'utilisation simplifiée des interfaces du uContrôleur (I2C, SPI, Timer, gestion des E/S,...)

  • Développement de l'application & des tests unitaires, optimisation de l'application.


Etude de faisabilité pour la lecture vidéo 720p sur l'OMAP3530

Poste

Développeur R&D.

Tâche

Déterminer et évaluer les technologies existantes exploitant le DSP embarqué

Durée

Deux mois.

Détails

Environnement de l'application : BeagleBoard, Linux, shell, outils Texas Instruments, gstreamer et plugins dédiés.

Les codecs DSP ne gèrent que le 420p.


Reprise complète du parc informatique du magasin métal de la fonderie Aluminium d'Issoire

Poste

Architecte / Développeur dans une équipe de 7 personnes.

Tâche

Concevoir le nouveau logiciel de pilotage des automates du magasin, ainsi que les interfaces avec les IHMs opérateur (une dizaine), dans le but d'optimiser les flux entrants/sortant de matière et maintenir une cartographie précise du stock.

Durée

Deux ans environ.

Détails

Le magasin métal est un parc entièrement automatisé stockant les matières et auges vides, et les redistribuant aux différentes équipes selon les sorties de matière programmées, et les besoins en auges vides. L'application doit également assister la maintenance du magasin.


Environnement de l'application : Linux (Debian), Qt.

Outils de développement: Qt Designer / Qt Creator, BOUML (notation UML), pgAdmin.

Tâches :

  • Définir les cas d'utilisation (rencontre avec les opérateurs, la maintenance, concertation l'APAVE).

  • Conception logicielle de l'automate magasin et des interfaces avec les IHMs

  • Définition d'un algorithme d’ordonnancement des mouvements de matière et d'auge vide

  • Optimisation de la maintenance (simplification des saisies après intervention) et de l'intégration de la stratégie de l'usine sur l'utilisation du magasin.

  • Développement du code de l'automate magasin, pilotage d'un développeur junior en renfort, participation à la maintenance des outils de l'usine (Serveur ModBus), prise en charge des nouvelles technologies à intégrer (D-Bus).


Etude de faisabilité logicielle avec des contraintes Temps réel sur un microcontrôleur NXP

Poste

Développeur.

Tâche

Proposer et valider un modèle de conception pour une application d'asservissement avec d'autres fonctions connexes (serveur WEB, horloge interne, enregistrement sur flash).

Durée

Deux mois.

Détails

Environnement de l'application : uC LPC23XX, kernel RTX

Outils de développement: IDE Keil uVision avec la bibliothèque RL.

Tâches :

  • Concevoir une application « modèle » pour intégrer l'interface TCP, HTTP, la boucle d'asservissement.

  • Mesurer les temps de latence pour l'exécution de la boucle d'asservissement.

  • Implémenter les accès à la flash embarquée.


Améliorer le déploiement logiciel sur une plateforme basée sur un processeur ARM Cortex A8

Poste

Développeur.

Tâche

Modifier la procédure d'installation du système de fichiers pour se passer d'un serveur NFS. Modifier le code d'u-boot pour prendre en charge les disques de masse USB compatible EHCI.

Durée

Trois semaines.

Détails

Environnement de l'application : la plateforme embarque un noyau Linux et le firmware u-boot dans une flash NAND.

Outils de développement: chaîne de compilation (CodeSourcery arm2009q1)

Tâches :

  • Création d'une image « initrd » pour démarrer Linux et installer l'image du système de fichiers à jour.

  • Portage du firmware u-boot vers une version supportant l'USB OTG.


Développer le protocole modBusTCP sur une plateforme QNX

Poste

Développeur.

Tâche

Concevoir et développer une tâche modBusTCP Client/Serveur s'interfaçant avec un automate logiciel.

Durée

Un mois.

Détails

Environnement de l'application : CPU PowerPC dans un environnement Qnx

Outils de développement: QNX Momentics.

Tâches :

  • Conception.

  • Développement des modes maîtres/esclaves.

  • Validation et livraison.


Développer un logiciel de pilotage de store

Poste

Développeur.

Tâche

Concevoir et développer un logiciel pilotant un moteur de store, et s'interfaçant avec un superviseur via le bus CAN.

Durée

Deux mois.

Détails

Environnement de l'application : cible embarquant un dsPIC30F

Outils de développement: outils MPLAB, chaîne de compilation C30 et sonde de programmation ICD2, espion CAN.

Tâches :

  • Conception.

  • Développement

  • Validation et livraison.


Développer un centre multimédia de salon et d'une télécommande dédiée

Poste

Développeur & chef de projet

Tâche

Accompagner le client dans la définition des besoins, coordonner les échanges avec l'équipe des graphistes, gérer le développement de la télécommande par un sous-traitant et développer la médiathèque.

Durée

Sept mois.

Détails

Environnement de l'application : le lecteur vidéo est exécuté sur un PC Linux, le serveur WEB est codé en PHP et dialogue avec une base de données MySQL (WAMP), le logiciel de la télécommande a été développé sur une BeagleBoard puis sur PC.

Outils de développement: Eclipse.

Tâches :

  • Définition des besoins client, spécifications logicielles, design graphique.

  • Etude de solutions pour un lecteur vidéo supportant les flux vidéo HD (XBMC) .

  • Conception des interfaces logicielles et développement du serveur web pour la gestion de la médiathèque.

  • Etude et prototypage d'une télécommande basée sur OpenGL/ES, et prototypage d'une autre version basée sur FLASH AS3.


Evaluation du processeur ARM Cortex A8 pour des applications bureautiques et multimédias.

Poste

Développeur

Tâche

Evaluer les distributions et les bibliothèques audio/vidéo portées pour ce processeur, ainsi que les BSP de Texas Instruments pour une exploitation bureautique et multimédia.

Durée

Deux mois.

Détails

Environnement de l'application : essais réalisées sur une BeagleBoard et un kit de développement Mistral.

Tâches :

  • Installer et évaluer des distributions Linux pour une exploitation bureautique (Angstrom/Debian).

  • Evaluation des BSP vidéos/graphiques de Texas Instruments.

  • Installation et évaluation de la bibliothèque ffmpeg optimisée pour la lecture de DVD.

  • Recherche et présentation des ressources pour le développement d'un « MovingMap ».


Développer une télécommande pour des instruments de métrologie de surface

Poste

Développeur.

Tâche

A partir d'un cahier des charges développer une télécommande pilotant un instrument de mesures de surface.

Durée

Trois semaines.

Détails

Environnement de l'application : la télécommande est exécutée dans un environnement Windows CE, la CPU est à base de processeur avec un coeur ARM. Elle dialogue avec un serveur sur le réseau Ethernet pour piloter les axes de l'instruments et récupérer les données des capteurs.

Outils de développement: Visual C++ Embedded 4.

Tâches :

  • Conception et design de l'interface.

  • Développement et tests.


Portage et intégration du serveur de temps NTPD pour une plateforme A12B

Poste

Développeur/Chef de projet.

Tâche

Porter le code source de NTPD, le configurer pour une plateforme A12B et intégrer une horloge mère externe.

Durée

Cinq semaines.

Détails

Environnement de l'application : la plateforme embarque une CPU PowerPC dans un environnement Qnx, et dialogue avec l'horloge mère via une liaison RS422.

Outils de développement: le portage utilise le SDK dédié de Qnx.

Tâches :

  • Porter et compiler le code source pour un environnement Qnx/PPC en respectant la norme POSIX.

  • Créer une interface avec l'horloge mère.

  • Installer et valider la solution.

  • Créer un script d'installation des sources et de génération du paquet à installer.


Portage d'un BSP Linux pour une plateforme Freescale i.MX27

Poste

Développeur.

Tâche

Participer au portage des paquets logiciels pour la plateforme.

Durée

Deux mois.

Détails

Environnement de l'application : le BSP est destiné à une plateforme multimédia de type PDA à base de processeur i.MX27. L'outil de génération du BSP est LTIB.

Tâches :

  • Vérifier la génération par LTIB de toutes les applications sélectionnées par Freescale.

  • Adapter les paquets existants pour la plateforme (ex : plugins Gstreamer).

  • Intégrer les nouveaux paquets (ex : application GPS) et les modifications de l'équipe.

  • Vérifier les plugins GStreamer pour la gestion de la caméra, la lecture vidéo dans les formats supportés, la lecture audio dans les formats supportés.

  • Intégrer la plateforme dans Qtopia : gestion du clavier, camera, batterie et secteur, niveau d'éclairage, lancement de toutes les applications proposées par Qtopia.


Réalisation d'un module de gestion d'équipements torpilles

Poste

Chef de projet, développeur.

Tâche

Diriger le projet avec le client pour la spécification et la réalisation d'un équipement de lancement de torpilles.

Prise en charge d'un développeur débutant pour le codage du logiciel.

Durée

Dix mois.

Détails

Environnement de l'application : l'application est exécutée sur une cible à base de processeur PowerPC et utilise les supports de communications suivant : bus VME, Réseau Ethernet, liaison série RS232, communication avec une porteuse contenant un module d'entrée/sortie TOR et un module gérant quatre liaisons série RS422.

L'environnement logiciel est un noyau Linux 2.6.

Tâches :

  • Gérer le planning du projet.

  • Ecrire les spécifications logicielles.

  • Valider le dossier d'architecture logicielle.

  • Ecrire les procédures de test et validation du logiciel.

  • Assurer l'intégration, et les gestion d'évolution/d'anomalie du logiciel.


Etude et développement d'une maquette de gestion de redondance réseau

Poste

Ingénieur d'étude.

Tâche

Etudier différentes architectures logicielles et algorithmes de filtrage pour améliorer les performances d'un équipement de gestion de redondance réseau.

Durée

Un mois.

Résultat

La solution présentée offrait une amélioration de performances de 50 % dans toutes les configurations réseaux testées.

Détails

Environnement de l'application : l'application est exécutée sur une cible à base de processeur PowerPC et utilise les supports de communications suivant : bus VME, Réseau Ethernet, liaison série RS232. L'environnement logiciel est un noyau Linux 2.6.

Tâches :

  • Etudier et implémenter les solutions de filtrage,

  • Evaluer les performances avec un générateur de trafic réseau : (trafic aléatoire, redondance des paquets, transmissions en mode burst, transmissions en mode continu ...).


Mise en oeuvre d'une interface graphique pour un automate d'analyse et de mesures biomédicales

Poste

Ingénieur d'étude.

Tâche

Etudier différentes solutions logicielles offrant un ensemble de composants pour le développement d'interfaces graphiques prenant en charge les caractères unicodes et destinées à être embarquées sur une cible à base de processeur ARM.

Durée

Un mois.

Détails

Environnement logiciel : noyau Linux 2.6.

Outils de développement: langage C, Compilation croisée des librairies avec gcc-arm (+autotools).

Tâches :

  • Evaluer le patch FLTK-UTF8 : fiabilité, différence fonctionnelles avec FLTK, qualité d'écriture, estimation de charge.

  • Etudier et comparer les bibliothèques graphiques Qtopia, FTLK, GTK2+.

  • Résultats de l'étude basés sur ces critères : support de l'encodage UTF-8, fonctionnalités, licenses, support ARM, charge mémoires, facilité de mise en oeuvre (installation de la bibliothèque et outils de conception ).

  • Tests (affichage de caractères, couleurs et boutons).


Passerelle logicielle embarquée dans un sous-marin

Poste

Développeur.

Tâche

L'application est une passerelle logicielle entre les modules de gestion de lancement de torpille et les postes de commandes d'un sous-marin. Dans un premier temps il faut effectuer le portage de l'application depuis un environnement VxWorks vers un environnement Linux 2.6. Ensuite créer deux branches de l'application pour le support de nouveaux équipements.

Durée

Un an et demi. L'application a été validée dans son nouvel environnement (la validation suit la démarche énoncée par la documentation DoD (norme CEI12207). Ses évolutions sont prévues pour n'être exécutées que dans un environnement Linux.

Détails

Environnement de l'application : l'application est exécutée sur une cible à base de processeur PowerPC et utilise les supports de communications suivant : bus VME, Réseau Ethernet, liaison série RS232. L'environnement logiciel est un noyau Linux 2.6.

Outils de développement: développement avec l'IDE Eclipse 3.2 avec l'extension CDT (pour développement de projet en langage C).

Démarche de développement : cycle de vie en V appuyé par la documentation DoD, hébergement du projet sur serveur CVS.

Tâches :

  • Création d'une bibliothèque de portage d'une application vxWorks vers linux 2.6.x.

  • Les fonctionnalités implémentées sont essentiellement les services multi-tâches, gestion de timers, services de synchronisation (sémaphores) et de communication (queue de messages) inter-processus.

  • Création de nouvelles versions de la passerelle pour supporter de nouveaux équipements.

  • Création d'une procédure pour l'installation du logiciel et de l'environnement (documentation, scripts et patchs).


Banc de test de mémoires vives

Poste

Chef de projet et développeur (travail en équipe avec une deuxième personne).

Tâche

L'objectif de ce projet est de mesurer l'impact des rayons cosmiques sur les circuits de type "mémoires vives". Cela consiste à mettre en place un système traitant des données écrites et lues dans un banc de mémoires. Le système est pilotable à distance par une IHM graphique. Le système contrôle également l'alimentation des mémoires.

Durée

Quatre mois. Le produit a été installé au Pic de Bure.

Résultat

Le projet a été validé par le client et installé au Pic de Bure.

Détails

Environnement de l'application : une cible Altera (SoPC avec un processeur softcore Nios II) embarquant un kernel temps-réel uC/OSII. L'IHM graphique est exécutée sous windows.

Outils de développement: kit de développement d'Altéra (logiciel Quartus, IDE nios II) et Visual C++6.

Démarche de développement : cycle de vie en V appuyé par la documentation DoD (norme CEI12207).

Tâches :

  • Ecriture d'un client (IHM) / Serveur (cible Altera) communiquant sur le réseau Ehternet.

  • Ecriture d'un pilote pour le périphérique de sérialisation des données échangées avec les mémoires. Le périphérique développé par le client est une application écrite en VHDL et intégrée dans la cible Altéra.

  • Ecriture de la simulation du serveur pour valider l'IHM client.


Banc de test pour réseau CAN

Poste

Développeur.

Tâche

Poursuivre le développement d'une application communiquant sur les réseaux Ehternet ,GSM et CAN

Durée

Un mois.

Détails

Environnement de l'application : une cible à base de processeur Intel Céléron au format PC104. L'environnement logiciel est le noyau Linux/RTAI.

Outils de développement: chaîne de compilation GNU/GCC.

Démarche de développement : développement sur cahier des charges.

Tâches :

  • Développement partiel de l'application.

  • Porter le makefile de l'application (binaires et modules) depuis la version 2.4 vers la version 2.6 de linux .

  • Mise au point de l'application et des pilotes CAN.


Développement d'une interface graphique d'affichage des mesures de pièces

Poste

Développeur.

Tâche

Reprendre le développement d'une interface graphique d'analyse de mesures pour écrire plusieurs déclinaisons 'client'. Développement d'un "espion" pour l'interface.

Durée

Trois mois.

Détails

Environnement de l'application : Windows XP.

Outils de développement: Visual C++ 6 ( avec les bibliothèques MFC).

Démarche de développement : développement sur cahier des charges. Ecriture d'un document pour le suivi de version logicielle.

Quelques Fonctionnalités de l'IHM :

  • Récupération des mesures depuis un fichier fournit par un logiciel externe.

  • Gestion de session intégrée dans l'application.

  • Enregistrement des évènements utilisateurs (avec l'espion) dans une base de données.


BSP Linux pour cible à base de processeur Intel PXA-255

Poste

Développeur.

Tâche

Portage d'un noyau linux et de bibliothèques vers la cible.

Durée

Deux mois.

Détails

Outils de développement: chaîne de compilation croisée GNU/GCC pour ARM, IDE Eclipse 3.2.

Démarche de développement : cycle de vie en V appuyé par la documentation DoD (norme CEI12207).

Tâches :

  • Portage de la bibliothèque SNMP et création d'une bibliothèque pour faciliter le développement d'application utilisant le protocole SNMP.

  • Modification du pilote du port série pour prendre en charge le protocole RS485 ( on peut basculer entre les protocoles RS232 et RS485 par une simple commande).

  • Mise en place partielle de busybox : serveur web avec support des scripts CGI.

  • Configuration et compilation d'un kernel linux pour le support des systèmes de fichiers placés en RAMDISK-ext2, NFS ou JFFS2.


Développement d'une IHM superviseur et passerelle entre le service logistique et une ligne de distribution de colis

Poste

Développeur.

Tâche

Développer une passerelle entre le service logistique et un automate (Siemens) d'une ligne de distribution. Le superviseur affiche l'état de la ligne de distribution.

Durée

Deux mois.

Détails

Environnement de l'application : Windows, SQL Server 2000.

Outils de développement: Visual C++ 6 (Libraires QT3), QT Designer. Kit de développement Applicom (carte de communication TCP/IP avec l'automate).

Démarche de développement : développement sur cahier des charges et de conception.

Tâches :

  • Développement du client OPC pour communiquer avec l'automate sur le réseau Ethernet.

  • Conception et Développement de l'IHM et du superviseur

  • Validation et tests : Simulation d'un automate avec Isagraf, Client OPC pour simuler la ligne de distribution (état des lignes, évènements).



Système de surveillance autonome contrôlant la qualité de l'air ambiant.

Tâche

Etudier et mettre en œuvre les possibilités de réalisation de ce système basé sur les réseaux LonWorks.

Durée

Six mois.

Détails

Environnement de l'application : micro-contrôleur PIC18F, nœud réseau LonWork, sonde LonWorks.

Outils de développement: LonManager (Construction du réseau), LonBuilder (développement sur le noeud réseau), IDE Microchip MPLAB et chaîne de compilation pour PIC.

Démarche de développement : cycle de vie en V.

Tâches :

  • Ecriture du cahier des charges et de la conception et des tests de validation

  • Etude du firmware MIP pour le Noeud Réseau Lonworks

  • Etude de la communication avec le port parallèle du firmware MIP

  • Développement du serveur réseau / Client LonWorks sur le microcontroleur PIC

  • Conception et réalisation de la carte hébergeant le microcontrôleur

  • Tests avec le prototype.



FORMATION ET LANGUES

Formation :


Langues :


CENTRES D'INTÉRÊTS


Éditeur et président du journal « Contact » (1998 – 2002), l'association qui produit et distribue le journal universitaire de l'INSA. Gestion d'une équipe de 15 personnes.

Loisirs : salsa, guitare.