Abdellatif El Khlifi

Last updated May 15th 2012
Resume powered by emurse

ABDELLATIF EL KHLIFI

Tunis - Tunisia

-

SUMMARY 

Embedded device drivers Engineer.

Intervention environments:

- Embedded systems design, RTOS, device drivers, C/C++ design, system level troubleshooting and debugging, solving engineering problems and searching for root causes.
- Embedded linux and Android systems.
- Board bring-up.
- Crossplatform applications.
- Reverse engineering.
- HW/SW interfacing.

Professional experience:

- About three years of professional experience in Automotive SW drivers and C/C++ design.

-

PROFESSIONAL OBJECTIVE 

Enthusiastically learning as much as I can about linux kernel, embedded device drivers, RTOS and board bring-up.

-

KEYWORDS 

R&D , electrical engineering , realtime embedded systems , embedded software code optimizations , device drivers , RTOS , linux kernel , Android , ARM cortex A8 , Beagleboard , Texas Instruments Davinci , ARM cortex M3 , STMicroelectronics STM32 , Renesas SuperH , Infineon Tricore , GNU Emacs ,Eclipse , IAR , debugging , JTAG , GDB, KGDB, Automotive, Autosar, reverse engineering , C++ , C , boost , Qt , cross-platform applications , Win32 API , DLL , IEEE community.

-

SKILLS 

# General experience:

- Fluent in C/C++ software designing and programming.
- C++ cross-platfom applications deployed on Linux/Windows based on: Qt C++ cross-platform technology, boost C++ librairies, STL.
- Strong problem solving and debugging skills.
- Design patterns, layered architectures, UML.
- Realtime, multithreading, IPC.
- Makefiles, Linux shell scripting, Linux shared libraries, POSIX threads.


# Embedded software programming:

- Experienced in the following RTOS/OS: Embedded Linux, Android (NDK), Micrium µC/OS-II, FreeRTOS, Freescale MQX, OSEK.
- Experienced in applications and drivers design targeting the following microcontrollers and cores:
--> ARM: Cortex A8 , Cortex M3.
--> Texas Instruments: Davinci (ARM Cortex A8).
--> Renesas: SuperH (SH-2A).
--> Infineon: Tricore DSP , Infineon XC2000.
--> STMicroelectronics: STM32F, STM32L (low power), STM8S, STM8L (low power).
--> Freescale: PowerPC, Coldfire.
--> Microchip: PIC16F/18F.
--> Fujitsu: 16FX.

- Android/Linux kernel device drivers programming (on TI Beagleboard: Cortex A8 open hardware board): designing drivers, building/configuring Linux kernel.
- Building tiny embedded linux distributions: busybox.
- Linux kernel debugging: JTAG, KGDB, OpenOCD/GDB.
- Linux/Android applications debugging: GDB.
- Bootloaders: U-boot on Davinci, STM8 and STM32 bootloaders.
- Board bring-up.

# Desktop software programming:

- C/C++ Windows applications and Win32 internals: reverse engineering, MFC, Windows API hooking, code injection, processes patching, DLLs, x86 assembly.
- Linux C/C++ applications.

# Main tools:

- GNU cross-compilation toolchains (ARM), Eclipse, Emacs, GCC/GDB, KGDB, JTAG probes, OpenOCD, IAR, CCS (TI), RealView (Keil), Visual C++, SH Renesas toolchain (HEW), TASKING VX-toolset (C166/ST10), Freescale Codewarrior, Fujitsu Softune, Microchip MPLAB, CCS PIC-C (PIC), HI-TECH PICC, Matlab, Ollydbg, IBM Rational Rose.

# Hardware:

- Navigating boards schematics and datasheets.
- Analog and digital electronics (design, simulation and PCB).
- BLDC control.

# Protocols and transfers:

- USB, NFS, TCP/IP, DMA, I2C, SPI, RS232, SSH, CAN.

# Languages:

- Fluent in English, in French and in Arabic.

-

EMPLOYMENTS AND PROJECTS 

June 2010 - March 2012 (1 year, 8 months)

Tunis, Tunisia

R&D Embedded Software Engineer acting for Valeo, at Telnet

Skills: Automotive embedded software device drivers design, RTOS, electrical car technology.

Achievements:

- Designing and implementing Autosar complex device drivers on an Infineon Tricore microcontroller (Motor resolver, SPI, PWM, ADC, DMA, memory mapping, interrupts handling).
- Participation in the design, the implementation, the integration and the testing of the Autosar complex resolver and some custom drivers (ie: ADC, advanced timers, PWM, DMA, interrupts, RAM errors) on a Renesas SH-2A microcontroller.
- Designing and programming of the ADC device driver on an Infineon XC2000 microcontroller
- Solving engineering problems on critical real-time constraints, debugging and searching for root causes.
- Assembly and C code optimizations on Renesas SH-2A.
- Navigating boards/processors schematics and datasheets.
- electronics/electrical machines study.
- Projects analysis.

