Post Job Free

Resume

Sign in

Sr Developer & Analyst

Location:
Irvine, CA, 92602
Posted:
October 24, 2011

Contact this candidate

Resume:

HARSHAVARDHAN BOKIL 949-***-**** kica1o@r.postjobfree.com

*** *** ****** **, ******, CA 92602

SUMMARY

=======

Embedded software professional with a demonstrated ability to successfully

develop BSP, device drivers for various ARM and MIPS based SoC, open source

middleware integration and enhancements.

- 11 years of experience with embedded Linux, VxWorks - across system level,

middleware and application on ARM and MIPS based chipsets.

- Proven programming skills in C,C++.

- Experience wprking on embedded Linux and device driver development- UART, SPI,

I2C, MTD, MFD, LCD, Input, USB, Ethernet, SD-MMC.

- Experience working on graphics subsystems such as DirectFB, XServer on

embedded Linux systems

- Experience working on multimedia software such as gstreamer, ffmpeg.

- Experience working on UI frameworks such as GTK, QT 4.6.x & 4.7.x over

different graphics subsystems

- Extensive work on open source components such as Evolution Data Server (PIM

component), optimized the design for effective usage of memory and CPU

- Exposure to Qt/Webkit and Anroid/Webkit.

- Extensively used application development tools such as strace, gdb, ltrace.

- Exposure to third party Linux platforms such as ALP, Poky, OpenMoko, Android,

Maemo, Meego.

- Extensively used Linux based build systems such as buildroot, scratchbox,

openEmbedded with deployment on board, SVN, CVS, Clearcase, Perfoce for

configuration management.

- Experience in platform level optimization for a mobile handset platform.

- Exposure to uboot.

- Good communication, presentation and interpersonal skills, self-motivated,

quick learner, team player, team leader with good problem solving ability.

EDUCATION

=========

- Bachelor of Engineering in Electronics and Communication (B.E) - University

of Pune, India

EMPLOYMENT HISTORY

==================

- As Sr. Software engineer embedded with Conexant from FEB 2011 to Present

- As Technical Lead / Solution Architect with Persistent Systems from AUG 2006

to FEB 2011

- As Project Lead with eInfochips Limited from SEP 2004 to AUG 2006

- As Sr. Software Engineer with Ruksun Software Technologies from JAN 2004 to

AUG 2004

- As System Analyst with Cybage Software from AUG 2002 to JAN 2004

- As Software Developer with Cruise Controls from OCT 2006 to AUG 2002

TECHNICAL SKILLS

================

- Languages: Assembly, C, C++

- IDE/Tools: Windriver Tornado & Workbench, GNU make, scratchbox, buildroot,

Microsoft Windows CE platform builder

- Target Operating Systems: Embedded Linux, VxWorks, Windows CE

- Version Control: SVN, git, clearcase, trac

- Host Operating Systems:Windows XP, Ubuntu Linux 6.10 to 10.04

- Target Hardware: ARM, MIPS, PowerPC, Xtensa LX, UART, SD-MMC, I2C, SPI, USB,

LCD, Keypad, MFD. (TI-OMAP, BCM2153, BCM2820, NXP, TNETV1051, MPC860T)

- Communication Protocol: TCP/IP, Ethernet

- Open Source components: Evolution Data Server, Qt, Qt mobility, Gtk, Xserver,

DirectFB, Webkit, dbus, tslib, sqlite3, gstreamer, ffmpeg etc

- Debugging tools: ltrace, strace, gdb, oprofile etc

Experience

==========

Conexant Systems Inc Feb 2011- Present

-----------------------------------------

Qt based Imaging platform

Conexant's imaging platforms feature a high performance 1080p hardware video

engine, a graphics processing unit with Display List Processor, Alpha Blend,

and Clipping Units, ARM microprocessor with Vector Floating Point Processor, a

programmable LCD interface, hardware JPEG codec, and Conexant’s advanced Image

Processing pipeline to deliver image quality and performance. The SoC includes

