Post Job Free

Resume

Sign in

Engineer Driver

Location:
San Jose, CA
Posted:
September 21, 2020

Contact this candidate

Resume:

Dharmendra Vasadia

adgapk@r.postjobfree.com 408-***-****

SUMMARY:

Over 10+ years of professional experience in embedded system design and development in a Technology driven organization to help grow

Possess strong C, C++ and python skills with proficiency in designing firmware and Linux Device Driver

Strong development experience with 8/16/32-bit Microcontroller (ARM7/ARM9/LPC/89C51RD+) using C Programming.

Experienced in Linux kernel space device driver development on Mini2440 ARM9 Development Board.

Knowledge of Linux Kernel: Linux kernel compilation, static and dynamic insertion of driver code into kernel, Interrupt handling, Kernel Synchronization, Virtual memory, System call, Memory Management and Scheduling.

Experience and working knowledge of multi-threaded, multi-tasking environment, Linux system programming, Linux kernel and user space programming, and Inter Process Communication (IPC)

Implemented Linux device driver for PCI DIO-48(S) for achieved desire functionalities

Implemented Synchronous notification in Embedded Linux (Linux 2.6.11.4-20a)

Distributed architecture systems development and programming including TCP/UDP client-server using network socket, Pthread APIs (IEEE POSIX 1003.1c standard) and pipes

Have experience in and understanding of SPI, RS232, I2C, USB, PCIe, and TCP/IP protocols

Have experience/familiar with L2/L3 protocols like ARP, VLAN, STP, RSTP, TCP/IP

Have experience in and understanding of PCIe and NVMe driver.

Tested Ethernet, USB-host controller driver, USB-device controller driver for next generation MFP

Understanding of block level device driver in Linux

Proficient in debugging application in C using GDB debugger

Having Development experience in Linux Operating Systems.

Excellent customer interaction skills with experience to work with customer

Experience with Scrum and Agile Development methodologies SKILLS:

Programming languages: C, C++, Python3.6, Bash

Tools/Debugger: SiRFLive, A.I,Keil IDE, Tornado IDE (VxWorks), AVR Studio, ARM APM, C Compiler(GCC), GDB Debugger, Electric Fence, GPL’dVal grind Cygwin, LabVIEW, Make, WLAN Utilities, ITP, putty, Wireshark, lxia Embedded O.S: Embedded Linux (uClinux), VxWorks (RTOS), Timesys, SVOS, UNIX Hardware platform: ARM7 (LPC2138 and S3C44BOX) and S3C2440 ARM9 Protocols: RS232, Ethernet, I2C, Kermit, IP, TCP/UDP, NMEA Linux Basics: VIM editor, Virtualization (VMware/VBox) Version Control System: GIT, CVS

PROFESSIONAL EXPERIENCE:

Samsung Electronics (Stellus) San Jose, CA

Senior software engineer Jan’ 2016 to till date

Project: Stellus data platform (first industry’s key-value store over fabric) Tools/Language/Protocols: Linux, C, C++ and python Responsibilities:

Engaged in design and testing complex software module of high performant distributed enterprise storage system for object store over NVMe over fabric (SDP Stellus data platform).

Wrote a module to manager SSD space, persist critical data on each SSD and communicate various modules of key- value store

Wrote a module to persist data on each SSDs which required at system startup

Triaged issues using console and system logs and if necessary, escalate and involve other developers

Developed and automated SDP power fail infrastructure using storage class memory (NVDIMM)

Engaged in performance measurement activities for various components of SDP stack

Performance measurement using AI, Media entertainment and life science work load

Evaluated open source and proprietary software stacks for the system need.

Developed and automated tests using python for various complex and critical key components of key-value store to cover key corner cases. Implemented and automated fault handing code for power fail to exercise how system behave when power fail occurred

Cisco System, Inc. San Jose, CA

Linux Kernel Test Engineer March’2014-Jan’ 2016

Project: kernel porting and testing on X86, MIPs and PPC architecture Tools/Language/Protocols: Linux (3.10)/ARM/MIPS/PowerPc/IOS/git/tcl Responsibilities:

Identify, execute and debug Linux kernel tests forASR1K (RP1, RP2, Nighster and Kingpin), ISR (Utah and Overlord), CSR platforms before new releases (XE3.12 to XE3.16)and Polaris (Edison, Katana, K10)

Development and testing experience of Cisco Catalyst 4500-X series enterprise Ethernet Aggregation Switch

Develop user space application for testing kernel level functionality for Polaris

Write recipe for Yocto based project and port open source performance tools for different architectures (X86, MIPS and PPC)

Testing custom patches for Linux and IOS

Automation using Tcl, python, and bash

Work with Monta Vista for performance evaluation of Linux kernel for different drop

Generate binaries for different open source tools like LTP, iperf, nbench and lmbench etc. as a part of kernel testing

Cooperate and work with developer in order to develop new test cases and write code C code for custom cisco patches

