We provide IT Staff Augmentation Services!

Embedded Engineer Resume

5.00/5 (Submit Your Rating)

Santa, ClarA

SUMMARY

  • Well experienced designing, implementing, and, debugging software and hardware on a wide range of architectures and computer systems.
  • Well versed in object - oriented analysis and design techniques, including Executable UML. Documentation of software requirements, design and coding.
  • Well versed in reverse engineering of software, firmware, and, hardware. Competent in using oscilloscopes, logic analyzers, spectral analyzers, voltmeters.
  • Can read schematic and have an understanding ov VHDL. Performed reverse engineering of products, and, ported systems to different architectures.
  • Extensive knowledge of embedded systems dat include microprocessors, high-level and assembly languages, real-time OS's and distributed systems.
  • Strong scientific, physics and mathematics background from B.A & M.S degrees in Astronomy.

TECHNICAL SKILLS

Operating Systems: Linux 2.4 to 4.10 including BSP modification, BSD, UNIX, MS-Windows(7, 8), VxWorks/Tornado, Nuttx, eCOS, VRTX, PSOS, OS-9, OS-9000, QNX

Languages: C, C++, Visual C++, Java, FORTH, FORTRAN, PERL, Python, PHP

Shells: sh, csh, tcsh, bash

Assembly: Zynq, MPS430, Pentium, Pentium-Pro, PowerPC, 80X86, SH4, MIPS, ARM, 680X0, 8051, SPARC, PIC micro-controllers

Packages: MySQL, Word, OpenOffice, UML, Shlaer-Mellor, Bison/Flex, Git, JIRA, Subversion

PROFESSIONAL EXPERIENCE

Confidential

Embedded Engineer

Responsibilities:

  • Implemented drivers on Zephyr RTOS for teh RISC-V processor on a proprietary optical device. This includes watchdog DMA, GPIO, i3c and MIPI.
  • Test vendor drivers on FPGA board.
  • Implemented boot ROM code in C and updated teh Makefile.
  • Debugging initially done on Synopsis ZeBu emulator.
  • Using teh Lauterbach debugger, me added a feature to enable source level debugging.
  • Used a combination of teh Lauterbach debugger and teh Introspect module to debug MIPI interface.

Confidential

Embedded Engineer

Responsibilities:

  • Worked on medical equipment using C and C++.
  • Implemented security hardening on medical equipment.

Confidential, San Jose

Embedded Engineer

Responsibilities:

  • Worked on Palladium FPGA emulator code based on C and C++.
  • Worked on teh ReTimer interface \. Discovered a hardware fault with teh chip.
  • Worked on teh SeaUrchin link training test. Added remote GDB debugging.
  • Added i2c support to teh SeaUrchin link training test.
  • Ported teh BlueOS Linux to Palladium using Yocto.
  • Enabled eMMC driver in BlueOS Linux kernel.
  • Enabled dynamic debugging in teh BlueOS Linux kernel.

Confidential

Embedded Engineer

Responsibilities:

  • Worked on autonomous vehicle software based on C++ running QNX RTOS.
  • Wrote drivers for various hardware interfaces.

Confidential, Richmond

Embedded Engineer

Responsibilities:

  • Worked on teh Digital Surgical Suite code.
  • Modified build scripts to use make.
  • Reformated C and C++ source to remove all warnings
  • Introduced remote GDB for debugging applications
  • Security hardening of teh Linux kernel

Confidential, Santa Clara

Embedded Firmware Engineer

Responsibilities:

  • Added frequency dipping to teh 6495B Triple Quadrapole LC/MS. Frequency dipping is a technique to calibrate teh mass spectrometer (MS).
  • Modified code to measure molecular monitoring (MRM) rates for teh above MS. Wrote several Python scripts to statistically analyze and display timing results.
  • Worked on new SmartCard replacement based on Zynq 7020 running Linux in one core and FreeRTOS in teh other.
  • Qualified new processor card (SmartCard), Viatech VB QCE based on Intel x86 32-bit processor.
  • This included hardware changes with a new mass storage (SATA) disk, instead of a PATA disk. Also, includes a new version of teh Linux kernel.
  • Changed development from simulator hardware to virtual (VMware). Was able to remotely debug Linux application using GDB.

Confidential, San Jose

Embedded Kernel Engineer

