Curriculum Vitae
Rudrajit Sengupta
B.E (Electrical Engg.)
Regional Engineering College- Surat, IN
First Class with Distinction
Phone No: +91-988*******
E-Mail: ********.********@*****.***
To work in an organization, which is at the cutting edge of technology, where working means all about being innovative and creative, where with passion and dedication I can follow my dreams and ideals.
Experience Summary
Ø From July 12th, 2006– till date working with Samsung India Software Operations as Lead Engineer in Embedded Systems Design - Media platform. Responsibilities include design, implementation and testing of software modules in embedded platform; also include mentoring young engineers. Worked across all the phases of SDLC.
Ø From March 8th, 2004 – July 8th, 2006 worked with Abstract Algorithm Pvt Ltd, as Software Engineer in Algorithm development team. Responsibilities include developing the algorithm, implementing and testing it as a software application.
Ø From February 18th, 2002 – March 2nd, 2004 worked with C-Cubed Soln. Pvt. Ltd., Bangalore as Software Engineer.
Professional Experience
ü Experience in writing Linux device driver for the devices in a SoC.
ü Experience in working with FPGA boards.
ü Experience in ARM Performance Monitoring Unit (PMU) and Linux Oprofile – system wide profiler.
ü Debugging experience on ARM-9/ARM-11/ARM-Cortex platform with TRACE32/OpenICE Hardware debugger.
ü Knowledge of MMC/SD Card Protocol.
ü Knowledge of SATA Protocol.
ü Knowledge of Linux Kernel Internals.
ü Experience in application debugging with Linux GDB.
ü Experience in File Systems FAT32/16/12, ISO-9660.
ü Experience in writing proprietary File System for embedded environment.
ü Experience in File System integration with Middleware.
ü Experience in Code Warrior IDE.
ü Experience in Rational Rose ClearCase configuration management tool.
Summary of Projects Executed
Project Name Linux Device Driver – Serial ATA Host Controller
Technical Details Design, implementation and testing of the device driver for SATA host controller in the Samsung Application Processor.
Abstract The SoC has two SATA controllers (Host0 & Host1) for connecting ATA hard disk and a SATA BlueRay/DVD/CD disc loader. Implemented the driver following Linux device driver model. Closely worked with the hardware design team for understanding the hardware design flaws and providing software workarounds by tweaking the driver. Tested the I/O performance by running open source test suites.
Responsibility - Implementing the driver from the scratch.- Driver complies with standard Linux kernel driver model.- Supporting the device at the customer end by tweaking the driver as and when required.
Project Name Linux Device Driver – SD/MMC Card
Technical Details Developing the driver for SD/SDHC/MMC host controller device present in the Samsung Application Processor.
Abstract The Samsung Application Processor has SD controller integrated in it. Developed the driver, exploring the kernel support available for the SD/MMC cards. Followed Linux Driver Model for the same. Supported the device with special handling/errata fixes.
Responsibility - Explored the Linux Kernel support available and developed the driver within the tight schedule.- Constantly worked with hardware design team and handled the hardware limitations.- Optimized the code for performance exploring the available hardware/software techniques.- Testing the driver with SD/SDHC/MicroSD/MiniSD/MMC/Reduced MMC.
Project Name Linux Device Driver for ARM Performance Monitoring Unit (PMU)
Technical Details Wrote a simple character device driver for ARM PMU to expose the ARM PMU events to the user space.
Abstract ARM PMU measures the performance of a program by events such as Branch mis-predict/ CPU Cache Miss, Program Counter (PC) increment etc. All these events can trigger interrupt when the interrupt line from ARM PMU unit is routed to the SoC Intr Controller. Our Customer lacks the ARM PMU interrupt line. Provided a solution by writing a simple character driver exposing the ARM Event Counters through driver’s read/write calls.
Responsibility - Active member in a group of 4 people. - Architecting the framework for intelligent control of power consumption by CPU and peripherals.
Project Name Power aware framework for embedded media player applications.
Technical Details Design of an intelligent power aware framework using SOC’s power control features, to optimize the power consumption of portable media player applications for embedded systems.
Abstract An intelligent power aware framework was proposed to optimize the power consumption of the system for an embedded media player application. The framework uses SOC’s power management features and device driver hooks as well as applications power requirement to dynamically set the operating point of the system to the lowest power state while delivering the same real time performance.
Responsibility - Active member in a group of 4 people. - Architecting the framework for intelligent control of power consumption by CPU and peripherals.
Project Name Linux system wide profiler – Oprofile
Technical Details Porting and implementation of Linux Profiler Oprofile for Samsung ARM 11 SOC. Modifying Oprofile Kernel sub system and application subsystem for target processor and embedded environment.
Abstract Porting of Linux system wide profiler (OPROFILE) for profiling application, libraries and the kernel. Necessary changes were made in the Kernel subsystem for using ARM Performance Monitoring Unit (PMU). The user space OPROFILE is custom made to fit in the target board and support all ARM- PMU exposed events.
Responsibility - Active member in a group of 3 people. - Linux Kernel Oprofile subsystem modification for adapting to the Samsung SOC.- Customizing oprofile application space interface for the target board.
Project Name Design and implementation of Content Manager for Portable Media Player
Technical Details A database manager is developed for organizing the metadata of the media content for portable media player application. Also PC based application is developed for creating and updating the content database.
Abstract Developed a proprietary file system used for storing and accessing the content metadata. The proprietary file system exposes standard interfaces for updating and accessing the metadata information available with it. Furthermore, the DB manager is integrated with a generic file system abstraction layer, UMFS.
Responsibility - Active member in a group of 3 people. - Designed and implemented the Database Interface Layer.
Project Name Implementation of FAT File system driver
Technical Details The FAT File System driver was developed providing FAT 12/ 16/ 32 support for media player application.
Abstract Developed the FAT File System driver for USB based FAT device. The FAT driver exposes standard interfaces to read/write into the USB based FAT device. The file system was integrated with the generic UMFS file system abstraction layer.
Responsibility - Active member in a group of 4 people. - Implemented the FAT32 write support and delete support for USB based FAT device.
Project Name Implementation of ISO File system driver and integration with the generic file system abstraction layer
Technical Details Developed the ISO-9660 File System driver for media player application.
Abstract Implemented the ISO file system exposing standard file system IO APIs to the upper layer. Integrated the FS with the generic FS abstraction layer. The implemented file system used available device drivers for hardware access.
Responsibility - Active member in a group of 2 people.- Developed the ISO Directory/File listing functionality.
Project Name Development of ATA device driver on proprietary RTOS
Technical Details Development of device driver for ATA based hard disk.
Abstract The SoC has one ATA controller supporting two devices in master and slave mode. Developed the device driver for ATA Hard Disk connected as master device and tested for basic IO read/write operation.
Responsibility - Active member in a group of two people.
Project Name Design and implementation of Unified Media File System (UMFS)
Technical Details A generic file system abstraction layer was developed for media player application.
Abstract UMFS is a generic file system layer over existing file systems like FAT/ISO/UDF. The layer provides unified APIs to the upper layer irrespective of the underneath file system. Caching and directory tree were implemented at this layer for look-up acceleration thereby reducing the IO access.
Responsibility - Active member in a group of 4 people. - Implemented the caching mechanism for look-up acceleration.
Education
Ø Degree – Bachelor of Engineering (B.E)
Ø Institute: Regional Engineering College (REC)- Surat, Gujarat, India
Ø Major: Electrical Engineering
Ø Qualifying year: 2001
Short Term course in Digital Signal Processing/Processors from Dept. of Proficiency, IISc Bangalore, India.
Awards
Ø Awarded with Spot Recognition.
Ø Awarded with scholarship for four years from Steel Authority of India Ltd. (SAIL), Bhilai Steel Plant (BSP).
Ø Awarded for paper presentation in BITS Pilani (APOGEE 2000).
Ø Won several prizes for working models presented throughout the career.
Professional Development
Took training in L&T, EPC center, Baroda under the supervision DGM, Head Engg. L&T
Attended seminar in IISc, Bangalore.
Patents & Papers
Ø Drafted an Idea of a method for predictive power gating control of a device.
Ø A technical paper presented on “An efficient programming approach for ARM microprocessors”.
Ø Technical paper “Interrupt driven microprocessor based over current relay” presented at BITS Pilani on their technical paper presentation festival (APOGEE-2000).
Ø Seminar on “Night vision cameras” presented at NIT Surat. This is about the technology of night vision cameras, their uses and challenges in military and civil use.
· Technical: Was among the member of jury for technical paper presentation of REC Surat.
· Non-technical: Conducted drawing & painting contest and other cultural events in SPARSH 2001.