Senior Embedded Engineer Resume
Hazlet, NJ
SUMMARY
- 7+ years of Industry Experience as an Embedded Software Engineer.
- Expertise in C, Linux Kernel internals, Device Drivers, IPCs, OS Concepts, Linux User, BSPs, System Programming, Embedded System.
- Working experience in kernel level development and Embedded Applications development using C, C++
- Experienced in F/W development for 32/64 - bit Multi-core processors and 8/16/32-bit micro controllers.
- Thorough Knowledge of Automotive control systems, Communication Protocols (CAN, LIN, TCP/IP, SPI, I2C, RS232, UART, USB) and Basic knowledge in AUTOSAR.
- Experienced in implementing Character (I2C, SPI, RS-485/232) & Block device drivers (loop devices) in Linux.
- Expertise in translating business requirements and specifications into software design.
- Strong in designing state diagrams for the micro controller based systems.
- Expertise in cross compiling & Integrating the 3rd party tools and packages.
- Experienced in all the phases of the product/platform development and pre/post launch support.
- Strong in verification & Validation of the requirements, code review, product integration and acceptance testing.
- Interfacing of FPGA with BCM and CPU using FPGA driver APIs.
- Experienced in R & D projects, Reverse Engineering, Automation and embedded product development projects.
- Experienced in work with cross functional teams, co-ordination with the offshore teams and interacting with clients.
- Experienced in work with cross functional teams, co-ordination with the offshore teams and interacting with clients.
- Experienced in following the CMMi V and Agile processing in project / task execution.
- Strong communication and analytical skills with very good experience in problem solving.
- Passion to learn new domains and technologies quickly.
TECHNICAL SKILLS
Languages: C, C++, ARM Assembly, Linux Shell Script, XML, Python
Microprocessors/Controllers: ARM Series,8051,PIC16F Series
Communication Protocols: I2C, SPI, RS-232, UART, MODBUS, CAN, TCP/IP
Development Environments/Tools: Keil, MPLab IDE, Eclipse, MatLab, Arduino
PROFESSIONAL EXPERIENCE
Senior Embedded Engineer
Confidential, Hazlet, NJ
Responsibilities:
- Modifying BSP to support board bringup for Cavium CN38XX series boards.
- U-boot modification for loading boot up image for Octeon processors. Loading the golden image for first boot up followed by fail safe image.
- Developing ATM PMC 8471 card device driver.
- Modifying Wind River Linux kernel to integrate 6 wind kernel patch to support IP packets and enhanced networking and security requirements.
- Mindspeed CN8237 SAR chip Initialization and configuration for ATM AAL2 packet processing.
- Linux Kernel modifications to synchronize and support network devices and board bring up.
- System bring up and board initialization after u-boot, to configure multiple CPUs to perform various network services
- SPI driver modification to support transfer of packets across octeon processors.
- Hardware acceptance testing and validation of all on board devices.
- Developing device drivers for IPC devices.
- Designing boot strategies for load safe and dual boot.
- Developing abstraction layer for all on board devices and system utilities.
- Debugging the existing code for resolving any code related issues.
- Code Review for the peers in the team, to provide optimal and error free code.
- Provided support for production and development issues.
- Tele conferencing with the Customer for reviews and status updates.
Environment: Embedded C, 38 series octeon processors, PMC 8471 ATM card, CN 8237 SAR chip, Cavium SDK, Simple executive.
Senior Embedded Engineer
Confidential, Jackson, MI
Responsibilities:
- Worked on PJ4B ARM based SoC for printer device.
- Understand the existing platforms and products on OS level.
- Developed Nuvoton touch screen driver which collects coordinates, reports to QT.
- Implemented multi touch protocol of input sub system provided by Linux.
- Providing OS level support in identifying & fixing the bugs on other modules.
- Implementation of interrupt service routine which manipulates coordinates as per vendor’s data sheet.
- Written driver initialization procedure which registers with i2c controller driver, input sub system, registering interrupt routing with kernel ...etc.
- Updated BSP stuff like GPIOs, clock configuration, interrupts, i2c port...etc
- Fixed many QA issues during suspend/resume mode of device.
- Developed user space test application for driver verification.
- Developed LCD frame buffer driver with lower data transfer via SPI bus.
- Updated BSP stuff like GPIOs, LCD initial settings, SPI settings ...etc
- Implemented driver initialization method which registers with frame buffer framework which is hardware independent abstraction layer, with SPI bus...etc
- Given support of deferred IO callback to LCD driver from where QT data can be collected.
- Given support of sleep/resume method for LCD to put into sleep/wakeup mode.
- Developed LCD initialization module in u-boot and application interface module in kernel.
- Written test application, progress bar display and its control from applications.
- Fixed QA issues.
- Assigning work to the offshore team members and assisting them in development, clarifying on design issues and fixing the issues.
- Tracking work packets as per the agile process - Scrum meetings and weekly meetings, and report to higher level management.
Environment: Keil5 µVision IDE, Embedded C, Linux OS, ARM 7, Flash Magic, Marvell 88PA6170, ARMADA 1500
Firmware Engineer
Confidential, Hillsboro, OR
Responsibilities:
- Worked on Hardware Specifications and software Requirements for Next Gen S2 board design.
- Start-up sequence customization, memory mappings for communication across CPU.
- NUMA initialization and memory mapping for IPC between various cores and on board devices.
- Hardware acceptance testing and validation of all on board devices.
- Developing LLD abstraction layer for all on board devices and system utilities.
- Actively involved in platform integration and validation as a complete product with ported Software for 10GbE ports.
- Developing start-up sequence for various network services and control plane applications.
- Generating and Applying the OS patches
- Research and recommend various diagnostic tools.
- Defined certain processes and procedures in place
Environment: Mellonix Driver, NIC, Sandy bridge processors, Cave Creek Chipset Embedded C, Linux OS, P1 Board, Linux OS
Embedded Design Engineer
Confidential
Responsibilities:
- Gathered requirements from the client and analysed them.
- Transformed the requirements into specification and get it signed off by all the stake holders.
- Designed & implemented a new State machine specific to each platform.
- Designed the features and train the team on the new state diagram and design of the feature.
- Implemented for one platform and lead the team to implement for other Legacy platforms and products.
- Integrated the platforms with POS systems of different vendors like Honeywell, Wipro, ATOS, AGS, L & T etc.,
- Involved in designing test plans, test cases and overall Unit and Integration testing of system.
- Involved in system testing of all platforms with different Automation systems.
- Made code reviews and validated the system test results.
- Acceptance testing with Client (his customers)
- Hold the complete ownership throughout the lifecycle.
Environment: C, Micro Chip Micro controllers - 18F252, 182520, Motorola Micro Controllers - MC9S12A256B, MC9S12A512, MC9S12XDP512, MPLab ICD programmer/debugger, Code warrior IDEs and MPLAB IDE, MS Visio.
Embedded Engineer
Confidential
Responsibilities:
- Involved in analysing the business requirements and transforming them to detailed design specifications.
- Involved in the high-level design and IPC mechanism between the threads.
- Involved in developing the boot loader & Board Bring-Up.
- Customized the Linux kernel for the ARM PXA-255
- Implemented UART and RTC derivers.
- Integrated the touch-screen drivers.
- Designed and Implemented an Audio based greetings/guiding system.
- Assisting the team in development, clarifying on design issues and fixing the issues.
- Involved in designing test plans, test cases and overall Unit and Integration testing of system.
- Implemented CAN driver on Micro Chip controller used for the sensors measuring the fuel.
- Unit testing and integration testing.
- Testing in the real time environment.
- Hold the complete ownership of this project.
- Implemented Drivers for the segmented displays on Micro Chip Controller.
- Implemented a Client application to integrate the Device with the server.
- Involved in developing the build system to cross compile the kernel and tool chain, and also delivering the artifacts with the necessary S/W.
Environment: Embedded C, C++, Linux Kernel 2.6.12, Shell Scripting, CAN, ARM Cross Compiler 3.3.2, Micro Chip Controller, MPlab-ICD debugger, Micro Chip IDE, XML