Responsibilities:

  • Modified board support package (BSP) to integrate TI Wilink8 and Wilink6 driver modules into an iMX6SL ARM based board. me had to backport teh Wilink8 driver because it was based on a later version of teh Linux kernel (4.2) and me had to modify teh current version of teh Linux kernel to respond to teh Wilink8’s SDIO CCCR version number (3).
  • Teh requirement is dat one Linux (Android) operating system (version 3.0.35) runs and a run configuration script executes first determining teh version of teh circuit board, via GPIO pins, and will load teh appropriate driver module.
  • Debugged teh Wilink8 “ifconfig down then up” problem using Wilink8 UART interface to record firmware state transition information dat was forwarded to TI for analysis. Teh problem was fixed when a new version of teh Wilink8 firmware was received from TI.
  • Debugged a DDR problem with teh Elpida (Micron) EDB8132B4PM LPDDR2 SDRAM chip.
  • Debugged a USB problem with OTG port on teh iMX6SL board. If teh USB port is empty, teh USB host driver detects a device and tries to enumerate it. Teh problem was due to a manufacturing fault with teh circuit boards.

Confidential

Senior Test Engineer

Responsibilities:

  • Wrote test framework code in Python 2.7.10 to test Solid-State Drives (SSDs) with various interfaces (SATA, NVMe, eMMC). Tests are specifically written to test teh firmware of teh SSD.
  • Wrote and build scripts for Jenkins CI to perform regression tests whenever a new release of tests or firmware happens. Repaired a regression test machine based on an Intel 64-bit x86 multiprocessor running Windows 7.

Confidential

Senior Software Engineer

Responsibilities:

  • Wrote drivers and kernel code for Zynq 7020 running PetaLinux based on teh ARM Cortex A9 architecture for OPPA.
  • Wrote test code to perform statistical analysis of OPPA Communications Protocol (OPC). This code is written in C under Visual Studio and communicates with teh OPPA via sockets using TCP & UDP protocols. This code runs over several days accumulating average, standard deviation, skewness and kurtosis statistical moments. Teh skewness is of great importance because of teh OPC response time at times was excessive due to teh Linux kernel.
  • In regard to teh response time, my embedded Linux kernel experience allowed me minimize teh response time by increasing teh UDP packet memory pool via teh proc filesystem.
  • Wrote several Python scripts to analyze teh response time from data collected from teh Wireshark network utility. Teh Python modules used are QT5, Twisted, runstats, csv and pyshark.
  • Ported teh above C test code to teh Linux operating system (Fedora 21).
  • Ported teh OPPA application and Linux kernel drivers to WindRiver 5.
  • Modified teh Linux kernel and networking tools, mii-tool and ethtool to dump register information of teh Confidential PHY 88E1512 and Xilinx Zynq Gigabit Ethernet module.
  • Worked on EtherCAT master and slave code. Teh master code is based on TwinCAT 3 and IronPython and is used to test a semiconductor heater device. Teh slave code is written in C and is based on a Zynz-7020 and running GreenHills real-time operating system INTEGRITY. me also worked on associated XML file for EtherCAT slaves.

Confidential, Santa Clara

Senior Embedded Engineer

Responsibilities:

  • Wrote test code for Rhea and Tahiti (ARM A7 & R4) chipsets including memory controller (MEMC) for integrity, performance and latency through various caches and address randomization.
  • Wrote timing execution code to measure latency of register access. Code was written in C for teh Thread-X RTOS. Debug was through RealView ICE JTAG for teh ARM architecture and Cadence Palladium. Source control is through Perforce, ReviewBoard and JIRA.
  • Modified BSP to write test code, including architecture changes, for Hawaii, Java and Tahiti (ARM A15, A7 & Cortex M0) (BCM23859) chipsets for teh (Android) Linux kernel versions 3.4.0, 3.9.0 & 3.10.0 from Linaro.
  • Ran Lmbench, Linpack and Coremark benchmarks and wrote Python scripts to extract pertinent test results Ran virtual framebuffer tests. Tested USB host, device and OTG interfaces on Cadence Palladium USB Speedbridge and tested USB device as either networking RNDIS and mass storage.
  • Test various SDIO memory cards including SDR0104, DDR50, SDR50 and SDR25. Debug was through Laterbach JTAG and Cadence Palladium. Source control is through GIT.

Confidential

Platform Engineer

Responsibilities:

  • By analyzng system architecture me sped up boot time from two minutes to fifteen seconds for a video processing card based on teh PowerPC and running Linux. Also, sped up booting several video processing cards in parallel using multcast TFTP.
  • Worked on IPMI MIPS-based control board running Linux dat monitors and controls cooling, board and fan insertion and removal, in an eight slot rack. This code is based on Pigeon Point Systems Shelf Manager 2.7.2 and Linux 2.4.16.
  • Solved several application bugs on PowerPC based boards. Problems include teh misuse of real-time priorities, simple arithmetic calculations, failures in teh intellectual property based Ethernet interfaces.
  • Fixed problems with video control board based on teh TI MPS430F519.
  • Modified BSP to develop infrastructure for new video processing card based on SMP x86 64 running CentOS 6.0. Teh software system is using LiveCD and LiveUSB to install and update. Responsible for adding loadable device driver modules and to setup a debug environment dat uses KGDB over serial port. Also, modified teh initial RAM disk to add USB serial because teh usual serial port was left out of teh design.