-

September 2010 - January 2011 (4 months)

Tunis, Tunisia

R&D Embedded Software Engineer, at Telnet

Skills : Embedded systems, device drivers and desktop applications design .

Achievements :

- Designing and programming of an embedded GPS/GPRS tracking system based on STM32L cortex-M3 low power MCU. And progrmming a boost C++ desktop application handling a USB communication with the target.
- Designing and programming of a custom flash memory device driver for STM8S. And tailoring the user bootloader for custom operations.

-

May 2010 - June 2010 (1 month)

Tunis, Tunisia

Software Engineer, Freelance projects

Skills : Network management, RTOS, device drivers .

Achievements :

- Designing and programming of a network routing table multithreading C application on Linux.
- Designing and programming of a vendor-specific USB driver for MQX RTOS targeting Coldfire and PowerPC processors. And programming a boost/Qt C++ desktop test application.

-

September 2009 - June 2010 (5 months)

Tunis, Tunisia

Embedded Software Engineer, at Telnet

Skills: Automotive embedded software device drivers design, RTOS, automotive dashboards technology, embedded/desktop software programming.

Achievements:

Acting for Johnson controls:

- LCD and PWM drivers design on Fujitsu 16Fx microcontrollers.
- Mentoring student engineers to design and to program an embedded application on a Coldfire microcontroller for USB dashboard control.

Acting for Valeo:

- Designing and programming a Qt/boost C++ desktop application for automatic calculation of the worst-case stack usage of the tasks in an embedded C project (automotive engine control projects) targeting SH-2E MCUs.

-

January 2009 - May 2009 (5 months)

Tunis, Tunisia

Final Graduate Project- Engineer diploma (BSEE)

Internship at Telnet
National Engineering School of Tunis

Skills : Crossplatform software design, RTOS, embedded software drivers design, reverse engineering, automotive dashboards technology (Johnson Controls).

Achievements :

- Automation of the testing phase of automotive dashboards by designing and building of a desktop Qt/boost C++ software application. The application automates Johnson
Controls testing scripts by implementing Windows reverse engineering memory patches and algorithms.
- Designing and building of the electronic control board and programming an Micrium µC/OS-II RTOS-based firmware to control the dashboard.

-

December 2008 - January 2009 (1 month)

Tunis, Tunisia

Student Engineer

Course workshop
National Engineering School of Tunis

Skills : Systems control, embedded software drivers design, electronics.

Achievements :

- Design and development of an embedded software for thermal system PID-control on PIC MCU.
- System modeling (Matlab/Simulink).

-

August 2008 - September 2008 (1 month)

Tunis, Tunisia

Student Engineer

Internship at Cynapsys
National Engineering School of Tunis

Skills : Embedded Linux software design.
Achievements :

- Building digital photo frame multithreading C application on an embedded Linux platform (ARM9 electronic device).
- Cross-compilation.
- Programming shared librairies.

-

January 2008 - May 2008 (4 months)

Tunis, Tunisia

Student Engineer

Internship at Cynapsys
National Engineering School of Tunis

Skills : Desktop software design, embedded software drivers design, electronics.

Achievements :

- Designing and programming of a low cost MFC C++ computer scope software.
- Participating in the design of the PIC electronic card.

-

January 2006 - May 2006 (4 months)

Tunis, Tunisia

Student

Final Graduate Project- DUT diploma
Superior Institute of Medical Technologies

Skills : Desktop security software design, reverse engineering, rootkits.

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

-

-

EDUCATION 

National Engineering School of Tunis, Tunis, Tunisia, September 2006 - June 2009

BSEE: Bachelor of Science (National Electrical Engineer Diploma: 6 years university studies) in Electrical engineering

 

Superior Institute of Medical Technologies of Tunis, Tunis, Tunisia, September 2003 - June 2006

University Diploma of Technology (DUT: 3 years university studies) in Electronic systems

 

Secondary School of Menzah 9, Tunis, Tunisia, September 1996 - June 2003

Baccalaureate in Mathematics

 

-

CLUBS AND ORGANIZATIONS 

- IEEE and IEEE Computer Society member.
- Participation in IEEEXtreme Programming Competition (2007/2008).

-

INTERESTS 

- Passionated by embedded systems, Linux kernel programming, C/C++, Qt, Emacs, Beagleboard project.
- Music, History readings.

-

REFERENCES 


National Engineering School of Tunis: www.enit.rnu.tn/fr/formation/genie_lectrique.php

-

-

 


Telnet: www.groupe-telnet.com/index.php/en/home/presentation

-

-

 


Valeo: www.valeo.com

-

-

 


Johnson Controls: www.johnsoncontrols.com

-

-

 


Cynapsys: www.cynapsys.de

-

-

 


IEEE: www.ieee.org

-

-

-