Embedded Systems Engineer Resume
Sunnyvale, CA
SUMMARY
- Embedded Engineer with around 5 years of experience in requirement analysis, designing, developing, porting and validation Embedded Software for microcontrollers and processors
- Worked with all phases of the Software development Life Cycle (SDLC) with focus on Agile and Waterfall Methodologies.
- High performance coding in ARM assembly, C, C++, Embedded C.
- Very strong exposure on software development onEmbeddedLinux, VxWorks (RTOS) and Solaris and Linux.
- Expertise in design, development and testing of embedded firmware/software development for real time multithreading/multitasking embedded applications.
- Knowledge on Linux Device Driver programming.
- Knowledge in usage of oscilloscope, Function Generator, Logical Analyzer & CRO.
- Experience in Embedded Linux kernel programming, kernel migration, developing kernel loadable modules.
- Experience in Board bring up, Boot and BSP firmware development
- Expertise in design, defines, develop and deploy object oriented software using C++, OOPS, UML, Design Patterns, SOLID Principals.
- Extensively used designing tools like Star UML, Rational Rose for Object Oriented Design.
- Knowledge in usage of oscilloscope, Function Generator, Logical Analyzer & CRO
- Development experience on various embedded products: modem / WIFI routers / last meter telecommunication products, network - enabled set-top box media player products and embedded system for automotive application.
- Working Knowledge of ISO OSI stack and Network Protocols like TCP/IP, UDP/IP and Embedded Ethernet.
- Extensively involved in development of GUI using MFC for PC.
- Application Development using Linux System call, POSIX based multithreading, Real time extensions, Linux IPC, Linux Scheduling and Linux Memory management.
- Excellent work ethics, self-motivated and quick learner. Willing to learn, adapt new technologies and third party products.
TECHNICAL SKILLS
Programming Languages: C, C+, C#, Python scripting, Linux Shell Scripting, Verilog, SQL
Platforms: Linux, Solaris, VxWorks, Embedded OS
Testing Tools: CANalyzer, Oscilloscope, Vector CANOe
Communication Protocols: CAN, LIN, MOST
Debugging Tools: TRACE 32, JTAG, Microsoft Visual studio
Protocols Awareness: RS232, TCP/IP, SPI, I2C, Bluetooth Low Energy, TCP/IP
RTOS: QNX, VxWorks 5.x, RT Linux, Nucleus, ThreadX
BUG Tracking Tools: Bugzilla, IBM Clear Quest
Microprocessors/ Microcontrollers: Atmel 8051, ATmega328P (Arduino Board), PIC16c57c (Basic Stamp), ARM Cortex-A8, PLC (Allen Bradley)
Embedded IDEs: Kiel IDE, IAR GHS, Eclipse, SDE
Operating Systems: Windows 7/8/10, Windows XP, Linux
Standards: MS Word, MS Excel, MS PowerPoint, MS Project, MS Visio
PROFESSIONAL EXPERIENCE
Confidential, Sunnyvale, CA
Embedded Systems Engineer
Responsibilities:
- Participated in porting C/C++ embedded systems on Linux development to a new microprocessor development board such as using bash and Python scripts to configure and initialize application
- Programmed Embedded Linux OS for the hardware.
- Optimized a stack size for microcontrollers without memory management unit.
- Researched about unit test frameworks, such as Google Test Framework, and CxxTest, and created a baseline for a unit test framework.
- Experience with Code Collaborator, DevTrack, and Perforce to perform code review and revision control.
- Developed a gain prediction database using Python, c-shell scripting, and MATLAB on a Linux platform
- Responsible for basic board bring up right from uboot, cramfs and kernel, for both the MTD and NFS configuration, with the understanding of given memory map.
- Created manufacture software toolset for WIFI and Bluetooth chips, provide technical supports for RF regulation and FCC certification.
- Worked on Zig-bee protocol.
Environment: C, C++, Matlab/Simulink, Zig-bee, Python scripting, Linux.
Confidential, Milwaukee, WI
Software Engineer
Responsibilities:
- Component design and simulation using MATLAB/ Simulink.
- Developed embedded Linux C++ USB driver software for Intel ARM XScale processor.
- Designed, coded, tested the integration of software for a real-time, multitasking DSP based receiver system.
- Designed and developed embedded real-time control system software using C++ coding in VxWorks (RTOS) environment.
- Strong ability to layout PCB and troubleshoot at the PCB component level.
- Developed a gain prediction database using Python, c-shell scripting, and MATLAB on a Linux platform
- Knowledge of QNX and SNMP protocol.
- Unit testing using Microsoft visual studio
Environment: C, C++, ARM, Matlab/Simulink, QNX, Python scripting, VX Works.
Confidential
Embedded Developer
Responsibilities:
- Using 'C' code programming we implemented a real time operating system on the microcontroller by Freescale.
- For firmware we used the RTOS functions to control a real time clock by I2C.
- Implemented USB/Serial communication protocol
- Developed USB Host client driver to flash binary image in the embedded board.
- Developed smart tool to analyze Linux kernel crash
- Involved in development of front panel Controller Device Driver in Linux kernel
- Porting the driver for the new platforms to support Multimedia card MMC/SD cards
- Implementation of Interrupt Handling, Transmit and Receive Interfaces
- Testing of the driver using the Wireless tools/utilities
- Initialization of General Purpose Host Port (GPHP) Driver and implementation of I/O interfaces
- Developed Linux Device Driver for serial port, Ethernet port and kernel modules programming for 802.1q Vlan implementation.
- Implemented Wi-Fi, Bluetooth Low Energy (BLE), 802.15.4 mesh networks in hand held instruments
Environment: Atmel AT89C51SND2C, C/C++, CAN, Embedded Linux (kernel V 3.13).
Confidential
Embedded Engineer
Responsibilities:
- Developed embedded C/C++ code to interact controller according to requirements.
- Well versed in device communication protocols such as USB, Ethernet, Wi-Fi and Bluetooth.
- Responsible for the implementation of IEEE 802.1 a/b Standard under Ethernet based network.
- Worked on BSP development.
- Responsible for the implementation of Audio/Video Subsystem with respect to HD set-top Box decoder.
- Functional testing in CANalyzer and CANoe simulation devices.
- Implemented Low-level kernel RTOS debugging with GDB.
- Control feedback algorithm design and testing using MATLAB
- Developed Network, Serial, and Parallel and Mouse drivers for Linux 2.4 kernel.
Environment: ARM, Wi-Fi 802.11, Bluetooth, CAN, CANOe, Linux kernel, IEEE, C, C++, BSP
Confidential
Software Engineer-Intern
Responsibilities:
- Systems design, development and project management of an entirely new product line of general purpose Data Collection Terminals for time & attendance and other applications.
- Hardware design utilizes a free scale MPC885 Power QUICC microcontroller with PowerPC core plus Flash, SDRAM and EEPROM memory systems.
- Input devices include keypad, touch screen, badge and biometric readers with output to character or color graphics LCD options.
- Ported, extended and adapted open source U-Boot boot loader, Linux kernel with Busy Box commands and utilities for system software.
- Coded QT multi-threaded Linux objects used Clear Case and Clear Quest tools.
- Hands on experience on MISRA-C/C++ guidelines
Environment: C, C++, Matlab/Simulink, Clear Case, Clear Quest, Micro-Controller.