Confidential

Code Analyst

Responsibilities:

  • Analyzed 8051 C and assembly code of teh G1 Laser system for documentation purposes. Teh processor used is a Silicon Labs C8051F040 with 4kB of internal RAM. Also, port said code from Keil C to SDCC compiler. Developed UML state machines dat describes software for teh six boards in teh laser system.
  • Porting included modifying data structures to fit in teh limited 4kB RAM, removing “dead” code and variables and optimizing control loops.

Confidential

Embedded Linux Engineer

Responsibilities:

  • Debugged several memory management type errors in teh Linux kernel version 2.6.10 for teh PowerPC 750FX. Also, added sleep mode processing. Using my system architecture experience me wrote several i2c drivers for hot-pluggable interface cards in teh Linux kernel version 2.6.16 for teh PowerPC 440GX. Teh i2c devices interfaced are teh PCA9541 multiplexer, PCA9555 me/O port, E24xx256 EEPROM and teh AD7416 temperature device. All i2c devices are accessible through teh SYSFS interface. Wrote a driver for teh PLX-9054 PCI interface to load serial EEPROM on demand. Wrote a driver to load an FPGA on Linux kernel boot up. Integrated NTP with Busybox into a root filesystem. Ported a proprietary Linux based bootloader into teh xMon bootloader. Wrote several C++ wrapper classes for teh hotpluggable i2c devices.
  • Setup GDB for remote source level application debugging over Ethernet.
  • Modified teh xMon bootloader to bring up and test all teh i2c boards, teh external main board peripherals including teh ER82551 Ethernet chip. Also, added Kermit to teh xMon bootloader.
  • Modified BSP to write sysfs-based driver for i2c boards mentioned above.
  • Debuged both PowerPC 750FX and 440GX using teh BDI-3000 from Abatron.

Confidential

Embedded Firmware Engineer

Responsibilities:

  • Wrote bootloader for KFD840 avionics. Code is written in C and Xscale assembly. Interfaces include RS-232 and NAND flash. Disassembled pre-boot code in NAND flash.
  • Used teh PXA320 Boot ROM in non-trusted mode.
  • Debugging done with Confidential Extreme Debugger and JTAG probe. Code source has passed FAA certification.

Confidential

Computer Engineer

Responsibilities:

  • Consulted on several bugs on boot-up and shutdown of hard disk encryption software based on DOS, Linux, and Windows. Used Forth for DOS memory analysis. Problems include corruption of x86 interrupt vector table, ACPI memory corruption and others. Processor is Intel 80x86.

Confidential

Embedded Linux Engineer

Responsibilities:

  • Wrote Wyse TCX USB Virtualizer for Linux based Wyse Thin Client. This code allows a USB device to be plugged into a Wyse Thin Client but connected to teh virtualized desktop, via teh network. Wrote a loadable Linux driver to handle teh translation between Microsoft IRPs and Linux URBs.
  • Wrote an application to implement teh Wyse TCX USB Virtualizer protocol.
  • Modified Wireshark network analyzer to display teh Wyse TCX USB Virtualizer protocol for debugging purposes. Teh target processor is x86 and teh Linux is Novell SLED 10. Teh Linux kernel version is 2.6.16.

Confidential

Embedded Linux Engineer

Responsibilities:

  • Ported OSE base networking application from OSE to Pthreads running on Linux developing under Eclipse. Extensive modifications to Confidential CLI code to interface to network application code. Added DHCP, NTP, ARP & DNS capabilities. Teh code is written in C and runs on a MIPS processor using Confidential networking interface chips. Running on Linux kernel 2.6.20.

Confidential

Embedded Linux Engineer

Responsibilities:

  • Mdified BSP to add new Linux i2c driver for Texas Instruments bq27350 for AT91SAM9261EK charger of teh RNS neuro-stimulator.
  • Fixed AT91 i2c module to properly run with interrupts. Used memory management routines. Teh processor is ARM926EJS running U-Boot as teh bootloader.
  • Modified bootcode to not use U-Boot for quicker bootup. Also, fixed several bug in this version of U-Boot. Linux kernel version 2.6.19

Confidential

Embedded Linux Engineer

Responsibilities:

  • Investigated network performance of teh DGy Real-Time Digital Recorder. Teh DGy is SH4 based running Montavista Linux kernel version 2.4.20 with Intel 82541 Giga-bit Ethernet interface. \
  • Wrote a special Linux kernel system call to increase network performance, along with memory management routines. me also wrote several test programs to test various aspects of teh above chip.

Confidential

Embedded Linux Engineer

