Sr. Embedded Engineer Resume
TX
SUMMARY:
- 12+ years’ experience in conceptualization and development of embedded products and solutions.
- Developed software using C, C++, and Assembly programming languages.
- Experienced in development of embedded software, application, and device drivers.
- Worked on Bluetooth, Digital TV, POS Devices, eBook Devices and Industrial Automation.
- Expertise in design, defines, develop and deploy object - oriented software using C++, OOPS, UML, Design Patterns , SOLID Principles.
- Extensively used designing tools like Star UML, Rational Rose for Object Oriented Design .
- Bluetooth Sniffer: Ellisys and Frontline BT Sniffer, HCI Commands tracer
- Bluetooth Protocol: BT 4.0 (Low Energy), BR/EDR, GATT, ATT, AVDTP, AVCTP, AVRCP L2CAP, HCI, RFCOMM, HID and USB HID.
- BT4.0, BLE, BR/EDR, Bluez 4,5 development, BT HID and HID Voice Profile on BT BLE remote
- Experienced in Build and Script using Make, Package config, ARM Tool chain’s, Cigwin, Shell, Perl.
- IDE used are Visual Studio, DDD, Eclipse, Kiel C Compiler.
- Worked on various operating systems such as MS Windows, LINUX and WinCE.
- Experienced in RTOS, VxWorks.
- Experience working on Code repositories clear case, Perforce, GIT, STASH, JIRA, CQ, CVS.
- Worked on Code Analyzers and Code Coverage tools Bullseye, Gprof and Prevent.
- Used debugging and memory analysis tools GDB, Valgrind, Strace, Ftrace, Windbg, DUMA, DML
- Knowledge of Parallel Programming using CUDA on GPU.
- Experienced in working on IAR C Compiler, Keil C debugger environment, universal Programmer on various microcontrollers such as Intel8051, AT89C52, AVR, UPD 7031000 NEC 850, x86 Processor.
- Worked on various Sensor’s Load Cell, Pressure Sensor, Keypad, Digital Switches, Graphics LCD.
- Experienced with various communication standards such as RS232 and RS485 serial communication standard, I2C, SPI, CAN, USB, DBUS, IEEE1284.
- Developed client server applications using TCP/ Confidential protocol and RPC Agents.
- Expertise in design, development and testing of embedded firmware/software development for real time multithreading/multitasking embedded applications.
- Experienced with various synchronous/asynchronous communication interfaces and protocols and much familiar with the use of associated test and design verification equipment protocol analyzer.
- Expertise on Windows Device Drivers developed Printer, Graphics, SMBUS, USB windows drivers.
- Device Driver Development using WDM, WDF, UMDF, KMDF, COM, Windbg, GDB.
- Worked on WDK (Windows Driver Kit) Tools Usbview, Guidgen, Dbgview, Traceview, Driver Verifier, Poolmon, InfGen, GPDCheck, ChkInf, CertMgr, Inf2Cat, HCK, HLK.
- Expertise on Linux Kernel Driver development for USB,IPC/RPC (binder),KDbus, Bluetooth HID.
- Worked on Linux Device Drivers Character & Misc, Android binder, Ashmem, kdbus, USB.
- Worked on speech to text Nuance Vocon Library and NLP server for Fios STB media search through BT Voice remote.
PROFESSIONAL EXPERIENCE:
Confidential, TX
Sr. Embedded Engineer
Responsibilities:- Design and Development of Bluetooth Remote, Develop BT manager, BT Voice From bluez stack and provide to STB Media search engine.
- Nuance Speech to Text Vocon engine and NLP Server
- C++ and Object-oriented software development.
- BT HID and HID Voice Profile on BT remote
- BT4.0, BR/EDR, Bluez 4.98, Bluez 5 development
- BT Remote FW development on BCM20734 BT Chip, audio and keyboard.
- Designed Digital H/W and python script for BT Remote test qualification.
- Debugging STB Kernel Memory Issues, Memory Profiling, Kernel crash dumps
Technologies: C, C++, Python, Shell, Bluez 4, 5, GIT, STASH, JIRA, ARM RVCT 4.0, BT Sniffer, Cygwin, ADK, Linux Kernel 4.1
Confidential,Hillsboro,OR
Sr. Embedded Engineer
Responsibilities:- Implement CR’s in driver code for Audio, HID, Low Energy, USB, UART BT Chips’s.
- Debugging BT issues using BT Sniffer Ellisys and Frontline, Ellisys USB Analyser
- Resolve BT issues using HCI sniffer, HCI tracer and ETL Trace view.
- Handling CRs in the BT Stack protocol layers such as BT 4.0 (Low Energy), BR/EDR, GATT, ATT, AVDTP, AVCTP, AVRCP, L2CAP, HCI, RFCOMM, HID and USB HID
- Handling customer issues and implement change request in BT driver for different BT chipsets
Technologies: C, C++, BLuetooth BD/EDR, Bluetooth 4.0 Low Energy, JIRA, CQ, Perl, Linux
Confidential
Chief Engineer
Responsibilities:- Implemented Debugging features for Dbus framework, to view connections, blocked processes.
- Implemented a Debugger Manager to Display Menu and get data from debugger thread of all dbus processes
- Support dbus and kdbus driver for tizen dbus IPC.
- Memory Profiling and Performance analysis
- Developed Test framework for check all features
Technologies: C, Linux, Ubuntu, Kernel 3.10, ARM Cross-Toolchain, GCC, GDB, GIT, Prevent, Bullseye, Gprof, RPM Package
Confidential
Responsibilities:- Written a middleware library to provide IPC/RPC features referencing android binder framework
- Developed OOPs Classes using Bridge, Singleton Design Pattern for IPC framework.
- Developed Service Manager to maintain namespace list of all services
- Developed classes to implement Thread to Thread, IPC and RPC
- Written Shared Memory classes to transfer large data using ashmem driver.
- Implemented RPC agent client/server to transfer data between arm boards over TCP/ Confidential .
- Implemented Thread Pools, Events, Synchronous and Asynchronous communication
- Written Classes to transfer fd’s between processes.
- Written classes to transfer events to receiver handlers between diff processes.
- Written classes for async service removal notification, cients can register for notifications
- Implemented Wait services in binder driver
- Stabilizing binder kernel driver during deployment.
- Developed Unit Test Framework to test all features, Negative and boundary scenarios
- Developed Perl Script to detect coding error’s like checkpatcp.pl for kernel drivers
- Deployment support and Provide debugging features to library users.
Technologies: C, C++, Shell, Perl, OOPS, UML, STL, Design Patterns, Linux, ARM Cross-Tool chain, NFS, Kernel 3.10, GCC, GDB, CMake, TCP/ Confidential, Prevent, Bullseye, DUMA, DML.
Confidential
Responsibilities:- Developed virtual USB client driver and virtual Host Controller driver
- Stabilize USB driver’s on Linux kernel 2.6 and Windows 7 USB driver
- Written DTV Client and Server UI using shadow widget library to export and connect devices
- Written client and server TCP/ Confidential application’s to communicate data and discover devices
- Write user sockets to driver using libsysfs and use them as kernel socket’s
- Implemented client and server library to manage devices on each DTV.
- Support all modes of usb like Bulk, Synchronous, Interrupt, and Control.
- Support all classes of devices like USB Speaker, Mass Storage, Keyboard, camera, Mouse
- Implemented checks to detect devices and network errors.
Technologies: C, C++, WDK, Windbg, Libsysfs, TCP/ Confidential, Wifi, Local Lan, Digital TV Arm Machine, Windows 7
Confidential
Responsibilities:- Developed qemu components for realview-pbx board for DTV like network, USB, SCSI disk, 2D Graphics hardware (libgstreamer interface), PCI Support to board.
- Developed Hardware Emulator driver to pass dtv stack calls to libgstreamer on PC.
- Development of Hardware virtualization for data load sharing using PC CPU
- Porting DTV stack on QEMU running DTV Linux kernel 2.6.34.
- Development and stabilizing QEMU Components for DTV stacks
- Porting Linux QEMU to windows using Cygwin to make it run on windows machine
Technologies: C, C++, QEMU 0.14.1, libgstreamer, Cigwin, Hardware Emulator, ARM Cross- Tool chain, DTV Stack
Confidential
Responsibilities:- Port DUMA/DML tool for uclibc on MIPS.
- Port LTT tool for uclibc on MIPS.
- Port Compress Coredump for uclibc onMIPS.
- Port strace, ftrace, ltrace, Bootchart,ramzswap for uclibc on MIPS.
- Implemented Test cases to check memory leaks using above libraries.
Technologies: C, Make, Linux, MIPS, Cross-Tool chain, TCP/ Confidential, Uclibc
Confidential
Responsibilities:- Port libusb 1.0 to libus1.1.
- Performed regular checks to deploy library.
- Developed unit tests to verify library interfaces.
Technologies: C, Linux, ARM, cross-Tool chain, HD Camera
Confidential
Responsibilities:- Written Scheduler UI application according to design specs.
- Written World Clock UI application according to design specs.
- Developed Unit Tests to verify modules
- Programmed storage module to store/retrieve settings and data.
- Resolve deployment issues.
Technologies: C++, FLTK, Linux, Ubuntu, Cross-Tool chain, e- Confidential ARM Hardware
Confidential
Responsibilities:- Written printer driver to create images of spooler raw data
- Written 2 modules of unidrv based printer driver, Printer UI page modules driver, Port Monitor.
- Written application to copy images to e- Confidential location.
- Launch application when page print finished by Port monitor.
- Developed Printer properties UI Pages.
Technologies: C, C++, WDK, Windbg, Visual Studio, Windows XP
Confidential
Responsibilities:- Written Win 7Extended display driver to display screen data on Photo Frame.
- Written 2 drivers, Launch capture driver to hack Win7 boot sequence and filter driver to catch actual display driver interfaces to create extended memory buffer.
- Implement shared memory frame buffer to write display data.
- Implemented service to capture mouse movement and write it to shared frame buffer.
- Implement application to read display data from shared memory and send to Photo Frame using USB interface.
Technologies: C, C++, WDK, Windbg, WDDM display driver, Windows 7
Confidential
Responsibilities:- Written Win XP Mirror and Extended display driver to display screen data on USB to VGA Dispaly
- Implement shared memory frame buffer to write display data.
- Implement driver to create extended or mirrored surface on WINXP machine
- Implement application to read display data from shared memory and send to FPGA board through USB interface.
Technologies: C, C++, WDK, Windbg, Mirror and Extended display driver, USB, Windows XP
Confidential
Senior Software Engineer
Responsibilities:
- Written Windows XP Embedded SMBUS driver to read/Write two CSS5535 companion chips,
- These chips were connected to PCI Bus, driver read values through PCI offset register’s.
- Written two DLL’s for each chip to communicate to SMBUS driver. These libraries provide abstraction to User space applications.
- Writing application and Interface DLL’s for the drivers to communicate to upper layer.
- Provided Open/read/write/close interfaces to applications through library.
- Implemented state machine for reading, writing data to temperature chips attached to smbus.
Technologies: C, VC++, CS5535 companion chip, Win XP Embedded Hardware Board, DDK, Windbg, Visual Studio, Windows XP
Confidential
Responsibilities:- Written windows Unidrv based printer driver for two models of POS Printer.
- Written 3 modules GPD based font’s driver, Printer UI page modules driver, Port Monitor.
- Implemented Printer commands in printer driver port monitor like image, barcode, cut, eject etc.
- Designed and implemented Printer Properties pages.
- Developed font files for printer driver and as well barcode fonts.
- Develop firmware to communicate to CPLD hardware of parallel port IEE1284 protocol which emulates communication for UPD 7031000 NEC 850 series of printer micro controller.
- Performed regular checks to deploy SW on client site.
- Developed Test Programs using Visual studio MFC, VB to check diff features.
Technologies: C, C++, Printer SRP350, SRP 370, NEC 850 (UPD 7031000), CPLD Hardware, DDK, Windbg, Inf Generator, Font Generator, Windows XP
Confidential
Responsibilities:- Written program for Graphics LCD module.
- Written program for AT89c8252 Microcontroller, Keyboard & serial modules
- Design and Develop display menu for Graphics LCD.
- Written program to control digital circuitry connected to controller I/O.
- Digital hardware design around microcontroller
- Written program to send/recv commands to pollution checking module.
- Written program to calculate various values for calibration.
Technologies: C, Kiel, Universal programmer, Oscilloscope
Confidential
Responsibilities:- Written assembly program for Vibroso Board module, LCD, Keyboard, RS485 serial.
- Developed assembly program for AT89c8252 Microcontroller.
- Design and develop display menu for the controller board.
- Written Programs to control digital board circuitry connected to Controller ports.
- Written Program to gather data from 205 vibration modules and serialize it to PC interface.
- Digital Hardware design around microcontroller.
- Performed regular checks at site for deployment.
Technologies: 8051 Assembly, AT89C8252, Universal Programmer, Oscilloscope