- Around 5+ years of experience in Embedded Systems.
- Experience in advanced level programming in C/C++ including thread synchronization, multithreading, multi - processing, concurrency and TCP/IP Socket Programming.
- C, C++, Python and assembler programming of custom and COTS embedded systems using GNU, Eclipse, NetBeans and TurboC++ tools. Scripting using Python, Ruby and Bash.
- Embedded development with Marvell Armada 370, TI AM335x ARM Cortex A8, Intel IXP425 ARM, ST ARM Cortex M3, 8051, i960, DSP56K, Z80 and 68HC11 CPUs.
- Embedded development with A6N2, A5N2, TPMS, Motor grader and AT.
- Development and testing software using CANoe and CANalyzer tools. Testing with CAN, J1939, Target Process and other data link protocols. Good understanding of Communication standards such as DOCSIS and digital data transmitters such as ADSL.
- Experience with development and Implementation of In-Vehicle infotainment.
- Rich experience in automotive domain processes & MISRA-C coding guidelines. Good understanding on automotive standards and protocols OSEK.
- Good Experience on Human Machine Interface (HMI) development.
- Linux Kernel loadable module programming, socket programming, Network driver's development and Unix IPC.
- Excellent knowledge of preparing test Procedures, test cases for module system testing/software Integration testing (Manual and automated). Good understanding knowledge on RDK environment.
- Bluetooth Low energy application interface development.
- Hands on Experience in writing Scripts using PERL, Python Scripts.
- Good understanding on product development life cycle and Software Engineering Process. Familiar with Agile methodology and Waterfall Model.
- Good management skills, demonstrated proficiency in leading and mentoring individuals to maximum levels of productivity, while forming cohesive team environment.
Languages: C/C++, Embedded C, Assembly, MATLAB, Processor Architectures: ARM11, Intel 8051 Microcontroller, General 8bit, 16bit and 32bit architectures, Verilog & VHDL
Platforms: Windows, Android, Linux, RTOS, UNIX.
Testing Tools: CAN analyzer, Oscilloscope, Logic analyzer, Vector CANOe.
Debugging Tools: TRACE 32, JTAG, Microsoft Visual studio.
Hardware tools: Real View ICE
Protocols Awareness: RS232, RS422, SPI, I2C, CAN, KWP 2000
RTOS: QNX, VxWorks 5.x, RT Linux, Nucleus, ThreadX
BUG Tracking Tools: Bugzilla, IBM Clear Quest, GIT
Microcontrollers: Atmel 8051, ATmega328P (Arduino Board), PIC16c57c (Basic Stamp), ARM Cortex-A8, PLC (Allen Bradley)
Embedded IDEs: Kiel IDE, IAR GHS, Eclipse, SDE
Others: Good knowledge on Data structures, BSPs, Firmware, Verification and Validation (V & V)
Confidential, Alpharetta, GA
Embedded Software Engineer
- Preparation of design document for software verification, system verification and boot code development.
- Developed verification software in C/C++, performed Coding, Unit & Regression testing.
- Enhancing CAN protocol to support networking functionalities.
- Developed applications on Embedded Linux platform.
- ADAS camera module programming, scoring and testing.
- Customer Support building software/hardware programming fixtures for forward facing camera modules.
- Solution analysis with other developers, system architect and involved in development plan creation by estimating the work and time
- Low Level Device driver development - A to D, I2C, SCI, RTC, GPIO
- Freescale HC9S08RN60 / Cosmic compiler / Zap debugger.
- Built 16-way camera module programmer using Value CAN's to program/Flash Mobil EYE
- Experiencing with MATLAB, OpenCV, NXP S32 Design Studio, and Version Control.
- Worked on Python script for MWD tools firmware automated tests and documented the Python library using Sphinx.
- Designed and implemented GUI application using Python. Developed Python APIs to decrypt, sign and encrypt messages between users using public and private keys.
Environment: C, C++, Java, SQL, Android SDK, Android NDK, Eclipse, PL/SQL, UNIX, Linux, Shell Scripting, Sybase, Perl Scripting, UML, Python 2.6/2.7.
Confidential, Columbus, OH
- Play a key role between customer and software development team. Understand customer requirements and Develop embedded engine control software specifications.
- Serve as leadership role troubleshooting embedded engine control software issues. Find critical bugs of embedded control software which would cost company million dollars.
- Develop efficient test strategies and plans that reduce testing time and cost. Verify on-highway truck, machine production/test files on test bench.
- Worked on Bluetooth Low energy application interface development.
- Analyze embedded software memory usage and CPU utilization to guarantee specified system performance under worst case scenario.
- Apply ClearCase version control to embedded software management to make revision is traceable. Maintained old version on-highway truck/machine embedded engine control software.
Environment: C, C++, Linux, IPC, Scheduling, POSIX Library, GDB, Clear Case, FPGA
Embedded Systems Engineer
- Designed, developed and tested embedded firmware for simultaneous AC motor system written in C and C++ running on PowerPC.
- Transformed specification requirements and other documents into viable system architecture, requirements description, and then developed into software for module.
- Developed embedded test software for avionics equipment using Embedded C, Green Hills Integrity RTOS and Assembly.
- Created test cases for database that was a leading factor for helping designers fix defects and update specifications.
- Work closely with product test team to verify hardware test covered customer specifications.
- Resolve software and hardware defects by working closely with other engineers to investigate, assign, and resolve defects which put project back on schedule.
- Implemented test procedures that verified and hardware and systems for video/audio router module without
- Developed firmware specifications from product requirements documents that help hardware engineers and debug initial prototypes.
- Written design documents utilizing Software Process Management (SPM) methodology for critical operational Requirements for Embedded Software.
Environment: C/C++, Eclipse, VxWorks 6.8, Linux, GCC, NIOS-2, UML, ClearCase, Cpptest.
Embedded Systems Engineer
- Designed & Developed firmware logic for Carriage Movement and print head firing control
- Developed firmware to interface LCD, Keyboard, RTC for Tx40.
- Conversions of interrupt service routines from Assembly to C language.
- Implemented master control ECR firmware logic and 8-bit parallel interface to PC.
- Implemented I2C communication interface.
- Performed system-level integration of the software.
- Involved in code review and regression testing process.
- Failure analysis and bug fixing.
- Bug/Defect tracking using JIRA tools.
- Initiate the code review using tools like Code collaborator.
- Involved in code review process with other developers for embedded protocols.
- Interacting with integration test team to troubleshoot problems and provide bug fixes.
Environment: C, VHDL, TMP96C141 Controller, Project Navigator 7.1, MATLABScope and JTAG.
- Designing the system and documenting the requirements.
- Hardware development from soldering to installation onsite.
- Coding the MCP3201 ADC - SPI through SPI communication protocol.
- Interacting with the customer of requirements to develop the project as a whole system.
- Bug Fix on Driver related issue on Temperature sensor.
- Aiding the team and training the fresh engineers.
- Developed embedded C/C++ code to interact controller according to requirements.
- Functional testing in CANalyzer and CANoe simulation devices.
- Implemented Low-level kernel RTOS debugging with GDB.
- Control feedback algorithm design and testing using MATLAB
Environment: Embedded C, Perl, AT89S52 MCU, MCP3201 SPI-ADC, Smoke sensor, Buzzer.