Responsibilities:

  • Fixed Linux kernel bugs on version 2.4 and 2.6. Bugs in PCI/IDE drivers 3ware and Adaptec RAID drivers. Tested memory problems with H-P DL380 G4 running under Linux kernel 2.4.
  • Backported bnx2 Ethernet driver from Linux kernel 2.6. to 2.4. Fixed Perl scripts for initialization of system.

Confidential

Embedded Linux Engineer

Responsibilities:

  • Modified BSP to integrate ISP1761 host USB driver into BlueCat 4.1 Linux on a PR818S ARM 922T based multimedia system. Also, me added SD-Card and fixed IDE and JFFS drivers. Fixed scheduler bugs. Code is written in C. Teh version of teh Linux kernel is 2.4.18.

Confidential

Board Bring-up Engineer

Responsibilities:

  • Brought up ARM926EJS based networking security boards with four copper or fiber Ethernet interfaces. Ethernet interfaces based on Confidential 88E1111, 88E1112, 88E1149, 88E6185 & 88E6095. Wrote MontaVista Linux 4.0 loadable kernel modules to support above network chips and i2c and SPI interfaces for teh SFP fiber interfaces. Ported Ethernet drivers from 2.4 to 2.6. Linux kernel version 2.6.9. Code written in C and assembly languages.

Confidential

Embedded Firmware Engineer

Responsibilities:

  • Wrote VxWorks driver for teh networking i82551 Ethernet interface for PacketShaper QoS box. Processor is a 1.3 Ghz Celeron in a FW-7550 from Lanner-USA with four Ethernet interfaces. Driver written in C and x86 assembly languages.

Confidential

Embedded Firmware Engineer

Responsibilities:

  • Formulated test plan to verify embedded PCI interface in teh IP3000 processor design. Wrote assembly language to implement tests. PCI interface is Mentor Graphics IP Core.

Confidential, Santa Clara

Embedded Linux Engineer

Responsibilities:

  • Analyzed existing networking wireless driver for Strong-ARM (Bulverde) to find ways of increasing data transfer performance. Re-wrote driver using interrupts and tasklets for efficiency. Bootloader is BLOB and Linux kernel version is 2.6.9.

Confidential

Embedded Linux Engineer

Responsibilities:

  • Performed board bring-up on MPC8248 based satellite network router. System uses U-Boot and Linux. Fixed Linux kernel to reboot properly. Fixed U-Boot to save environment variables.
  • Configured two serial and two ethernet networking ports to run under U-Boot and Linux.
  • Modified BSP to write driver code to configure Xilinx FPGA through U-Boot and Linux. Wrote code to perform DMA to and from FPGA through PCI interface for U-Boot and Linux.
  • Wrote four Linux loadable modules to interface to various aspects of teh FPGA through DMA and PCI. Wrote four application utilities to test teh Linux loadable modules.
  • U-Boot version is 1.1.1 and Linux kernel version is 2.4.26. Ported code base from VxWorks to Linux

Confidential

Embedded Linux Engineer

Responsibilities:

  • Wrote code to encapsulate Hewlett-Packard proprietary health monitoring software package, HPASM, to periodically check temperature, fan status, power supply and status logging for a Proliant DL380 G4. This code is written in C/C++ and is a daemon running under FreeBSD-4.1. Health results are available via HTTP and SNMP. Performed qualification test on H-P MSA-1000 SAN. Tests include capacity, performance, and SPECmail.

Confidential

Embedded Linux Engineer

Responsibilities:

  • Wrote application interface software for several wireless networking modems to connect to mobile resource management device based on embedded MIPS running Linux and wireless LAN and GPS. Teh application purpose is to initialize teh mode, start teh two periodically poll teh modem for dynamic information and to check on teh state of teh PPP daemon. Teh modems used are Seimens GPRS MC46 & MC75, Sierra Wireless CDMA SB555 & EM5625, Kyocera Wireless CDMA M200 and Motorola IDEN IO1500. Code was written in C using pthreads and teh protocol used is Point-to-Point Protocol (PPP). Teh Linux kernel is 2.4.18.

Confidential, San Jose

Embedded Linux Engineer

Responsibilities:

  • Performed board bring-up on teh Confidential 4200 networking switch based on teh MPC8540 PowerPC running Montavista Linux 3.1 (2.4.20 kernel). Various duties included configuring teh Linux kernel to support ROOT-NFS mount, debugging FastEthernet interfaces using Confidential PHY.
  • Investigated serial EEPROM and i2c problems.
  • Investigated Montavista Linux compiler for use with Uboot bootloader. Brought up IDE interface for CompactFlash drive. Made CompactFlash drive bootable from any disk partition.
  • Brought up PCI encryption card based on Hifn 8154 Network Security Processor.
  • Investigated several endian issues with teh Hifn chip. Investigated kernel crash of SSH network security software.

We'd love your feedback!