NIRANJAN PODDUTURI
ac5gs7@r.postjobfree.com
SUMMARY:
•14 years of professional experience in development of Embedded Firmware
•Requirements elicitation and analysis
•Embedded firmware development (C, C++, RTOS VxWorks)
•Hand some experience on different Board level bring up and hardware debugging.
•Hands-on experience in driver and API library development
•Hands on experience on networking protocols.
•Understanding and knowledge on point of sale(POS)
•Unit and Integration Testing
•Team co-ordination and monitoring
•Client liaison
TECHNICAL SKILLS:
Operating Systems
RTOS VxWorks, Linux, QNX Momentics IDE 4.7,Windows
Configuration Management
VSS, TFS, Agile, Serena, MKS
Programming Languages
Assembly programming, C, Embedded-C,C++,C++11, STL Template, VC++Microsoft Foundation Class, C# and .NET,. QT,TCP/IP and socket programming,programming with RTOS, Diab-C compilers 5.8.0.0 and 5.9.0.0,Python and perl scripting
Protocols
I2C, SPI, MIL-STD1553B, DO-178B,ARINC 429,ARINC 653 bus protocols, Zigbee, TCP/IP, UDP,IPv4,TFTP,FTP
Wi-Fi, Bluetooth, 802.11,UDP,SNMP, IPv4, IPv6,UDS,CAN
Tools
NI-CCS compiler and Spectrum Debugger, Tornado IDE, In-circuit emulators/Debuggers for AVR controllers,IAR Work Bench,MPS430,PIC, Oscilloscopes, and DMMs. Lauterbatch trace32 JTAG debugger(LA-7708 debugger-USB2),Green Hills software(GHS) compiler, Renesas debugger, clockwork, EBTresos Autosar, JIRA,DOORS,MS VISIO.
Hardware
TI-28066,TI-28069, MPC 5646C, Cortex™-A9 MPCore-MC i.MX 6Solo/6DualLite,ATxmega16A4,AVR8515/8051,
87C51,Mc68332,I-386,I-486,Bus architectures (PCI, PCMCI)
EDUCATION:
Bachelor in Electrical and Electronics Engineering (1994 – 1998) from Nagarjuna University, Guntur, India.
PROFESSIONAL EXPERIENCE:
Apex Supply Chain Technologies LLC
Nov-2017 Till date
Linux Application Developer.
Project: Design and development of Linux Application development for Supply chain Tools
Responsibilities:
•Development Multi User & Client application by using Qt on Linux
•Development Multi-Threaded application by using Qt on Linux
•Development Display development application by using Qt on Linux
•Development of Json messages for different communication purpose application by using Qt on Linux.
•Development of Mqtt, QMqtt, Websocket applications to interface cloud & IoT
•Development of Google Test cases for all classes/ functions application by using Qt on Linux
•Development communication classes application by using Qt on Linux
Operating systems: Linux
Languages: C, C++,C++11, REST APIS.
Tools: Yocto build environment, Jira, Bitbucket, buildroot toolchain, GIT, Mqtt,Websockets,Qt
Panasonic Automobiles
Jan-2017 Till Nov-2017
Senior Embedded Firmware Engineer.
Project: Design and development of embedded software for CAR Entertainment system
Responsibilities:
•Development of synchronization applications using QNX
•Worked on Audio/Video entertainment system.
•Analysis of Kev files in QNX
•Measurement of Memory management and analysis
•Measurement of CPU load and analysis
•Measurement of memory band width and analysis
Operating systems: QNX
Languages: C, C++, Green Hills software (GHS) compiler.
Coca-Cola, Atlanta, GA, USA
June 2014 – December 2016
Senior C/C++/Embedded Firmware Engineer
Project: Manufacturing Firmware Development Support (board bring up)
Responsibilities:
•Development of firmware for Boot-loader for TI-28069 processor on CCS 5.4
•Development of application firmware for Audit Cup on TI-28069 processor on CCS 5.4
•Development of application software for Firmware Upgrade by using QNX RTOS.
•Development of test software for GPIOs, PWM, and ADC read, EEprom read and write.
•Development of Device drivers for GPIOs, PWM, ADC read, EEprom read and write and porting these drivers to Board support package (BSP).
•Preparing specifications and test documents.
•Porting Bluetooth protocol and development of application software.
•Development of low level drivers for I2C,GPIOs,PWM,RS232,CAN
•Development of Boot-loader and porting boot loader with application, Calibration data and Application data.
•Development of automation software, with Python, by reading ingredient’s data from SQL database for Ingredients Sold-out automation.
•Socket programming on networking protocols like TCP,UDP.
•Design and development of Bluetooth and WI-FI drivers development.
•Implementation and integration of Bluetooth and WI-FI resources with existing application.
•Development of Human machine Interface with Qt
•Development of HMI applications for different languages by using Google Go.
•System profiling estimating firmware full loading using QNX
•Development of communication from boot-loader to main application firmware and Host Computer.
•Design and development of Firmware, Boot loader and application for ADA board on Atmels ATxmega16A4.
•Xml scripting.
•Development of Firmware on low energy Bluetooth.
•Preparing make files, debugging firmware
Operating systems: QNX,Linux
Languages:C, C++,C++11,STL Template, Qt,Python/xml scripting,Google Go, C#,VC++, Microsoft Foundation Class(MFC), Win32 API
Tools: CCS Compiler, Yocto build environment, Javascript, Spectrum Debugger, SQL, Golang, Green Hills software (GHS) compiler, buildroot toolchain, Renesas debugger, Json, Agile/TFS and GIT.
TRW, FH, MI, USA April 2013 – May 2014
Senior C/C++/ Embedded Firmware Engineer
Project: Airbag software development for HKMC
Description: Airbag system is a safety critical control system that resides inside a Car and is primarily responsible for passenger protection during a crash event. The airbag unit acquires data from special sensors and when a crash condition is detected, deploys airbags and pretensioners to protect the passengers in the car.
Responsibilities:
•Development of Airbag features software (EOL, FLOG, EDR, SBR) and bench testing Airbag Control Unit.
•Developed software for commercial vehicles.
•Communicated over CAN bus between target & HOST by using different custom mated CAN tools
•Preparing make files, debugging firmware
•Development of low level Drivers for RS232,CAN,UDS
•Development of application layer by using protocals(RS232,CAN,UDS) and requirements.
•Development and integration of Bootloader with principle application software.
•Preparing specifications documents like SRS and SDDs.
Languages: C,C++,Perl and python scripting and C#
Tools: Green Hills software (GHS) compiler, Renesas debugger,JIRA, MKS, DOORS, CANoe, CTool.
LGCPI, Troy, MI, USA August 2012 – March 2013
Senior C/C++/Embedded Firmware Engineer
Project: SPA-Development for Volvo Cars
Description: SPA (Scalable Product Architecture) is a new development projects which contains MPC 5646C Power PC processor. This project at board level design
Responsibilities:
•New MPC 5646C power PC based board bring up
• Developed software for commercial vehicles.
•Development of Start-up code for MPC 5646C.
•Development of CMM files for Lauterbach interface with MPC 5646C and debugging source code.
•Development of Boot application and debugging boot loader issues and fixing bootloader bugs.
•Configuration of registers for activation of various modules like PLL, Ports,ADC,DIOs,CAN and UDS
•Drivers development for Ports reading,writing,ADCs and DIOs and porting board support package(BSP).
•Communicated over CAN bus between target & HOST by using different custom mated CAN tools.
•Integrating code with Autosar.
Languages: Assemble, C, C++, Perl and python scripting
Tools: Wind river Diab C 5.8.0.0/5.9.0.0, Memory/Library, Lauterbatch trace32 jtag debugger (LA-7708 debugger-USB2), Green Hills software(GHS) compiler, Renesas debugger,FogBucks, GIT, Testing, EBTresos Autosar.
ABB Inn, Bethlehem, PA, USA November 2011 – July 2012
Senior C/C++/Embedded Firmware Engineer
Project: PCD-2000R Compiler Migration
Description: The Power Control Device (PCD) is legacy product of ABB which is a powerful, microprocessor-based control unit that provides extensive re closer protection on distribution automation systems. The basic responsibilities of the PCD are to control, monitoring, protection, reclosing elements and communication.
The goal of this project is to port the PCD firmware from UNIX based 68k compiler to WINDOWS based Wind River DIAB C-V5.8.0.0 and V5.9.0.0 compilers.
Responsibilities:
•Preparation of LDF file for memory organization
•Porting source code from UNIX HP compiler to Wind River Diab C 5.8.0.0 and 5.9.0.0 compiler.
•Debugging source code to the root level for finding the causes of crash and burn issues.
•Assignment of variables to different memory modules.
•Assignment of variables to different variable types.
•Alignment of variables and structures to proper memory size.
•Development and enhancement of Firmware for zigbee wireless mesh network.
•Removing compiler errors and warnings.
•Removing klockwork errors and warnings
•Performed Unit level functionality testing.
Operating systems: Windows, UNIX, Linux
Languages: Assemble, C++ & C
Tools: Wind River Diab C 5.8.0.0/5.9.0.0, Lauterbatch trace32 jtag debugger (LA-7708 debugger-USB2), klockwork, Green Hills software(GHS) compiler, Renesas debugger,GIT, SourceTree, winflash, s-record converter, Algorithm, Threading, keyspan. Zigbee
CMC Ltd, Hyderabad, India November 2009 – September 2011
Senior C/C++/Embedded Firmware Engineer
Project: six DOF simulations in RTOS vxWorks
Description: This project is about navigation system simulation based on Pentium 4 Processor board. The simulation system has two interface cards MIL-STD-1553 and NI 6225 ADC card. MIL-STD-1553 is for sending the 1553 data like incremental angles and velocities at every 10ms and runs navigation algorithms. Another interface NI6225 is for reading the deflection voltages. Software module was developed to send telematics data packets to GPS simulator unit at every 10ms without affecting other modules.
Responsibilities:
•Customization of Pcpentium4 BSP.
•Development of drivers for interface cards.
•Development of libraries for MIL-STD-1553 protocol and NI6225 ADC interface card.
•Development of Graphical User Interface for all monitor parameters
•Development of application software as per the requirement and integrating the software with external hardware in the full set up establishment.
•Developed application software to acquire telematics data from GPS and storing in SQL database, reading configuration data from SQL database for different SBUs and sending to SBUs.
•Development of firmware and application layer of Zigbee protocol.
•Establishing the communication from host to target using RTOS (VxWorks)
•Socket programming for data communication for IPv4, IPv6, TCP/IP, UDP protocols.
•Integration testing in On Board computer setup.
•Performed Hardware In Loop(HIL) test with integrated setup.
•Development of decoding software for detailed data analysis used to detect errors and readiness of the total establishment
Operating System: RTOS VxWorks, Linux
Protocols used: MIL-1553, RS232, TCP/IP
Languages: C, C++, C#,NET, Win32 API and Vc++
Tools: I386 compiler and I486 compilers, Green Hills software(GHS) compiler, SQL, Renesas debugger, GIT, MS Office, Testing, Tornado IDE
CMC Ltd, Hyderabad, India October 2007- November 2009
Senior C/C++/Embedded Firmware Engineer
Project: Ground station simulation
Description: This project involved firmware Development using Real Time Operating system (VxWorks) for Simulation of Ground station establishment. Simulation software utilizes the inputs/ outputs of the different hardware modules connected to the system. Several firmware modules were developed for the different hardware resources and Interfaces.
Responsibilities:
•Development of simulation software for hardware like ADC, DAC, MIL-1553B, ARINC-429 and ARINC-653, MIU.
•Timer, interrupt and tasks subroutines development.
•Interfacing simulation software with other subroutines.
•Performed Hardware in Loop (HIL) test with integrated telematics setup.
•Socket programming for data communication for IPv4, IPv6, TCP/IP, UDP protocols
•Developed application software to acquire online telematics date from HIL& sockets and loading to SQL database.
•Unit-Testing and Integration Testing
Operating system: RTOS VxWorks
Protocols used: MIL-1553, RS232, TCP/IP, Windows
Languages: C, C++ and Vc++
Tools : Green Hills software(GHS) compiler, SQL, Renesas debugger
CMC Ltd, Hyderabad, India February 2007- September 2007
Firmware Developer
Project: CODE CARD & IO CARD
Hardware: Mc 68332, MIL-STD-DDC-61588 (MIL-STD 1553B chip)
Description: This project involved the development of drivers, Firmware and application for onboard resources and development of test Software to check the performance of cards.
Responsibilities:
•Requirement gathering
•Driver and Firmware development for Code and IO Cards.
•Unit and Integration testing
•Project documentation
Languages: C,C++ and Vc++
CMC Ltd, Hyderabad, India October 2006- January 2007
Project: Simulation software for Navigation Units
Firmware Developer
Description: Navigation units are time critical Units. Time critical simulation software acquires data from the navigation units in prescribed time intervals without missing single data packet. After decoding this data is sent to external subsystems. The software is based on command and response cycle.
Responsibilities:
•Requirement gathering
•Development of firmware device drivers for resources in Missile Interface Unit (MIU)
•Development of firmware libraries and development of subroutines to test the developed libraries
•Development of application software as per the design
•Simulation Software development on windows based system to check the performance of MIU
•Integration and Unit testing
•Project documentation
•Accessing GPS telematics data from INS navigation system and satellites and processing GPS telematics Data.
•Packetizing GPS telematics Data and sending to GPS simulator system and satellites.
Operating system: RTOS VxWorks
Languages; C, C++ and Vc++
Protocols used: MIL-1553, RS232, TCP/IP, Windows
Apollo Computing Labs (P) Ltd, Hyderabad, India April 2005 - October 2006
Firmware Developer
Project: Device driver development for PCI and PCMCIA card
Description: Development of Drivers & Libraries for PCI and PCMCIA based cards for MIL-STD-1553B protocol
Responsibilities:
•Requirement gathering
•Development of device drivers and libraries for different cards and for different Operating systems
•Software development to prove the performance of cards
•Developed application to test API libraries.
•Integration and Unit testing
Languages: Device drivers Development Kit, C, C++ and Vc++
Apollo Computing Labs (P) Ltd, Hyderabad, India January 2004 - March 2005
Senior Firmware Developer
Project: Firmware Development for Missile Interface Unit (MIU)
Hardware: Mc 68332, MIL-STD-DDC-61588 (MIL-STD 1553B chip), 16C554 (RS422chip), AD-1674 (ADC) and AD-664 (DAC)
Description: This project involved the development of drivers to activate all the resources on the MIU board .MIL-STD 1553B acquires the commands, which are decoded by system software and the system responds back appropriately according to the command. Test software was developed to check the performance of all the resources of MIU.
Responsibilities:
•Requirement gathering
•Development of firmware device drivers, application software for all resources in MIU.
•Development of firmware libraries and development of subroutines to test the developed libraries.
•Development of application software as per the design.
•Development of Graphical User Interface for all modules and all monitored parameter on Bus Monitoring.
•Simulation Software development on windows based system to check the performance of MIU
•Unit and Integration testing
•Project documentation
Languages: C, C++ and Vc++
Apollo Computing Labs (P) Ltd, Hyderabad, India October 2002 - December 2003
Firmware Developer
Project: Fiber Optic Lc-Launcher Console
Hardware: Mc 68332, 16C554 (RS422chip)
Description: Fiber Optic Lc-Launcher Console contains two similar Boards, named as FO – Console & FO – Launcher Console. FO – Launcher Console is connected to Missile and FO – Console is connected to ground station. Both the consoles are fused with same Firmware.
FO – Console reads the data from ground station (6 channels of RS-422, Discrete outputs & 40 Discrete Inputs), Prepares the Tag of channels and sends on to Fiber lines. It reads the similar kind of data & sends to Ground station.
FO – Launcher Console reads the data from Data acquisition (6 channels of RS-422, Discrete outputs & 40 Discrete Inputs), Prepares the Tag of channels and sends on to Fiber lines. It reads the similar kind of data & sends to Data acquisition.
Responsibilities:
•Responsibilities Requirement gathering
•Firmware development
•Unit and Integration testing
•Project documentation
Languages: C
Apollo Computing Labs (P) Ltd, Hyderabad, India August 2000 - October 2002
Firmware Developer
Project: Automatic Vehicle Locator using GPS
Hardware: Atmel AVR AT90s8515 Micro controller
Description: A micro controller receives signals from GPS receiver and parses the incoming messages from GPS, retrieves Lat, Long, Alt, and Time from the incoming signal and sends to the GSM (mobile unit) using AT commands. At the receiving side there is another GSM unit that receives incoming short messages which contain Lat, Long, Alt and Time and sends to the PC. PC software receives these parameters and plots the location on the graph.
Responsibilities:
•Requirement gathering
•Firmware development
•Unit and Integration testing
•Project documentation
•Acquiring GPS data from satellites and processing GPS data as per GPS interface control document
Languages: C and VC++