|
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 - |
- |
||
-