an integrated Ethernet MAC, SD/SDIO port, and multiple USB 2.0 host and device

ports to support 3G, WiFi®, Bluetooth®, or other network peripherals, stereo

Class-D amplifier with speaker and line-out support, microphone input,

touchscreen controller, LVDS transmitter, backlight regular power supply

controller flash. Combined with software development kit (SDK) and hardware and

firmware, enables customers to quickly design cost-effective digital imaging

products.

This project involves providing gstreamer based multimedia support for this

family of chips.

Responsibilities

- Integration of gst-ffmpeg open source package into the platform.

- Added support for hardware decoders in ffmpeg and gst-ffmpeg.

- Added support to fbdevsink plugin of gstreamer to utilize the post processor,

integrated with hardware decoder.

- Added support to QVideoWidget of Qt 4.6.0 in order to utilize the enhanced

fbdevsink, provided by gstreamer.

- Qt mobility integration

Environment: C,C++, Linux, Buildroot

Persistent Systems (Client: Nokia Inc) July 10- FEB 2011

---------------------------------------------------------

Qt based Set top Box

Nokia promots Qt which is a cross platform framework to devices like Set top

box.This project involves integrating Qt with the Linux platform delivered

by the OEM, fixing integration issues, performance issues and feature addition.

Responsibilities

- Qt build integration with makefiles

- Functional and performance analysis of Qt applications

- Modifications to aQt plugins for directfb

- New feature additions such as web-gl and HTML5 multimedia

- Development of Proof of concept applications over Qt

Environment: C,C++, Linux, GNU make and related tools

Persistent Systems (Internal project) Jan 09-Mar 10

-----------------------------------------------------

Linux Mobile Competency

Started under a growth initiative during economic slow-down, this project aims

at the demonstrable product (not a COTS) that involves Linux kernel, mobile

phone middleware, applications and which can express the team's capability to

work on a Linux based mobile platform with majority of open source packages and

platforms. It also aims at the scalability factor to train engineers in a large

number. Project also includes third party software stack realization on hardware

such as pokylinux, android etc.

Responsibilities

- Qemu (Quick Processor emulator) setup with Linux kernel built for SoC

simulated by Qemu with nfs-kernel-serer, scratchbox, busybox, bridge-utils.

- Modification in Versatile Board LCD driver and Spitz board mtd driver for Qemu

emulation.

- XServer and DirectFB integration, fixes for Qemu

- Modifications to Qemu for simulation of PXA270 based SoC

- Gtk integration to work on XServer and / or DirectFB. Optimization for Memory,

CPU speed and application startup time

- Development of Application manager and alarm manager

- Integration of Evolution Data Server for PIM applications. This acts as a

middleware communicating over dbus.

- Qt 4.6.x build for the platform

- Modifications to Qt web browser

- Development of small application, typically for a Linux based embedded device

platform such as Homescreen (with GL effects in Qt), OpenSocial,

Fleet Management, Web browser etc

- Linux kernel migration from 2.6.21 to 2.6.29 on TI DaVinci based DVEVM6446.

Involved fixes in USB driver

- Web browser running on a TV screen with TI DaVinci

- Linux kernel migration from 2.6.24 to 2.6.27.10 on TI Omap 3430 based Mobile

Development Kit.

- Integration of Powervr driver in the kernel

- Integration of DSP bridge

- Set up for trac and SVN server to make the platform available for contribution

by workforce available in a typical service provider company.

- Realization of Android, PokyLinux, Maemo over Omap 3430 MDK

Environment: C, C++, GNU make, Ubuntu Linux, scratchbox.

Persistent Systems (Client: Broadcom) Oct 07- Apr 08

------------------------------------------------------

Linux based platform development

Broadcom’s mobile and wireless development group is responsible for making Linux

kernel available for ready use the ARM based chipsets. This project involves

development of device drivers for newly added peripherals in the SoC,

integration of some basic middleware components such as Gtk, DirectFB etc

Responsibilities

