Embedded C/c++ Developer Resume
Philadelphia, PA
SUMMARY:
- Having 5 years of experience in Analysis and developing the Real Time embedded systems.
- Hands on experience in C, C++, Embedded C, Data structures and Linux internals, device drivers, debuggers (GDB), logical analyzer.
- Good experience IOCtl and programming.
- Hands on experience in kernel compilation, u - boot, third party libraries and applications as per system requirements.
- Experience in automating Functional Test cases with C.
- Experience in deploying UNIX/Linux Inter Process Communication mechanisms like Shared memory, PIPES, signals processing for various embedded products.
- Hands on experience with SPI, I2C protocols.
- Knowledge and exposure to Linux Kernel, File systems (VFS, MTD, JFFS2), Board, BSP.
- Experience in development using multithreaded programming.
- Worked on protocol design and implementation related to Bluetooth file transfer.
- Experience with various source control tools like SVN and Git/GitHub.
- Experience in Integration and Debugging different types of modules on POS terminal like Ralink Wi-Fi chip, PCF663 RTC.
- Proficient in understanding business process scenarios and translating them into technical design for application development.
- Experience in implementing security features for embedded devices (Linux Hardening).
- Designed and programmed C applications in both a LINUX/Unix.
- Good exposure on ARM cross compilation.
- Customization of roots, kernel, u-boot, boot scripts to customer needs.
- Analysis and development tracking of technical issues and participating technical discussions with customers
- Worked on GSM connectivity.
- Experience in device driver programming, printer driver, IO driver implementation
- Experience of Software architecture, design and development experience including requirement analysis, implementation and testing of various real-time/multi-threading applications using C, Linux technologies on Embedded platforms.
- Expertise in Embedded Real-Time Systems and Applications (SoC) development.
- Experience in writing shell scripts in bash, ksh and csh environments.
- Well versed with concepts of Synchronization and Memory management.
- Well versed with MS office suite (Word, Excel, Power point).
- Good team player with excellent communication, presentation and interpersonal skills.
- Willing to work in a challenging position that broadens my technical expertise and keen to learn new technologies to keep myself abreast of the latest technologies.
TECHNICAL SKILLS:
Programming Languages: C, C++, Shell scripting, device drivers, kernel programming
Systems: MySQL Linux, VMWare workstations, ubuntu, fedora
Processors and controllers: ARM9(IMX-25), ARM7(IMX-6), ARM-Cortex-A5
Cross Tool Chain: Freescale-31/35(gcc-4.4.4/4.6.2/4.9.2)
Documentation Tool: Doxygen
Tools and SDKs: GDB, KGD, Valgrind, Kermit, Vi, gedit, minicom
PROFESSIONAL EXPERIENCE:
Confidential - Philadelphia, PA
Embedded C/C++ Developer
Responsibilities:
- Gathering requirements from the filed, designing, developing and debugging real time applications on point of sale terminals
- Thermal printer driver using GPIO's for free scale imx6 and imx25, user level application for ensuring its operation
- Schematic design understanding hardware configurations and implementing the test cases for the same by sample drivers.
- Writing application development interfaces and preparing shared libraries for the end users
- Socket programming c application for upgraded the software for the field devices over the air by different communication medium viz. GSM, WIFI, ethernet
- upgrading to new version of Linux which supports device tree handling, u-boot and kernel customizations accordingly.
- Cross compiling the new features for embedded devices and deploying the same via serial port C-Kermit and ensuring their proper functionality
- version control for released software and upgrading and updating maintenance
- Responsible for providing solutions in software upgrading issues.
- Boot scripts changes as per customer requirements
- Extensive code usage from c libraries
- Worked on sending and receiving file from server with Linux standard commands
- security provision at u-boot prompt by enabling u-boot password features by writing u-boot password to emmc location.
- preparing firmwares root file system, u-boot and kernel as per customer needs.
- Implemented code in shell script to retrieve and manipulate data.
- Involved in production support and providing hot fixes to the production issues.
Environment: C, LINUX, linux2.6.31(fedora), linux2.6.31(3.0.35), C-Kermit, vi, GDB, git, ARM based environment.
Confidential - Chicago, IL
Sr. C/C++ Developer
Responsibilities:
- Worked on Board bring up and BSP integration activities for processing boards of ARM using Linux internals.
- Configure enable for eMMC, LCD, ADC for Touch and PCF8563 RTC in device tree, ADC driver code changed to read the platform Data.
- Developed a Load Testing tool for QA Team for checking the device simultaneously for a long period of time, same tool for ageing and testing too with little changes
- Used the editor gedit, IDE - Qt Creator and the compiler GCC with debugger GDB.
- Developed a character driver for controlling the power management for all peripherals
- Used IOCTL programming for talking to various IO Modules
- Managed LCD Backlight to on for 16 secs alive using Jiffies.
- Worked as Onsite coordinator for a team of 8 members for client Confidential .
Environment: C, LINUX with different flavors, linux3.10.0 device tree based, windows 8 for software loading, PLM, Git
Confidential
Embedded Engineer
Responsibilities:
- Developing firm wares for different boards
- Source code review and testing
- Logging defects into Technical Review Record.
- Record bugs into Track record and follow till closure.
- Development and execution of Functional Unit test cases.
- Gained Knowledge of Integration testing.
- Designed an algorithm for battery charge and discharge for fuel gauge
- Analysis of different set of batteries and ADC variations periodically and compared with fuel gauge.
- LCD touch time out option application if LCD is not touched for prescribed time-period
- GSM Modules different Makes Testing using AT commands, wrote a daemon for auto APN and auto connectivity of GPRS in embedded device
- GPIO driver for powering up the corresponding GPIO based IO modules
- knowledge on interrupts and hardware registers
- Designed and implemented TCP/IP based client-server module to facilitate faster file transfers across systems from existing FTP file transfer.
Environment: C, C++, Rational Test Real Time, Windows, UNIX Shell Scripting, MYSQL Linux, XML