We provide IT Staff Augmentation Services!

Firmware Development Engineer Resume

2.00/5 (Submit Your Rating)

Menlo Park, CA

PROFESSIONAL SUMMARY:

Extensive experience in embedded systems programming, data storage, data communication, data acquisition, process control and monitoring with structural and OO design. I am team player who can adapt to different types of work and environment in full product lifecycle.

TECHNICAL EXPERTISE:

Programming Languages: C/C++, ASM, Python, Expect, PHP, HTML, JavaScript

RTOS: VxWorks, OSE, Nucleus, Linux

Target architecture: SoC ( OMAP, Qualcomm MSM/CSM), CPU (ARM, PowerPC, ColdFire)

Development platform: UNIX (Solaris), Linux, Windows

IDE: Code Composer/MS Visual/Atmel Studio, Tornado, TRACE32, Xtensa Xplorer, Virtio, MySQL

Lab Tools: Logic/VME/USB/PCIe AnalyzerFrontline Sniffer

Methodologies: Structural Design, OOD/OOA

PROFESSIONAL EXPERIENCE:

Confidential, Menlo Park, CA

Firmware Development Engineer

Responsibilities:

  • PBL (Pointing By Light), LED and servo - mechanism laser beam pointers (C, PSoC Creator).
  • Enterprise Architecture document design.

Confidential, Fremont, CA

Sr. Firmware Development Engineer

Responsibilities:

  • Xtensa Xplorer, host side (CentOS 5.11)
  • OCD, utilities and administration application target side (CentOS 6.5, Windows7)
  • SSD drive board bring-up (PMC PCIe/NVMe controller)
  • Meta partition utilities design (FW and Super Block images read/write)
  • Debugging stubs design (Flash Channel, target, LUN, block, page access)
  • Secondary boot loader commands design (FW and Super Block read/write).
  • Flash interface initialization design ( SLC/MLC, Toggle DDR 2.0)
  • SMBus interface set up and application code design (PCIe, NVMe, CAR bus access).
  • PCIe/NVMe Windows/Linux driver design (C, Visual Studio, WinDbg, Eclipse, GDB)
  • Power management and feature set/get support
  • I/O and IOCTL request support
  • UEFI Windows development environment set up (Visual Studio, EDK ||, C)
  • Firmware development constraints solution.
  • Overlay design improvement
  • Priority based wear leveling algorithm improvement Test software design (Python and C)

Confidential, Woodinville, WA

Firmware Engineer

Responsibilities:

  • Power management software design (Atmel controllers AVR32UC, ARMSAM4S)
  • Confidential pins and interrupts programming
  • Bluetooth/USB transport testing
  • Code modularization and testing

Confidential, Folsom, CA

Software Engineer

Responsibilities:

  • Flash file system operation transaction safe PLR feature implementation
  • Power loss data formalizing using log file mechanism
  • File system recovery reversing interrupted operations
  • Disk check and error corrections
  • Hash table search algorithm
  • CRC32 based hash table design (API, callbacks, internals)
  • SCFS API modification to conform hash table search algorithm
  • SCFS kernel modifications to conform hash table population and callback parameters
  • NFTL debugging (Wear Leveling, Garbage Collection, Bad Block Management)
  • Performance and memory usage analysis; porting to Nucleus OS
  • Test points requirements design and PCIe analyzer setup (LeCroy)
  • Board bring-up, performance testing and data processing
  • Reliability software architecting and design
  • Linux PCIe/NVMe driver modification
  • Set of PCM die test mode access utilities
  • IO Performance software design (C, Windows, Linux, MySQL, Vdbench, Fio)
  • MySQL client application software design
  • Data modeling and database schema design
  • Benchmark tool run, data generation and database tables population
  • Database driven website design (Apache, PHP, HTML, JS)
  • Server side database data transfer (AJAX/JSON)
  • Client side data processing and charting (jQuery, Highcharts)
  • IO Performance code formalization and integration
  • Data modeling (IO and database)
  • Linux multi-threaded event driven native asynchronous IO test design