- Linux 2.6.23 base kernel port.

- DMA subsystem migration from 2.6.17 to 2.6.23.

- Timer subsystem migration.

- u-boot modifications for SoC.

- SD-MMC driver migration from Linux kernel 2.6.19 to 2.6.23.

- NOR and NAND flash driver and integration with Linux mtd subsystem.

- Integration of USB mass storage class driver in Linux USB subsystem.

- LCD driver development.

- Keypad driver development and integration with Linux input subsystem

- Development of firmware upgrade utility

- Integration of Gtk and DFB as builtin-components. Optimizations to Gtk

Environment: C, C++, GNU make, Ubuntu Linux, buildroot

Persistent Systems (Client: Azingo Soft Systems) Dec 06- Oct 07

----------------------------------------------------------------------

PIM middleware development

Azingo developed a Linux based mobile handset platform (middleware and

applicaitons) . PIM middlware was needed for applications like addressbook and

calendar. This middleware has 2 parts viz a daemon and a library that links

with an application and queries the daemon over dbus and present a response from

the daemon to the application.

Responsibilities

- Requirement analysis.

- Feature comparison among PIM components for Windows Mobile, Symbain and

Evolution Data server.

- Migration from Berkley DB library to Sqlite3 for data storage.

- Modifications to database query API.

- Feature addition- Changed the communication from dbus which makes the dbus

daemon consume most of the CPU time across platform to dbus+sockets which uses

dbus to sync and socket for data transfer.

- Feature addition- memory optimizations for addressbook and calendar backends.

- Reduction in memory footprint by removing the unwanted features from build

- Development of profiling utility for Gtk based application

- Gtk optimization for application startup time and memory footprint

Environment: C, C++, GNU make, Ubuntu Linux, scratchbox

eInfochips (Client: Texas Instruments India) Dec 05- Aug 06

--------------------------------------------------------------

PSP development for Broadband system platforms

TI’s PSP group provides OS support for the chipsets under development by TI.

The broadband system team within PSP group works on SoCs designed for

broadband communication systems such as a VOIP phone, Cable modem etc. This also

involves OS enhancements such as migrations from older versions of OS to the new

one, enhancements in device drivers during each port, addition of new drivers

for newly added peripherals. This project involved Linux 2.6.10 and VxWorks 6.2

porting across BSP to device drivers.

Responsibilities

- Documentation-Requirements specifications

- Modifications in the boot loader for the previous version of SoC, based on the

memory map and flash storage technology. (Provided support for NAND flash,

modified the memory mapped register definitions, initializations etc.)

- Worked on FPGA based boards instead of released boards, as the hardware and

software development went in parallel

- Modifications in the device drivers I2C, SPI, USB 1.1 based on the changes in

hardware design

- Development of device drivers - Ethernet Switch

- Provided WindML® compatibility to character LCD

- graphical LCD and Keypad drivers

- Design and development for hardware Ethernet packet filter - Assembler for the

special purpose micro controller which is a Windows XP / Linux based application

- API for configuration and programming

- user level API for the same in target Linux OS

- API for VxWorks based applications

- Developed DMA interface for various device drivers in the platform

- Provided support for IDE build method along with command line build

- Test planning for the entire platform

- Test applications development for drivers and middleware

Environment: C, C++, GNU make, WindRiver Workbench, Tornado etc

eInfochips (Client: Xipkey Singapore) Aug 05- Dec 05

------------------------------------------------------

USB Computer

This project involves developing a USB slave device to boot Windows XP.

The OS image stored on the device serves as the boot image.

Responsibilities

- Design and development of USB 2.0 slave driver for mass storage device type

Developed in C over ARM based micro controller

- Design and development of control logic for multiple writes to the flash device

- Design and development of interface provided by a FPGA logic to read and write

to flash storage device

- Design and development of flash management logic

Environment: C, Keil IDE

eInfochips (Client: Tensilica USA) Dec 04- Jul 05

------------------------------------------------------

Configurable processor

