Naveen Atmakuri
adbyzb@r.postjobfree.com
Summary
Having 14 years of experience in developing software for Embedded Systems
Involved in end to end development of software for Embedded systems
Developed optimized drivers and applications in various environments
Involved in analyzing and debugging the complex issues in systems with Operating Systems and without Operating Systems
Sound knowledge in Software Development lifecycle
Written the required documentation required as per the software development life cycle
Involved in developing the CMX based Board Support Packages for multiple boards
Involved in developing the Linux based Board Support Packages for multiple boards
Working knowledge of the QNX operating systems
Worked on different Micro controllers like ARM, PPC, and Microblaze
Developed Linux Character and Block drivers on for x86 host machines
Sound knowledge in developing applications in C
Knowledge in developing character, and block drivers in Linux
Knowledge in the kernel programming of Linux
Sound knowledge in developing Firmware using Xilinx SDK
Sound knowledge in using the Code Warrior and Cold Fire debugger for PPC processors
Sound knowledge in using ARM developer suite and Real View ICE
Sound knowledge on firmware and application development using CMX
Sound knowledge on firmware and application development using Free RTOS
Working knowledge on device driver development and applications using VxWorks
Working knowledge in Assembly language
Sound knowledge of interfaces like I2C, I2S, SPI, UART, and PCIe
Working knowledge of Python scripting
Working knowledge of NVMeOF Interface
Proficiency with lab tools like, Logic analyzers, signal generators, and Digital store oscilloscopes
Technical Skills
Operating System Windows, LINUX
Languages C, and Assembly Language
Real Time OS FreeRTOS, CMX, QNX, VxWorks, DSP/BIOS
Microprocessors x86
Microcontrollers MicroBlaze, MCF5208, Mindspeed T4xxx, MCF5280,
ARM – 9TDMI, ARM – 926EJS, OMAP3430, OMAP5912
Version Control SVN (Sub Version), Perforce, Rational Team Concert
Tools Used Xilinx SDK, Tornado, Code Composer Studio, Code Warrior,
ARM Real View Developer Suite, QIDE
Academic
M.E (Embedded Systems) from BITS, Hyderabad.
B.Tech (ECE) from JNT University, Hyderabad.
Professional
Diploma in Embedded systems from CDAC, Pune
Professional Experience:
Eaton Corporation, Peachtree City, GA 3/2017 – Present
Lead Firmware Engineer
Project: Wireless Area Controller
The purpose of this project is to control upto 400 light fixtures, receptacles, and wall stations from a single Gateway. These devices are paired to the Gateway using ZigBee network. The Gateway could be controlled through either mobile app or through webpages.
Responsibilities
Fix the issues in the Linux BSP
Develop and test the enhancements
Environment: Oracle Virtual box, Visual Studio, Linux, and Git
Panasonic Automotive, Peachtree City, GA
Software Engineer – Embedded 9/2016 – 3/2017
Project:
The purpose of this project is to develop new enhancements, and provide support for the BSP of VP4 Refresh Head Unit.
Responsibilities
Provide debug support for issues faced while testing the Head Unit
Develop the enhancements and bug fixes and test them
Environment: QNX, Code Collabarator, Rational Team Concert, and Tera term
Xilinx, India
Senior Software Engineer – Embedded 5/2013 –07/2016
Project: NVMeOF Remote Host Driver
The purpose of this project is to be able to do reads and writes to the NVMe drives from a remote machine.
Responsibilities
Developed design specifications, test plan, and test specification documents
Implemented Linux block driver for making the remote drives visible on the host
Provided character driver interface for the admin functions
Developed the code for RDMA based transport channel, for data transfers with the drive’s
Participated in Integration testing of the driver
Provided debug functionality for the driver by using the /proc interface
Profiled the driver and optimized the overall performance of the driver
Environment: Linux, NVMeOF, RDMA, x86, and Perforce
Project: CCF (Common Code Framework)
The purpose of this project is to develop a framework, which could control all the peripherals on a board, remotely from a Linux host machine. The framework uses the message and responses for controlling the peripherals.
Responsibilities
Developed the design document
Developed a PCIe character driver, to be used as the transport channel
Adopted the driver architecture of the Linux for the framework
Developed the optimized solution, wherein if the same device is accessed consecutively, the setting up of the path is done only once
Tested the framework on different boards
Tested the I2C framework in all the possible scenarios
Integrated the MSI support for the CCF
Developed test scripts using Python
Environment: Linux, UART, PCIe, Microblaze, x86, Xilinx SDK, and Perforce
Project: Test-Rig
The purpose of this project is to develop a framework, which could be used to do initial board bring-up testing. The framework is designed in such a way that, support for new boards and peripherals could be added easily.
Responsibilities:
Involved in the overall framework design
Ported the CUnit framework for the Xilinx SDK
Developed firmware driver for Si570 synthesizer
Developed firmware driver for Si5375 synthesizer
Developed firmware drivers for I2C Mux devices PCA9545, and PCA9548
Developed board related code for Xilinx’s VC730 board in all the layers of the Framework
Tested the complete test rig for Xilinx’s VC730 board
Environment: Xilinx SDK, Microblaze, x86, and Perforce
Project: PCIe Driver FOR AXI CDMA
The purpose of this project is to develop a PCIe driver, through which an Application can do data transfers between the Linux based host machine, and the PCIe card based on the KC705 FPGA. For these data transfers, the DMA, which is present on the PCIe card is to be used.
Responsibilities
Developed Requirements Specifications
Developed Project Plan, and Test Plan
Developed the Design Specifications and Test Specifications
Implemented the PCIe driver for a Redhat based Linux host
Provided a character driver interface for the device
Implemented the Firmware to be used on the Target board
Tested the complete code base
Developed the Test Report and the Release document
Environment: Linux, x86, and Perforce
Powerwave Technologies Pvt Ltd, HYD, AP
Senior Software Engineer – Embedded 11/2008 – 04/2013
Project: Static Echo Cancellation Algorithm for Digital Repeaters
The purpose of this project, is to realize the filter coefficients for the Echo Cancellation filter residing in FPGA. This algorithm is used for cancelling the Echo in Digital Repeaters. For realizing the coefficients, a known waveform is injected into the system, and time taken for receiving the Echo is measured. Using this delay value, filter coefficients are realized.
Responsibilities
Analyzed the algorithm given in MatLab
Implemented the Algorithm in C
Tested the modules of the algorithm in a simulated environment
Optimized the algorithm by moving some part of it in assembly
Tested the complete algorithm on the actual hardware
Developed the Design specifications and Release document
Environment: PPC, CMX, UART, Code Warrior, Cold Fire debugger, and SVN
Project: Terbium
The Aim of this project is to develop the end to end software for a Digital Radio Head, which can support 45MHz BW. A Radio Head is one, which receives the base band data from the base station, and converts it to RF frequency, so that it could be transmitted. To improve the efficiency of the overall system, algorithms like Digital Pre distortion (DPD) and Crest Factor Reduction (CFR) are used.
Responsibilities
Wrote on the Software Requirements, and Design Document.
Wrote the Test Plan, and Test Specifications documents
Got involved in the development of board support package activities.
Developed drivers for clock synthesizers, and Optichron OP6180.
Developed code for interfacing the PPC with FPGA, and Optichron OP6180 chip
Involved in developing code for DPD and CFG algorithms.
Played key role in the integration with other teams.
Environment: PPC, CMX, Code Warrior, Cold Fire debugger, and SVN
Project: LTE Base Band Board
The aim of this project is to provide Linux BSP for LTE base band board. The board is based on Mindspeed’s T4xx processor. Providing BSP involves, porting of U-Boot, Linux kernel and Root Filesystems like NFS, JFFS2, and UBI.
Responsibilities
Wrote the Design document
Wrote the Test Plan and Test Specifications documents
Involved in porting of U-Boot and Linux Kernel.
Developed drivers for RF synthesizers like AD9548, and CDCE62005 devices
Provided the NFS, JFFS2 and UBI root filesystems
Provided support for various other groups like hardware and application development groups
Provided complete documentation for the BSP
Environment: Linux, T4xx, ARM Developer Suite, Real View ICE, and SVN
Project: Advanced Diagnostics Module
The purpose of this project is to provide end to end software for Advanced Diagnostics Module. This diagnostics module is used to gather the diagnostic information from various taping points between Antenna and base station.
Responsibilities
Developed design documentation, test plan and release document
Developed driver for RF synthesizer ADF4350
Developed driver for EEProm
Implemented the algorithm for setting up various RF switches according to the user selection
Implemented code for issuing commands and receiving the response from the DSP
Implemented the download functionality for FPGA
Implemented the interface between FPGA and Micro Controller
Developed webpages using HTML.
Environment: CMX, Code Warrior, Cold Fire debugger, PPC, and SVN
Client: Mistral Solutions Pvt Ltd/ Texas Instruments, Bangalore
Senior Design Engineer 08/2004 – 09/2008
Project: OMAP3EVM developer kit
This project is to provide Linux BSP for the OMAP3EVM board, based on the OMAP3430 Processor. BSP includes X-Loader, U-Boot, Linux Kernel and Root Filesystems (RAMDISK, JFFS2 and NFS filesystems).
Responsibilities
Developed Test Plan and Test Specifications
Developed Porting guide for Board Support Package
Ported X-Loader, U-Boot, and Linux
Provided NFS, and JFFS2 root file systems.
Ported drivers for OneNAND and NAND flash devices.
Environment: Linux, OMAP3, ARM, and SVN
Project: Pre and Post silicon validation of GSC3A
Client: Sirf, USA
This project is to validate all the major interfaces of GSC3A device, before and after going for silicon tape out.
Responsibilities
Involved in the Design document preparation
Involved in developing the Test Plan and Test Specifications documents
Developed driver for the ATA interface.
Validated the ATA interface.
Involved in the Release notes preparation
Environment: ARM, ARM developer suite, Real View ICE, and SVN
Project: Virtual Serial Port Driver
Client: Add Value Technologies, Singapore
This project is to develop the virtual serial port for Lotus Board, made by Add Value Technologies.
Responsibilities
Involved in the Design document preparation
Involved in developing the Test Plan and Test Specifications documents
Developed the virtual serial port driver in VxWorks
Involved in the Integration Testing
Involved in the Release Notes Preparation
Environment VxWorks, ARM, OMAP2, and SVN
Project: OMAP Link Audio
Client: Add Value Technologies, Singapore
This project mainly aims to provide an interface between the Audio Codec device (AD73311) and the DSP core (C55xx) of the OMAP processor.
Responsibilities
Involved in the Design Document preparation
Involved in developing the Test Plan and Test Specifications documents
Developed device drivers for GPIO and DMA modules of OMAP5910 in DSP/BIOS OS
Developed an application in VxWorks to demonstrate the audio record and play functionalities
Involved in the Release Note preparation
Environment: VxWorks, DSP/BIOS, OMAP2, ARM, C54xx, and SVN
(Naveen Atmakuri)