Embedded Software Engineer Resume
San Jose, CA
SUMMARY:
- 15+ Years of embedded Linux kernel,device driver experience. 10+ Years of Enbeddedlinux BSP bringup experience on various processor boards, including controllers with PCIe boards 18+ Years of Embedded Diagnostics Engineering experience 15+ Years of software/firmware development for networking product such as routers, switches, DSL and cable modems . 18+ Years of C, assembly programming 18+ Years of Board Support Package, board bring up, diagnostics experience. Worked on various RTOS and Embedded OS such as VxWorks, Nucleus,QNX,Linux 5 years of 802.11 wireless router Access
- Point (AP) software development with AAA/EAP Radius Server Authentication.Wifi MAC Driver changes to fit custom needs 10+ Years of serial peripheral protocols and device drivers experience such as I2C, SmBus, SPI, RS232, MDIO, USBetc 15+ Years of Analog, Digital and Mixed signal circuit design and production experience 15+ Years of TCP/IP L2,L3 PROTOCOL. 12+ Year of Linux application programming experience, use of forks,threads,rpc,shared memory, client, server, etc 18+ Years of experience of Bare Metal ( No OS) firmware development on various Controllers such as AVR32, ATmega128, 8051, 6808,68000, MicroBlaze, ARM9. MIPS3000/ + Years of experience of Hardware Product Architecture, Embedded Firmware Architecture, Software Application Architecture, UI Application Architecture development.
- Verilog RTL coding for various IP such as Serial controller, Timer, DMA, RTL interface to AHB Lite bus to ARM core, Power PC bus interface. Used VCS, ModelSim, Verdi, Vivado.
- 15+ Years of Windows C/C++ programming with Win32 SDK, MFC, Visual Studio, Windows Kernel Drivers development and debuggingMultithreading, GUI App development.
TECHNICAL SKILLS:
PROGRAMMING LANGUAGES: C,C++, 68000 ASM,8086 ASM,PASCAL,MIPS 4000 ASM, ARM 922ASM,PPCASM,MICROBLAZE ASM,SQL/Pl SQL, PRO - C,PYTHON, PERL
OS: DOS, UNIX,LINUX,SOLARIS
FILE SYSTEMS: FAT-12, FAT16, EXT-2FS
RTOS: VxWorks,TUWA,NUCLEUS, EMBEDDED LINUX,QNX,REDHAT,CENTOS,UBUNTU
HOST PLATFORM: IBM PC, SUN.
WINDOWS: MS Windows NT,98,2000,Win32 SDK,VISUAL STUDIO,C-SHARP
CHIPS: M68360,M68000,M68302,MIPS4300,8086,80188, 8250,8237,z85c30,8051PPC 405, GALILEO. ARM-922T,RBT32, ATMEL AVR32, ATMEGA128AM335x, TIVA, K70.
PROTOCOLS: TCP/IP,UDP,SNMP-MIB,BOOTP/DHCP,FTP,TFTP,etc.
COMMUNICATION STACKS: Epilogue
ICE: Applied Microsystems ICE for 68k, Embedded Support Technology ICE for 68kMicroteks ICE for 80x86. XRAY Monitor /Debugger, CorelisScanICE and
EPI MAJIC: JTAG/EJTAG based ice,Lauterbach TRACE32.
LAB TOOLS: HP 1650b Logic Analyzers, Oscilloscopes, IXIA,SmartBit,WireShark, RF Spectrum AnalyzersFirebird 6000 frequency synthesizer, Frequency metersLogic probes. RADCOM communication protocol analyzers.HP serial line protocol analyzers, NetXray, EtherPeek, Chameleon etc.Have excellent understanding of Digital and Analog circuitsSchematic diagrams.
EDA TOOLS: ORCAD, PCAD
DRAWING SOFTWARE: SOLID WORKS, AUTOCAD
HDL: VERILOGHDL SIMULATORS: MODELSIM, SYSTEM VERILOG ( Questa)
ANALOG SIMULATORS: PSpice
SYNTHESIS TOOLS: XILINX ISE, SYNOPSYS DESIGN COMPILER, LEONARDO SPECTRUM.
FPGA: SPARTAN 3, VIRTEX2-PRO
MISC: HTML,XML, VISUAL STUDIO 6.0, .NET, C-SHARP, KEIL,CHIPSCOPE
SOURCE CODE CONTROL: CLEAR CASE,WIN CVS, PERFORCE GITHUB
PROFESSIONAL EXPERIENCE:
Embedded Software Engineer
Confidential, San Jose CA
Responsibilities:
- Developed Embedded software for Wireless Network Gateway. ImplementedDCLI for IPV6 L3 Host and Route table programming for Confidential Tomahawk switch for the HAL - Manager Implemened for IPV6 L3 Host and Route table programming from FIB to the HAL - Manager. Used Confidential SDK for Tomahawk switch. Fixed DCLI DHCP configuration bugs. NETCONF protocol, YANG coding for CLI C/C++, Embedded Linux, JIRA, YOCTO, SMOKE TEST
Embedded Software Engineer/Project Lead
Confidential, Fremont CA
Responsibilities:
- Developed code to display Endpoint Graph as well as generate event for the Endpoint Developed UI to display of the Wafer Run Lot Summary per cassette/Foup show wafer process status, RF time per step. C/C++, MFC, Visual Studio 8. WIN32 SDK, multithreading Coded Verilog RTL to implement ip of DMA controller to AHB lite bus protocol of M4 Arm core. VCS simulation, test bench for Bus functional model. Use Verdi for waveform examination. Xilinx Vivado for FPGA implementation, bit stream generation. Design tested on the FPGA board. Used IAR arm compiler debugger to download the c program executable and debug on the board. Integrated and ported ARM Cordio Blue Tooth Low Energy (BLE) Mac and Base Band and application stack codes to client FPGA Platform board.
Embedded SoftwareDiagnostics Engineer
Confidential, San Jose CA
Responsibilities:
- Writing C programs for ASR9000 router’s shockwave RSP4-S, FC2,LINE CARD diagnostics for Cisco ASIC and other devices.
- Serdes Loopback test, PRBS test, BIST memory test, Register test ETC, Uart Loopback, CAN, Ethernet loopback. C, Embedded Linux, Kernel Drivers, User mode apps for diagnostics, etc
Platform Software Engineer
Confidential, Sunnyvale CA
Responsibilities:
- Wrote C/C++ code for Platform System Health monitoring. Involved read device registers for errors and failures.
- Create data tables, policy files and rules for error / warning /alert definition. Configure Auto Support etc,WorkedwithPCIe, NVMe, Fiber Channel, SAS devices.
Embedded Software Engineer
Confidential
Responsibilities:
- Wrote / debugged embedded C programs for WiFiWireless router for 2.4G Confidential and 5G 802.11acQuantenna Radios. Work involved integrating quantenna radio parameters in one single repository configuration manager. Used QCSAPI SDK for SSID configure and stats collection for 5G Quantenna radio. Modifying Quantenna QDPC host PCie driver for adding ioctl. ARM Cortex 4 SMP core, Embedded Linux, C. GitHub (Git) version control, BCM6362, 63138A, 63148A Confidential chips. TR-098,Fixed bugs in 595/599 models of router software. Cross compiled in Ubuntu Linux platform.
- C, Embedded Linux, Confidential, Quantenna,,ACS, DOCSIS, ATOM,ARM Written API interface for Confidential RDKB Fixed bugs for ArrisWifiWireless Cable Modem OG1600, 1682 for Confidential Client. Made code changes to add RSA/AAA/ EAP Radius server authentication for enterprise security feature. Made code changes to add Primary Radius server failover to secondary radius server Made code changes to enable Disconnect request by Remote Radius server. Used YOCTO build frame work for code repo and code building for Confidential client. Created Yocto bb and bb append recipe files for wifi Host AP modules. Wrote code to implement client station Black Listing for authentication rejection by the Radius Server. Configured band steering parameters. Modified HOSTAPD BSS configurations Modified 802.1x files for adding new features. Worked with wifi-ac QCA hostapd codes. Modified Mac driver to fit AAA related need. Confidential JIRA issue tracking
Embedded Software Diagnostics Engineer
Confidential, San Jose CA
Responsibilities:
- Writing C programs for Cable Modem Head End (CMTS) supervisor and line card device functionality test. All coding are in the Embeddedlinux platform. Intel Shumway board, cavecreek Chipset USB, PCIe, SATA, SPI etc.
- Multi-threaded linux app coding, kernel device driver module coding,Kernel DMA driver,spinlock, MSI interrupts,tasklets,workqueue,kmalloc, linux interrupts, IO remap, Grub configuration, init scripting, SMbus driver coding,I2C driver coding, Marvel Switch 98x243 programming, makeroot,cpio,PCIedrivers,MSI interrupts,memtest86+C,gnu, Linux 2.6.39.4, INTEL Sandy bridge SMP core x86 CPU.
Embedded Software Engineer
Confidential, San Jose CA
Responsibilities:
- Wrote C programs to veryfy Ethernet PHY SERDES on a new siliconImplemented and verified PHY device driver for 10G/40G Confidential Trident WarpcoreEthernet PHY silicon. Programmed/verified registers, bringing up AutoNegotiation IEEE CL37. Programmed/verified register to configure lane bandwidth 1g/5g/10g etc. Programmed/verified memory management registers for l2 switch operation CJ PAT, PRBS,BERT etc. C, VxWorks,Multitasking.
Hardware /Firmware/Software Design Engineer Analog/Digital, Project Manager
Confidential, Fremont CA
Responsibilities:
- Project Manager/Product Architect. Architected the Solar Power Inverter including embedded firmware/software, electrical circuits, mechanical enclosure, Managed product development teams in India, China for software and hardware product development. Product architecture, specification, product power point presentation preparation. Cost estimate, work scheduling, schedule tracking, resource management. Architected and implemented hardware and embedded firmware for the Solar Power DC to AC Inverter. Atmel AVR ATMega128, AVR Studio, C, JTAGICE-MKII. Used PWM, ADC interfaces, etc.
- Used PWM, ADC interfaces, etc. Implemented several hardware and software blocks of the product. Wrote device drivers. Used Perforce source code control. Developed FPGA RTL using VERILOG to program the Xilinx Spartan 3 FPGA to connect the Atmel controller to different devices. Coded PWM timer module in VERILOG, Coded PWM Sinewave generator in VERILOG, Coded Line Frequency detector and phase sync interrupt generator in VERILOG. Used Modelsim for the RTL simulation. Wrote bus functional model for the test bench. Created stimulus file and expected output file. Comapared RTL output to the expected outfile. PreparedTest bench, and Test Cases Used Xilinx Vivado to FPGA Synthesis place &routeand bit file generation. Used EDA tools for schematic entry. Design was a mixture of analog and digital circuit blocks. Used pSpice for circuit simulation. Used MOSFET,IGBT, Gate Controlled SCRs,
- Ferrite Transformer,SPI Digital To Analog (DAC) and Analogto Digital (ADC) Converters. Used DAC124S085, OP AMP LM324, I2C Devices in the design. Developed Board bringup and diagnostics codes. Architected and implemeted Battery management software and hardware. Software driven PWM based, MPPTSFloating,boot and trickle charge system, etc. Software driven algorithm to save battery at different load level and no load level. Worked with AC/DC and DC/DC coverters, Buck-Boost, FlyBack, H-Bridge Circuitry, SCR, Power Electronics, Power Supply,SineWave Generation circuits and filters. Selected parts per specification for the schematic and simulation. Supervised PCB layout forhighspeed design for proper device placement, vcc and gnd plane, via, trace lengths, filter capacitor placenment, clock line, etc. Interacted with PCB fab houses in China. Travelled China to meet companiesplstic mold, enclosure fabrication and other for manufacturing needs. Manageddevelopment team overseas and US. Speak Chinese Mandarin very basic to handle travel in China. 3 Patents pending Solidworks2010 3d enclosure design Pyhton scripting for test automation Cross compiled in Centos 5 Linux platform.
Embedded Software Engineer
Confidential, San Jose CA
Responsibilities:
- Wrote test/diagnosticsfor exercising switching ASICs (R2D2, Metropolis,Eureka,Lamira,Octopus, Santa Cruz, and crossbar spine) for Nexus 7000 on 1G (Nurbergring) and 10G (Albert Park) line cards. C and embedded linuxOS, linux device drivers. Packets are injected through inband port of r2d2 to the full capacity of the linecardincludingboth L2 forwarding (eureka) and L3 forwarding (lamira) look up. Developed software for Cisco CRS-1 router.. C/C++, QNX, Multithreading. Fixed and enhanced cli for CRS-1 router. Added new CLI features to fabric snapshot for CRS-1 router. Converted fabric snapshot TCL script to C for CRS-1 router. Rewritten fabric snapshot CLI to spawn on proper node by detecting the board type (LC, RP, Fabric,etc) for CRS-1 router.
Embedded Software Engineer
Confidential, Sunnyvale CA
Responsibilities:
- Worked on AMHS project for semiconductor industry Developed firmware to control PMD stepper motor to move FOUPS on the conveyor,EtherCAT uCos-2 RTOS, Microblaze CPU, GNU Debugger, C/C++, Framework,Interprocesscommunication,MessageQueue,Semaphores.
Software Engineer
Confidential, Fremont CA
Responsibilities:
- Written Windows GUI software to manage semiconductor etch tool. Multithreading
- Winsock, Client/Server application development.
- Developed multithreaded QNX application.
- C/C++,WIN32 SDK,C-SHARP, .NET, QNX
Embedded Software Engineer
Confidential, Santa Clara,CA
Responsibilities:
- Brought up Tornado debugger on an Optical Network Board(EPON board) running VxWorks BSP. used C.
Embedded Software Engineer
Confidential, SanJose CA
Responsibilities:
- Impelmented dynamic mac address aging algorithm for 48 Port Gigabit switch in the software to compensate the hardware problem to tag a mac address to be dynamic or static .
- Worked on Level 7 HAPI/DAPI and Driver Layer integration and debug for 48 Port Gigabit switch unsing PPC 824x CPU. VxWorks, Tornado. All developments done in C.
Design Engineer
Confidential, SunnyvaleCA
Responsibilities:
- Project Lead for Software Development. Architected and coded firmware and management software for next generation network traffic sniffing/security box. It is a combination of Intrusion Detection and Protection feature(IDS/IPS). Box is running embedded linux. Coded firmware for embedded linux and management software for windows win32 SDK. Wrote linux kernel mode device drivers etc.
- Box scans emails, attachments(pdf,xls,doc,ppt,txt and more), ftp and all other payloads in the link in 10/100/gigabit speed. It remembers tcp/ip sessions, to and from ip addresses and port numbers.
- Embedded software works with verilog/fpga to store all matched entries and transmit them to administrator of the box. Windows software talks to the embedded side of the box and loads all signature patterns and other required parameters needed for sniffing. A patent application has been filed on this firmware/softwre.
- Search is done using IDT NSE ( Network Search Engine) Chipset
- Embedded processor is the PPC405 stamped in XILINX VIRTEX2-PRO FPGA.
- Wrote Dallas RTC interface in VERILOG and implemented in Xilinx EDK 6.1 and synthesised using ISE 6.1, used ModelSim simulator for RTC interface simulation. Used ChipScope Pro
- Used C for all software development.
- Wrote server for connecting to the GUI clients, Server forks to serve multiple GUI clients. Wrote driver software in C for hardware functional blocks verification in the FPGA. Python scripting for test case automation Wrote board bringup and diagnostics codes. Patent approved #7499412 Virtualized the IPS/IDS engine on the Linux platform. Virtualized Engine was developed in C.
Embedded Software Engineer/Project Manager
Confidential, Palo Alto CA
Responsibilities:
- Project Manager/Product Architect. Architected embedded firmware /software and UI for measuring electrical response of human body cell data collection equipment for cancer research. Managed product development teams in India, Bangladesh for software and hardware development. Product architecture, specification, product power point presentation preparation. Cost estimate, work scheduling, schedule tracking, resource management. Designed medical research equipment for cancer research. Developed VERILOG FPGA RTL in verilog for controlling relay matrix hardware and wrote software for monitoring electrical response of human body cell.
- Xilinx Spartan 3 FPGA is used for the design implementation..UsedModelSim for Simulation . Prepared Test bench, and Test Cases. Used Xilinx ISE tools for FPGA Synthesis place &routeand bit file generation. OrcadPspice for circuit simulation Orcard Schematic. Selected parts per specification for the schematic and simulation. Supervised PCB layout and interacted with PCB fab houses in China. C and Assembly languages are used. Developed GUI using C/C++ for windows platform to control the board. SQL database development with InternetSQL server. Wrote device driver software in C to verify hardware functional blocks in the FPGA. Wrote board bringup and diagnostics BSP code for Embedded Linux (Monta Vista) . Customized U-Boot for booting Embedded linux on the board.
Electrical Engineer Analog/Digital, Manager Product development
Confidential, Fremont CA
Responsibilities:
- Managed multiple projects development teams in India, Bangladesh, China for software and hardware product development. Duties were to develop product architecture, specification, product power point presentation preparation, finding and interviewing qualifying teams in India, Bangladesh, China. Cost estimate, work scheduling, schedule tracking, resource management. Developed on chip debug hardware module for state machine using VERILOG RTL implemented in Spartan 3 FPGA. Did VERILOG RTL coding, simulation, waveform analysis. Test bench generation in verilog. Did C modeling of the module. Developed bus functional models, inputs and stimulus and compare procedures for RTL verification using C and Perl language. Prepared Test Case generation. Used Xilinx ISE tools for FPGA Synthesis place &route,timingclosure,and bit file generation. Developed 10/100 Emac controller for Miiinterface inverilog for the processor core supporting half duplex mode.Implemented back-off algorithm on collision detection in half-duplex mode. Developed CPU Host Interface block for reading writing to PHY registers. Created MDIO control and data registers for host access. Drove MDIO/MDC signals. Developed UART controller in verilog for the processor IP. Only 9600 baud supported. Used Leonardo Spectrum for FPGA/ASIC Synthesis,technology library selection, etc. Wrote stepper motor drive logic for host bus in verilogfor RKD514LA stepper motor drive. Wrote software drivers for hardware design verification in C.
- Written Driver for TI RFID controller in C. Developed GUI for Device test. Orcad Schematic Entry. SQL/Mysql /Php/Html/Linux development for web based device configuration system Wrote board bringup and diagnostics codes. Written firmware for Ethernet fault tolerant switch using ARM 9 ASIC . C, assembly, Embedded Linux, kernel mode device driver, linux boot loader. Wrote Windows GUI to configure the switch ASIC. Created I2C frame packet and transferred the packet from 2 parallel port pins of the PC to the switch board EEPROM. Also read back data from NVRAM through parallel port pins. ProgammedBare Metal ( No OS) 8051 based controller to control Ethernet switch. C, assembly, Keil. Written C code for Smart card command send/receive driver for mobile phone SIM card using CALMRISC16 microcontroller. Used CalmSHINE16Plus1 Cross Compiler tools. Integrated verilog USB/SERIAL/GPIO cores to FPGA design.
Embedded Software Engineer
Confidential, Fremont, CA
Responsibilities:
- Written device driver for DSL line card. Written pre-activation multirate pulse driver for conexant BT8973 DSL chip on PowerPC 8240 ( PPC 603) core. Programmed EPIC controllers. Modified bitpump codes for phase and AGC adpataion,framer modes and scrambling.BCM63268, BCM6362, BCM6368, BCM6328, DslxChange,VxWorks,Tornado. All developments done in C.
Embedded Software Engineer
Confidential, Milpitas, CA
Responsibilities:
- Written VxWorks BSP for MIPS 3350/3352 based Cable Modem. Wrote device derivers for SERIAL, USB, ETHERNET, TIMERS and more Wrote driver for XILINX SPARTAN FPGA configuration file downloader.
- Ported broadcoms HPNA driver for Confidential 4210 iline chip for cable modem based on broadcoms 3350 docsis modem chip.
- Wrote boot loader code. Wrote Flash and NVRAM driver for cable modem board. Written codes for Bridging and Filtering IP packets. Wrote software in C for diagnostics and hardware verification. C/C++, Multitasking, Interprocesscommunication,MessageQueue,Semaphores. Ported VoIP,SIP,EPTAPP,xChange software stack. Programmed TI DSP,CODEC,SLICK/SLACK,etc.
Embedded Software Engineer
Confidential, Campbell, CA
Responsibilities:
- Wrote Layer 2 driver for MUNICH32 HDLC communication controller for Frame-Relay over T1 Used Telenetworks WAN protocol stack. VxWorks, Tornado. All developments done in C/C++.
Embedded Software Engineer
Confidential
Responsibilities:
- Developed communication firmware for Data Encryption equipments for T1/E1 interfaces based on
- Confidential 68302 cpu boards.
- Used VxWorks multitasking RTOS. Used Tornado debugger. Used GNU C compiler and Assemblers. Developed Windows GUI using WIN32-SDK. Developed Virtualized control System in C for Panel Control running in the Windows OS.
- All developments done in C.
Embedded Software Engineer
Confidential
Responsibilities:
- Developed half duplex communication firmware for FAX machines, for OS download. Developed FAX Bare Metal ( No OS) firmware for 80188 cpu based FAX/MODEM cards for the PC Used MicroTeks ICE for 80188 cpus
- All developments done in C.
Software Engineer
Confidential
Responsibilities:
- Developed image processing software for pre-press printing industry . Color separation, image rotation, cropping, UCR,GCR adjustment etc. Developed Windows GUI using WIN32-SDK.
- All developments done in C/C++ .