Tensilica has a configurable processor based on the architecture Xtensa LX. To

promote this product, a cycle accurate simulator is developed to profile the

software running on it and to obtain a ‘real picture’ of how optimized the SoC

under design will be. This is based on SystemC library. The project involved

testing the simulator library that provides an API that helps simulate the SoC

based on Xtensa LX core. The testing is done developing C applications using the

simulator library, which when run, behave as an SoC. Also, this project involved

J2ME porting onto the simulated processor.

Responsibilities

- Development of SoC simulators using a library provided by processor vendor

- Test planning, test case definition for all the API provided by the library,

based on systemC

- Execution of test applications over simulated SoC and test report generation.

- Performing the same tests from an eclipse based IDE

- Compilation of J2ME (CLDC configuration)

- Integration of J2ME with the hardware abstraction layer of the Xtensa LX

processor

- Development of processor simulator in C using a library which is distributed

by processor vendor

- Execution of J2ME main function from the boot loader provided by processor vendor

- Development of simple Java applications over J2ME, Execution of test applications

and generation of performance benchmarking data

Environment: C, Red Hat Linux, Windows and Solaris

Ruksun (Client: bSquare USA) Jan 04- Aug 04

----------------------------------------------

Windows CE based PDA platform

bSquare develops software development kits for PDA platforms. For varying customer

needs, a reference platform based on PXA255 was created in order to accelerate

the deployment of end product exactly according to the specific needs. This

project involves integration, modifications to Windows CE OS at driver and

application level.

Responsibilities

- Self-learning - WinCE as a platform, Board bring-up with Windows CE 4.2

- Integration of device drivers provided my Microsoft with the platform

- Modifications in the PDD (Platform Device Driver) based on the architecture

details of the SoC such as memory map

- Integration of third party compact flash driver and file system (supplied by

the vendor)

- Integration of WinCE test kit and test execution for drivers. Bug Fixing for

the whole platform

- Various miscellaneous tasks such as Power Management applet modification,

Porting Legacy applications onto the new platform

Environment: C, Microsoft Windows CE 4.2 Platform Builder

Cybage (Client: ILTS USA) Aug 02- Dec 03

----------------------------------------------

Online gaming system

ILTS develops online gaming systems that involve lottery systems as well. This

project is an umbrella project which was actually an ODC with various tasks.

This involved learning of the system on-site, training team members off-shore,

enhancements to existing systems with respect to the technologies used.

Responsibilities

- Development setup

- Wireless point of sales terminal enhancements

- Interface for web based sales terminal in OSS (Heart of the system)

- Bug fixes

Environment: C, OpenVMS

Cruise Controls (Client: Centerpoint Broadband) Oct 00- Aug 02

--------------------------------------------------------------

Wireless radio

Centerpoint developed a series of wireless radio for the target customers such

as a mobile service provider or an Internet service provider. These products

can be used to set up a long haul network for such services. This is an umbrella

project which involves software development for the radios over VxWorks/PowerPC

platform, SNMP agent extensions, Automatic Test Bench for manufacturing the

radio. The radios were of different capabilities based on the wired data rate

the radio supports- Ethernet, 34Mbps (called as AIM34) and 310 Mbps (called as

AIM310)

Responsibilities

- Development of SPI driver in RTXC OS for QUICC 68360

- Implementation of MIB access module for an EEPROM connected to SPI

- Contributed to BSP development for VxWorks/MPC860T

- Design and development of management module for wired interface of the radio

(User Interface Board)

- Extension to Envoy SNMP agent of VxWorks for custom MIB as defined by

Centerpoint, contributed to MIB definitions.

- FPGA programming module that programs various FPGA during system

initialization

- Development of calibration utility for AIM310 (Utility to change the

transmitter frequency and temperature)

- Development of Automatic Level Control (ALC) and Automatic Gain Control (AGC)

for AIM310

- SNMP agent extension for custom MIB for AIM310 outdoor unit.

Environment: C, GNU make, Tornado



Contact this candidate