Photo

Abdellatif El Khlifi

 
 
 

Embedded Device Drivers Software Engineer, C/C++, R&D

Objectives

Leveraging cutting-edge technologies and going deeper in embedded systems software design.

Professional Experiences

Embedded Software Engineer

Telnet / Valeo

From August Till September 2010
Tunisia

Skills: R&D, embedded software drivers design, electrical car technology.

Achievements: Participation in designing and programming the Singlsyn engine sensor embedded controlling drivers (ADC, timers, PWM, DMA) on a Renesas SH-2A microcontroller.

Technical environments :

  • Valeo real-time software architecture, critical software real-time constraints, Valeo OSEK RTOS ;

  • Designing drivers for Renesas SH-2A microcontrollers, programming and debugging with SH Renesas toolchain (HEW), embedded C, Eclipse, electronics/electrical machines.

Embedded Software Engineer

Telnet / Valeo

From July Till August 2010
Tunisia

Skills: R&D, embedded software drivers design, electrical car technology.

Achievements: Participation in designing and programming the ADC driver on an Infineon XC2000 microcontroller, DC/DC converter project.

Technical environments:

  • Valeo real-time software architecture, critical software real-time constraints, Valeo OSEK RTOS;

  • Designing drivers for Infineon XC2000 microcontrollers, programming and debugging with TASKING VX-toolset (C166/ST10), embedded C, Eclipse.

Embedded Software Engineer

Telnet / Valeo

From June Till July 2010
Tunisia

Skills: R&D, electrical car technology, low level software layers.

Achievements : Electrical car software projects study (Dynapar sensor simulator and DC/DC convertor projects).

Technical environments :

  • Valeo real-time software architecture, critical software real-time constraints, Valeo OSEK RTOS, Drivers programming targeting Infineon XC2000 microcontrollers, electronics/electrical machines.

Embedded Software Engineer

Telnet / Valeo

From May Till June 2010
Tunisia

Skills: Embedded software drivers design, automotive clusters technology.

Achievements: LCD and PWM drivers design within Johnson Controls software architecture targeting Fujitsu 16Fx microcontrollers.

Technical environments:

  • Real-time software architecture (Johnson Controls), JCI OSEK RTOS, Fujitsu 16Fx microcontrollers drivers design, UML, embedded C.

Embedded Software Engineer

Telnet / Johnson Controls

From January Till May 2010
Tunisia

Skills : Embedded software drivers design, automotive clusters technology.

Achievements : Embedded software development on a Coldfire microcontroller for communicating with JCI cluster. Student engineers mentoring and designing of the software architecture: An extension to my Final Graduate Project.

Technical environments:

  • Bare metal Coldfire MCU software programming, USB drivers programming (based on CMX USB stack), Freescale CodeWarrior, embedded C, real-time, electronics.

 

Embedded Software Engineer

Telnet / Johnson Controls

From January Till April 2010
Tunisia

Skills : C/C++, embedded software drivers design, RTOS, automotive clusters technology.

Achievements : Designing and programming of a vendor-specific USB driver for MQX RTOS targeting Coldfire and PowerPC MCUs.

Technical environments:

  • USB, MQX RTOS, multitasking, IPC, real-time, Freescale CodeWarrior, Coldfire and PowerPC architectures;

  • Embedded C, C/C++, Qt/boost c++ (for the desktop test application), Eclipse/GCC/GDB on Windows, Signals/slots, multithreading.

Embedded Software Engineer

Telnet / Valeo

From October 2009 Till March 2010
Tunisia

Skills : C/C++ embedded/desktop software design.

Achievements : Automatic calculation of the worst-case stack usage of the tasks in an embedded C project (automotive engine control projects) targeting SH-2E MCUs.

Technical environments :

  • Design patterns, Qt (signals/slots, regular expressions, multithreading), boost C++ (smart pointers, Boost Graph Library: BGL), cross-platforms software programming (Linux/Windows), Eclipse/GCC/GDB;

  • Renesas SH-2E MCUs, embedded C.

Embedded Software Engineer

Telnet / Johnson Controls / Valeo

From September Till October 2009
Tunisia

Skills : Embedded software for automotive clusters (Johnson Controls), low level layers, embedded software for automotive engine control (Valeo), process.

Achievements : Embedded software training with a focus on Johnson Controls projects (low level layers), OSEK/VDX, JCI software architecture, process, Fujitsu 16Fx MCUs. And another training with a focus on Valeo projects (application layer), Autosar, Valeo functional components programming.

Technical environments :

  • Johnson Controls software architecture, OSEK/VDX, Fujitsu 16FX, Fujitsu Softune, critical embedded software constraints;

  • Johnson Controls process, Valeo process, V cycle.

Trainee engineer

Telnet / Johnson Controls

From January Till May 2009
Tunisia

 

Final Graduate Project- Engineer diploma (MSEE):


Skills : C++ software design, RTOS, embedded software drivers design, reverse engineering, automotive clusters technology (Johnson Controls).

Achievements : Automation of the validation phase of automotive dashboards (Johnson Controls): designing and building of a cross-platform software solution based upon flexibility and real-time performance (with Qt C++) to automate Johnson Controls validation scripts (by implementing reverse engineering memory patches). Furthermore, it establishes a real-time communication bridge between itself and the hardware part leading to control the dashboard. The software design is based on several design patterns allowing a code separation by responsibility. The design also includes building an electronic dashboard control card based on Micrium µC/OS-II RTOS.

Technical environments:

  • Design patterns, Qt C++ cross-platform software design, boost C++ libraries, embedded C, Micrium μC/OS-II RTOS, multithreading, IPC, smart pointers, real-time, reverse engineering, code injection, API hooking, USB drivers, USB devices firmware programmming, VC++, Win32 API, MFC, DLL , SDLC, Johnson Controls environment, Virtualization, Proteus.