Test leap second kernel test for stand-along model for MCPDEV (ASR, ISR and CSR) and NOVAbranches (Katana, Edison and K10)

Write detailed test documents

Intel Corporation Hillsboro, OR

Senior Software Engineer July’2013 – Feb’2014

Project: PCIe endpoint module of Intel’s Avoton and Rangeley Processors Tools/Language/protocol: PCIe, TTK, Linux (Kernel-2.6.16), In-Target Probe (ITP), Python, Bash, C, C++ Responsibilities:

Developed test infrastructure using python and bash for silicon validation for Avoton and Rangeley processors

Developed device driver for Rubicon/Ardenrand PCIe card for Link width Management (x2, X4, X8 X12, X16)

PCIe link-width management at Hardware level

Wrote Bash shell script for fully configured PCIe based Lyon Peak board.

Debug hardware and software of hardware based 8 different configurations.

Code development and bug fixing in C/C++ for Linux platform

Polished existing code for various project and release patch

Responsible for updating/writing technical specification and business requirement document

Provide training and support to offshore team

Working with software debuggers and hardware to troubleshoot system issues Konica Minolta Laboratory USA San Mateo, USA

Linux Firmware Engineer Jun’2012- Jun’2013

Project: Linux based Multi-Functional Printer

Tools/Languages/protocols: Linux kernel 3.0, Timesys Embedded Linux, Bash Shell Script, NFS, C and C++

Develop Linux Device driver for Finisher module of multifunctional printer

Write/port firmware/device driver32-bit ARM based printing controller in Embedded Linux Environment

Write IPC mechanism among processes to communicate for print, scan and copy functionalities.

Multi-threaded programming on TCP/IP based client-server system.

Write/port test program for interfaces like EEPROM, Ethernet, USB-host controller driver, USB-device controller driver for next generation MFP.

Write Bash shell script in order to automate and obtain desire functionality of USB Wi-Fi (WLAN 802.11b/g) driver

Build and debug kernel image for Target board (Marvell based dual core ARM controller 88PA6170) Cambridge Silicon Radio (CSR) San Jose, USA

Software Test Engineer (Intern) Jun’2011-Aug’2011

Tools/Languages/protocols: SiRFLive, A.I, C, Linux kernel 2.6.18, Perl

Interfaced GPS with mini2440 ARM SBC and wrote application program which invokes serial’s Linux device driver for GPS module

Wrote parser using C language for the extracting message and Log file’s extraction using PERL

Simulated Wi-Fi positioning data using Spirent GSS5700 Wi-Fi positioning simulator

Identify test points, generate test cases and onsite testing for GSP receiver GSD4t and GSD4e

Created testing result report and analyze collected data using A.I Mistral Solution Bangalore India

Trainer/Trainee Oct’2003-March’2004

Industrial Training for Embedded System Design from Mistral Solution, Bangalore, India

Embedded C and Linux System Programming

Real Time Operating System (VxWorks)

32-bit ARM Controller programming

Linux Network Programming

Linux Internals

ACADEMIC PROJECTS:

Evaluation of GPU performance using Android OpenGL and Open CL based micro benchmarks

Researched and studied various GPU architecture (IMR, TBR, TBDR) and android graphics pipeline.

Developed the OPENGL/GLES based android application to measure GPU performance for Nvidia Shield, Nexus 5, Samsung S4

Analyzed FPS, GFLOPs, frame rate for various size of draw calls. used python and matplotlib for analysis, also did run and collected performance data for OpenCL that is developed by team member.

knowledge of OPENGL, GLES, OPENCL, and basic graphics pipe, android etc Android Enabled Social Network (Twitter) Enhanced Location Technique for Embedded Applications

Hardware contains android ported face book/twitter enabled 32-bits ARM controller

GPS (Global Positioning System) module Interface with 32-bit ARM controller on general purpose port

Implemented Linux Device driver and application for interfaced GPS module on Mini2440 ARM9 board Distributed Banking System (JAVA, BSD Socket, SQLite, OpenSSL)

Client: java socket-based client. OpenSSL: secure communication between client and server

Backend Server: C programming in BSD TCP/UDP Socket and Pthread APIs Linux Device Driver in Embedded Linux (uClinux) for ARM7 controller (C and ARM)

Configured uClinux Kernel using Cygwin for ARM’s board.

Developed and ported Linux Device driver on ARM7 controller for demonstration Assembler and Loader for SIC/XE Machine: (C/C++)

Wrote Assembler to generate object code from Source code (Given Addresses and Mnemonics)

Developed Linker and Loader which can translate object code to memory loadable format EDUCATION:

M.S. Computer Engineering (Embedded System Design) San Jose State University, San Jose, CA M.E Electrical Engineering (Industrial Electronics) M.S University of Baroda, Gujarat, India B.E. (Electronics), B.Sc. (Mathematics) M.S University of Baroda, Gujarat, India



Contact this candidate