Consultant, Embedded Software Resume
Palo Alto, CA
SUMMARY:
- Versatile embedded software professional with 12 years of experience in platform development, Embedded Linux & RTOS porting, BSP software/Firmware development and debugging.
- Highly motivated, outcome driven embedded engineer with diverse expertise in embedded software design, development and debugging for Industrial, Consumer Electronics - IoT, Automation & Control systems, Security & Surveillance systems, Power quality, Medical, Microcontroller SoC domains.
- Embedded Software/Firmware design, development and debugging in C / C++
- Expertise in Low level programming, Protocol stack development in Linux and RTOS
- Linux BSP, HAL and Kernel Development
- Boot loaders optimization (U-boot), board bring up and BSP development
- Porting of Linux kernel, RTOS and Open source to custom hardware
- Device driver development and porting
- Root file system development and customization
- Multi-threaded programming, State Machines
- PMBus, QSFP, CFSK, SBUS, ECP, Security Automation Protocols development
- MAC/PHY Layer Development, Embedded Diagnostics
- NAND Flash, HDD & RAID diagnostics & performance evaluation tool development
- Networking & interfaces (Ethernet PHY layer 100/1000Base-TX/FX,RS232,RS485,USB,WiFi)
- SDLC - planning, requirement analysis, design, development, testing, debugging, deployment, support
- Hardware circuit design, signal integrity simulation, PCB design, Hardware trouble shooting
- Embedded Build Environments (Linux, Windows, IAR, MPLab, Visual Studio)
- Ability to integrate and coordinate technical requirements with cross-functional teams
TECHNICAL SKILLS:
Processor / microcontroller platforms: ARM, PowerPC, x86, PIC, MAXQ, ATMega16, Renesas M16C/80
Programming Languages: C, C++, Shell, Assembly, Excel VBA, VC++/MFC
Boot Loaders: UBoot, Custom boot loader
Operating System: Embedded Linux, RTOS
Protocol / Networking / Wireless: Ethernet, Fiber Channel, 802.11n WiFi, USB, CFSK, SBUS, ECP, Security Automation protocols
Peripherals, Interfaces & sensors: I2C, SPI, UART, USB, Modem, GPIB, INCOM, Ethernet PHY & Switch (UTP & Fiber), SDRAM, Flash, EEPROM, RTC, GPIO, ADC, DAC, PWM, Tach, SVM, Touch screen LCD, Input devices (Keypad, Joystick, Jog-Shuttle), Audio, Image, IMU, temperature sensors
Hardware Development: Circuit, Schematic & PCB design (digital interfaces)
Tools: GCC Cross compilers, CMake, IAR Work bench, Metrowerks CodeWarrier, MPLab, Visual Studio, BDI2000 GDB, TRACE32, SVN, HyperLynx, SynaptiCAD timing designer, PADS for schematic and PCB, Oscilloscopes, Logic analyzer, DMM, Source meter, JTAG, Visio
Source Control: Git, SVN, Bitbucket
PROFESSIONAL EXPERIENCE:
Confidential, Palo Alto, CA
Consultant, Embedded Software
Responsibilities:
- Platform support with Embedded Linux on ARM-Cortex and DSP processor SoC
- Board bring-up, Porting - Kernel & Open source (OpenCV), Build environment setup
- SPI driver to enable user access to SPI master bus
- Embedded Software development - SPI communication, RPC between ARM DSP
- Contributed to design of product architecture
- CMake scripting, Used - git, Jira
Confidential
Senior Research Engineer, Embedded Software
Responsibilities:
- Platform development with Embedded Linux & ThreadX for multi-channel NVRs and Cameras on ARM-Cortex (HiSilicon, Ambarella processors), PowerPC QorIQ P2041 (Freescale)
- Board bring-up, Porting u-boot & Embedded Linux, RFS creation, open source porting
- Developed Embedded Software / Firmware, Hardware Abstraction layer
- Linux Device drivers development -
- WiFi drivers porting, testing, performance evaluation
- Server-Client implementation (socket programming) to measure Network bandwidth. Server supporting 64 video channel clients simultaneously.
- NAND driver (for raw read /write) by user kernel and in u-boot
- USB-HID composite device(C and assembly programming) - Keyboard, Joystick, Jog-Shuttle.
- Developed automation tool for Hard Disk Drive (HDD) compatibility check, Firmware upgrade
- Hardware Diagnostic software development to test the interfaces functionality
- Network and Storage performance evaluation
- Embedded C, C++, shell scripting
Confidential
Member of Technical Staff, Software
Responsibilities:
- Designed Firmware, C/C++ programming and SOC validation based on QSFP specification
- Firmware analysis and evaluation, implemented verification and validation tools
- MFC with Visual C++ programming and Excel-VBA to develop the evaluation tools.
- Contributed to PMIC Datasheets, application notes, and user manual documentation and reviews
- Tools and instruments - Oscilloscopes, DMM, Keithley voltage source, and Temperature chamber.
- EVKit application for evaluation of RTCs by customers
- I2C bit-bang code for I2C Master to test microcontroller slave operations
- Developed library files for supporting microcontroller in IAR compiler suite.
- Perl scripts to generate the graphs on the tested features from the logged data.
Confidential
Tech Lead, Senior Software Engineer
Responsibilities:
- Firmware development for protocol communication through Modem
- Multi-thread programming on RTOS
- C programming on IAR work bench
- CFSK protocol implementation with Embedded Modem (Si2400) controlled by M16C/80 controller.
- Designed State machine to control the modems, communication interfaces and diagnostics.
- Implementation of Soft-UART & CallerID - specific to Chinese standard
- Six sigma green belt project-Software module with code size reduction and fast performance
- Design and development of gateway with Niagara framework.
- Basic level Java and HTTP programming to enable access for central control through web browser, Scripts to support file system applications on GoAhead web server.
- Evaluation and selection of operating system (Linux, eCos, WindowsXP embedded) and GoAhead web server to be used on the product.
- Used Oscilloscope, Audacity software for debugging
Confidential
Embedded systems (Software) Engineer
Responsibilities:
- PowerPC processor based Hardware design
- Communication interfaces - RS232, RS485, Modem, Ethernet, Fiber channel, I2C, SPI, INCOM
- Bring up and testing of 10/100Mbps Ethernet UTP and Fiber channel communication
- Modem interface testing through AT commands
- Memory interfaces - SDRAM, Flash, EEPROM, Compact Flash
- CFI interface testing through ATA commands programming
- Display interfaces - Graphic and Character LCD
- Requirements analysis, Device selection, Designing circuit & PCB using PADS tools, timing and signal integrity analysis, test driver development and prototype testing, UL & CE marking
- Board bring-up, U-boot & Embedded Linux porting
- Hardware test drivers with Embedded C, Assembly programming
- Designed hardware in confirmation with DFT & DFM standards, Functionality, Reliability, EMI/EMC standards. Pre-testing the product for UL/CE and fine tuning the hardware.
- DC-DC Flyback SMPS design, Battery management circuit design with SMBus control
