Menu

Oussama JABBARI

VILLENEUVE LOUBET

En résumé

Ingénieur avec une double expertise Software + Hardware :

Software :
- Développement de systèmes Linux embarqués.
- Ecriture de drivers C pour Linux.
- Débogage en Lab avec Oscilloscope et Lauterbach.
- Java/C++.
- Python/Bash
- Git

Hardware :
- Connaissance de SOC (exemple: TI OMAP)
- Vérification RTL de module et d'intégration.
- Design numérique VHDL et Verilog.
- Implémentation sur FPGA.

Spécialisations : - Linux embarqué : Développement noyau, driver C Linux.
- Programmation haut niveau: C, C++, Java, Perl, Bash.
- Assembleur : m68000.

Mes compétences :
Android
JAVA
Design patterns
Langages C
Python
C++
Embedded Linux
VHDL FPGA et Matlab
Bash
Drivers Linux

Entreprises

  • Altran chez Intel Mobile Communications - Linux Post-Silicon Validation Engineer

    2013 - maintenant Vérification post-silicon de l'interface caméra d'un SOC pour téléphone à l'aide de driver Linux V4L2.

    * Tâches réalisées:
    - Lancement et débogage d'une suite de tests en C et Bash pour vérifier différentes configurations de l'interface caméra.
    - Débogage et modification de code à plusieurs niveaux:
    ---- Debug hardware avec oscilloscope et Lauterbach.
    ---- Debug et modification du driver C Linux V4L2.
    ---- Debug et modification des programmes User Space en C et Bash.
    - Ecriture d'un script Bash et modification du driver Linux pour la configuration de l'interface MIPI CSI-2 de la caméra.
    - Conversion sous Android de vidéos pour le test du Video Processor.

    * Outils utilisés:
    - C
    - Développement et debug de drivers C Linux V4L2.
    - Debug post-silicon en lab avec oscilloscope et Lauterbach.
    - SOC (System-on-Chip) ARM pour la téléphonie.
    - Configuration de noyau Linux.
    - Bash
    - Buildroot
    - Git
    - Android: adb, repo.
  • Altran chez ARM - Hardware/Software Verification Engineer

    2013 - maintenant * Contexte: Equipe de conception et vérification d'un processeur ARM.

    * Tache effectuées:
    - Lancement de test de non régression.
    - Investigation des causes des zones non couvertes (code coverage).
    - Automatisation et génération de rapports avec Python, Bash et VBA.
    - Ecriture de points de functional coverage en Verilog.

    * Outils utilisés:
    - Python
    - Verilog
    - Bash
    - VBA
    - Git
    - Assembleur ARM
  • Autoformation - Autoformation en Android

    2012 - 2012 - Lecture des articles Linux Magazine dédiés aux couches basses d'Android.
    - Autoformation à l'aide des cours de Free Electrons : http://free-electrons.com/training/android/
    - Expérimentations sur BeagleBoard.
  • Projet personnel - Concours LinuxEmbedded 2012

    2012 - 2012 * Projet : Conception d’un oscilloscope sur émulateur puis sur carte mini2440 (ARM9). http://www.linuxembedded.fr/concours2012/

    • Mise en place d’un environnement complet toolchaine ARM + bootloader (U-Boot) + kernel Linux + root file system (BusyBox) + tslib (librairie pour la gestion du touchscreen), à la main puis à l’aide de Buildroot.
    • Exploration du code du bootloader U-Boot, ainsi que du code de la carte sous qemu.
    • Exploration du code du kernel pour la carte mini2440 ainsi que du code du driver de l’ADC.
    • Installation d’un environnement de développement d’interface graphique à l’aide EFL (Enlightenment Foundation Libraries).

    * Outils : C, qemu, Buildroot, kernel+drivers Linux, U-Boot.
  • Projet personnel - Développement de driver C Linux

    2012 - 2012 - Carte Calao USB à base de ARM 9
    - Compilation de toolchains à l'aide de Buildroot et Crosstool-NG
    - Configuration et compilation de noyau Linux 3.0
    - Ecriture de driver en C pour l'interface UART, mise en oeuvre de divers concepts : interrupts/wait/wakeup, spinlocks, read/write/ioctl.
  • Sogeti High Tech pour Thales Alenia Space - Ingénieur Software

    2011 - 2012 * Contexte :

    Conception des bancs de test de la constellation de satellites Iridium-Next.


    * Tâches :

    - Développement en JAVA d’une librairie pour la conduite de tests.
    - Ecriture de modèles de simulation en C++ et Python pour le bus Spacewire et pour la librairie d’archivage. Développement multi threads.
    - Mesure de performances de temps d’éxecution de divers parties de code du banc. (Java + C + Python + shell Bash).
    - Migration d’un projet en C de 700000 lignes de 32 bits vers 64 bits.

    * Outils : Java, C++, Python. Bus Spacewire.
  • SMIE - Ingénieur Software Embarqué

    2010 - 2011 * Contexte :

    - Développement sur carte Linux embarqué avec cible ARM pour un projet de contrôle de grues avec système anticollision.


    * Tâches :

    - Ecriture de librairies bas niveau pour bus CAN.
    - Etude d'algorithmes hauts niveau pour l'anticollision.
  • Free Electrons - Formation Noyau et Drivers Linux

    2010 - 2010 - Etude du noyau Linux et développement de drivers en C.
    - Optimisation de la taille du noyau et du temps de boot.
    - Portage du noyau Linux sur nouvelles plate-formes.
  • Free Electrons - Formation Systèmes Linux Embarqués

    2010 - 2010 - Configuration et compilation de noyau et système Linux.
    - Utilisation de Toolchains telles Buildroot et Crosstool-NG.
    - Développement sur Beagleboard (carte basée sur OMAP 3530).
  • Projet personnel - Développement en C

    2010 - 2010 Projet : Emulateur Sega Megadrive (Console de jeux).

    - Codage «from scratch» du processeur Motorola 68000.
    - Codage «from scratch» du VDP (Video Display Processor).

    Résultats : L'émulateur est fonctionnel : permet de jouer à Sonic 2.

    Tâches à venir :

    - Intégration du Zilog Z80 et codage de la partie son.
    - Portage sur la Beaglebord.
  • Wipro NewLogic - Digital Design Engineer

    Bangalore 2009 - 2009 Projet : IP MAC Hardware pour 802.11n.

    - Conception d’une interface LVDS Mac vers Mac en Verilog.
    - Implémentation sur FPGA : utilisation de Synplify Pro, scripts de synthèse.

    Résultats:

    - Transmission opérationnelle pour le développement du MacHW sur FPGA.
  • Texas Instruments France - Verification Engineer Modifier

    Villeneuve-Loubet 2006 - 2008 Projet : Plate-forme multiprocesseurs OMAP pour la téléphonie.

    - Écriture de tests en C et en E (Specman).
    - Vérification de l'intégration de divers modules : contrôleurs mémoire, interfaces séries, partie sécurité (firewalls).
  • Wipro NewLogic - Module Verification Engineer

    Bangalore 2006 - 2006 Projet : SOC à base de ARM 7 pour Wifi (Hardware, Software + RF)

    - Vérification niveau module de l’interface SPI, du contrôleur Flash, de l’Uart et de l’I2C.
    - Conception de plate-forme de test en VHDL + Perl.

Formations

Réseau

Annuaire des membres :