Student Engineer

National Engineering School of Tunis

From December 2008 Till January 2009
Tunisia

Skills : Systems control, embedded software drivers design.

Achievements : Design and development of an embedded software for thermal system control .

Technical environments :

  • Embedded C, PWM and ADC drivers, PIC16F877A, HT-PICC, MPLAB, RS232, Proteus, PCB, Systems modeling (Matlab/Simulink), PID algorithm calculation and implementation on microcontroller.

Trainee Engineer

Cynapsys

From August Till September 2008
Tunisia

Skills : C/C++ software design, embedded Linux, cross-compilation.

Achievements : Building digital photo frame software on an embedded Linux platform (ARM9 electronic device).

Technical environments :

  • C/C++, SDL, Qt, multithreading, ARCOM Embedded Linux, Cross-compilation, ARM9, Linux shared libraries.

Student

National Engineering School of Tunis

From May Till June 2008
Tunisia

Skills : C++ software design.

Achievements : Designing and programming of a pharmacy software .

Technical environments :

  • C/C++, MFC, Codejock XTP, Windev, Win32 API, DLLs, SDLC.

Trainee Engineer

Cynapsys

From January Till May 2008
Tunisia

Skills : C++ software design, embedded software drivers design, electronics.

Achievements : Designing and programming of a PC datalogger and participating in the design of the electronic card.

Technical environments:

  • Embedded real-time software, ADC driver, C/C++, MFC, Codejock XTP, Win32 API, DLLs, SDLC, PIC16F877, HT-PICC, I2C, RS232, Proteus, PCB.

Student

Superior Institute of Medical Technologies

From January Till May 2006
Tunisia

Final Graduate Project- Bachelor’s diploma (BSEE):

 

Skills : C++ software design, reverse engineering, data security.

Achievements : Designing and programming of a computer monitoring software: PCHunter; It logs information about the current computer and intercepts all users activities (Key logger, Mouse logger, Screen capture ...) and sends logged data by email.

Technical environments :

  • C/C++, Borland C++ Builder, Win32 API, DLLs, Windev;

  • Reverse engineering, kernel/user mode, hyper furtive rootkits, parental and professional control, data recovery, SDLC.

Educational Background

Electrical Engineer Diploma

Engineering school

June 2009
Tunisia

MSEE : Master’s Degree in Electrical Engineering, bac+6

Bachelor's degree in Electronic Systems

Engineering school

June 2006
Tunisia

BSEE, bac+3

Baccalaureate degree in mathematics

High school

June 2003
Tunisia

Skills

Software and electrical engineering

  • Design and programming in C/C++ (embedded and desktop): design patterns, UML, Qt C++ cross-platform technology deployable on: Linux, Embedded Linux, Windows, Windows CE, Mac OS, Symbian, boost C++ librairies, MFC, STL, C/C++ standards, MISRA C;

  • Multithreading, reverse engineering : Windows API hooking, code injection, processes patching ...;

  • Win32 API, DLL, Linux shared libraries, Cross-compilation, makefiles (Linux);

  • Microcontrollers drivers programming (PowerPC, Coldfire, Microchip PIC16F/18F, Fujitsu 16FX, x86, SuperH, Infineon XC2000) and Hardware/software interfacing;

  • Design and programming of embedded applications targeting: Embedded Linux, Micrium µC/OS-II RTOS, Freescale MQX RTOS, Valeo software architecture, Johnson Controls software architecture, Osek Environment;

  • Programming and debugging with: Eclipse (GCC/GDB), Visual C++, SH Renesas toolchain (HEW), TASKING VX-toolset (C166/ST10), Freescale Codewarrior, Fujitsu Softune, Microchip MPLAB, CCS (pour PIC), Matlab, Ollydbg.

  • Virtualization/emulation/simulation : QEMU, VirtualBox, Proteus;

  • Electronics.

Valeo skills

  • Valeo real-time software architecture targeting electrical car technology;

  • Designing and programming of drivers for microcontrollers (Valeo software architecture : low level layers, electrical vehicle technology), R&D, real-time constraints of critical embedded system software, Valeo OSEK RTOS ;

  • Valeo project life cycle process, V cycle.

 

Johnson Controls skills

  • Johnson Controls real-time software architecture targeting automotive clusters technology;

  • Real-time constraints, JCI OSEK RTOS (TOS);

  • Designing and programming of drivers for microcontrollers (Johnson Controls software architecture: low level layers, automotive clusters technology) ;

  • Johnson Controls project life cycle process, V cycle.

 

Cynapsys skills

  • Embedded Linux multimedia software applications in C/C++.

 

Protocols

  • USB, TCP/IP, I2C, SPI, RS232, SSH, CAN.

 

µC/µP architectures

  • ARM9/5 (Embedded Linux development);

  • PowerPC;

  • Coldfire;

  • SuperH (SH-2E and SH-2A);

  • Intel x86;

  • Fujitsu 16FX;

  • PIC16F/18F;

  • Infineon XC2000.

Operating systems

  • Linux, Windows, Embedded Linux, Freescale MQX RTOS, Micrium µC/OS-II RTOS, Johnson Controls OSEK RTOS (TOS), Valeo OSEK RTOS;

  • Platforms supported by Qt C++ cross-platform technology.

Intervention environments

  • Embedded systems  ;

  • Desktop applications (PC) ;

  • Automotive.

Languages

Arabic

Native language

French

Fluent

English

Fluent

German

Beginner

Personal Interests

Interests

  • Analog and digital electronics ;

  • IEEE member ;

  • Passionated by embedded systems, Linux, C/C++, Qt.

Created with NetCV