Confidential, Petaluma, CA

Sr. Software Engineer

Responsibilities:

  • Code building system modification to conform OSE 5.2
  • GCC 3.4.4 compiler collection build and testing
  • BDI3000/GDB ICE tool setup
  • PPC405GP memory management programming
  • BSP PPC405GP hardware abstraction layer design to conform OSE 5.2
  • OSE 5.2 kernel initialization configurations

Confidential, Dallas, TX

Software/Firmware developer

Responsibilities:

  • Confidential serial communication design (retrieve all available COM ports/baud rates)
  • Cryptography software design using OpenSSL toolkit
  • Message digest, asymmetric keys and signature generation (SHA, RSA)
  • High security application signing and image formatting
  • NOR, NAND, OneNAND flash drivers design
  • Mobile DDR SDRAM configuration
  • U-boot loader building (internal/external versions)
  • LCD driver design (OMAP2430, Himax HX8312-A)
  • USB OTG driver design (OMAP2320)
  • Board bring up testing and debugging
  • Serial command communication to U-boot Linux loader (Expect)
  • Linux kernel (Monta Vista) OMAP image build and download (Ethernet, TFTP)
  • Loading test application and run.

Confidential, Richardson, TX

Software/Firmware developer

Responsibilities:

  • Confidential (Firmware Over The Air) software design.
  • Cellular mobile station firmware update download
  • Cellular mobile station OMA DM protocols

Confidential

Software/Firmware developer

Responsibilities:

  • Gateway system software development and design (MCF5282)
  • Boot program, memory management and peripheral initialization
  • Kernel initialization, task switching and scheduling
  • Data link layer design (Serial Communication, Ethernet)
  • TCP/IP stack design
  • Protocols design (IP, TCP, UDP, ARP/RARP, PHY)
  • Sockets design

Confidential

Firmware Engineer

Responsibilities:

  • VISA single/multithreaded protocol state machine design
  • Transactions processing (TCP/IP, PPP)
  • Micronode VISA protocol state machine simulation on the PC

Confidential

Firmware Engineer

Responsibilities:

  • BSP design (h/w initialization, bootstrap)
  • Confidential driver design (SCC1, I/O)
  • MODBUS protocol implementation
  • Confidential Flash device driver design (AMD)

Confidential, Boston, MA

Sr. Software Engineer

Responsibilities:

  • Server controller multi-shell parser debugging and update
  • CLI debugging and modification ( commands)
  • RPC processes debugging ( Ethernet client/server requests)
  • Debugging server-module UDP/IP socket communication (VxWorks UDP primitives)
  • Line module Confidential debugging and modification:
  • Performance monitoring software enhancement as per GR-253
  • Cooling module control MPC860 I2C driver debugging and modification

Confidential

Software Design Engineer

Responsibilities:

  • Bootstrap program design (MPC860, i960)
  • VxWorks BSP modification and customization
  • Qualcomm CSM, Xilinx FPGA formatter driver design (I/O BSP level)
  • DMA channel programming (DRAM refresh)
  • Synchronous serial communication MPC860 HDLC driver design
  • Flash memory device driver and loader design
  • UNIX utilities design for conversion of the binary FPGA initialization file to ‘c’ file format
  • Script and make files design using cshell script language and software integration
  • UML CEM subsystem design
  • Documentation design accordingly to ISO 9001 standard

Confidential

Software Design Engineer

Responsibilities:

  • DSP device driver design based on SHARP LH9124 processor (VME bus, VxWorks I/O)
  • Board configuration and filter coefficients loading
  • DSP board diagnostic software design, (SHARP LH9124, FIR, FFT)
  • Beam forming, inverse beam forming, interpolation and filter coefficient generation
  • Graphical presentation of FFT (X Motif)

Confidential

Software Design Engineer

Responsibilities:

  • DS0A, DS0B, T1/E1 protocols encoding/decoding and protocol parser FSM design.
  • VxWorks inter-task communication and synchronization; interrupt, semaphore and queuing primitives.
  • System component description and programming (CDL language)

We'd love your feedback!