Post Job Free

Resume

Sign in

Embedded Software Engineer

Location:
Franklin, IN, 46131
Posted:
October 26, 2020

Contact this candidate

Resume:

Lee Mulcahy

408-***-**** - adhasg@r.postjobfree.com - www.mulcahyone.com

Senior Embedded Software Engineer

Summary of Qualifications

More than 22 years as a software engineer working with a variety of embedded devices and systems, including Linux, FreeRTOS, and stand-alone systems. Controllers in these systems range from low-end 8-bit MCUs to mid and high range ARM processors.

Experience in design and implementation of high-quality software systems for devices embedded in a variety of consumer products, such as televisions and mobile phones from top tier companies Samsung, Sony, and others.

Produce professional quality software using industry standard languages and tools such as C, C++, C#, Perl, Python, GCC, Eclipse, Microsoft Visual Studio, Subversion, and Jenkins.

Create professional quality documentation at all levels, including software architecture and design specifications, programming references, porting guides, and user's manuals.

Work well with both internal hardware engineers and customers during product bring-up.

Proficient in the use of hardware debug tools such as oscilloscopes, pattern generators and logic analyzers. Able to read schematics.

Familiar with the use of Verdi and VCS for simulation debug, and Vivado for FPGA debug.

Professional Experience

Software Consultant, 2/2019 to Current

Consulting Software Engineer

Bootloader design for ARM M4 processor.

FreeRTOS implementation for ARM M4 processor.

Wrote device drivers for custom I2S and UART peripheral IP.

Wrote API specification for RNN-based Audio Inference engine, including weight and bias loading.

Assisted design engineering with chip bring up of a SOC with an ARM M4 MPU and custom analog AI matrix IP

End to end implementation of CES2020 AI voice recognition demo consisting of I2S microphone interface, audio conditioning in software, driver interface for ultra-low power mixed-signal inference engine and accompanying user interface written in C#.

Debugged AI demo using FPGA Emulation and Verdi simulation tools.

Ceremorphic, Inc., 6/2020 to 10/2020

Senior Staff Software Engineer

Bootloader design for ARM M7 processor portion of QS1 SOC.

Wrote device drivers for Synopsis I2C, UART, timer, DMA, and SPI peripheral IP.

Designed overall system coordination between Arm, DSP, and RISCV processor parts of QS1 SOC.

Debugged bootloader using FPGA Emulation tools.

Invecas, Inc., 1/2018 to 2/2020

Senior Staff Software Engineer

Continued support for Lattice/Silicon Image reference software.

Developed Link Training code for the HDMI2.1 next generation HDMI2.1 device from Lattice/Silicon Image. Worked closely with Analog and Digital design teams to debug and refine link training algorithms.

Participated in certification and device interoperation testing events with customers

Prepared and coded Linux-based system for implementing security key generation for individual devices shipped to customers.

Wrote scripts to generate rough draft of the HDMI2.1 device Programmers Reference Word document from engineering register spreadsheets. Hand-edited and updated the draft to produce a finished manual.

Lattice Semiconductor (Silicon Image, Inc.), 5/2008 to 12/2017

Senior Staff Software Engineer

Developed embedded software for embedded MCUs in the latest Silicon Image HDMI and MHL devices.

Created the architecture for external reference design software for HDMI and MHL devices. This software is designed to be easily ported to systems from stand-alone processors to Linux drivers, both user and kernel space.

Wrote specific Linux drivers for several HDMI and MHL devices.

Developed Android stack for emulating USB HID touch interface with MHL sideband commands.

Designed and implement windowing software for an OSD graphic controller.

Wrote Jenkins scripts in Python for project management.

Wrote support documentation for all the above, including architectural specifications, software product requirement documents, programming references, porting guides, and user's manuals.

Provided support for customers both local and overseas.

Coordinated multiple location development projects.

Nethra Imaging, Inc., 2005 to 2008

Staff Software Engineer

Developed embedded software for the internal ARM processor controlling a digital camera chip.

Created GUI test programs to communicate with and help characterize digital camera chips, using Microsoft Visual Studio.

Wrote documentation supporting all the above, including architectural specifications, software product requirement documents, programming references, porting guides, and user's manuals.

Software Consultant, 2002 to 2008

Consulting Software Engineer

Performed contract work for clients such as Spansion, Inc., and Silicon Image, creating test software for Flash memories and I2C communications device drivers.

Performed domestic engineering duties raising my child.

NuCORE Technology, Inc., 2000 to 2001

Staff Software Engineer

Designed an object-based camera operating system for an embedded ARM processor controlling a digital camera chip. Written in C++. Developed several key object modules, including the sensor capture and shutter timing functionality.

NeoMagic Corporation, 1997 to 2000

Audio Software Design Engineer and Group Manager

Wrote audio device drivers for the audio portion of the NeoMagic graphics controllers used in approximately 50% of the notebooks sold during this period.

Managed and trained engineers both locally and in India.

Oak Technology, Inc., 1995 to 1997

Audio/Comm Group Software Design Engineer and Manager

Designed one of the first WDM audio drivers for Oak's audio controller chip.

Wrote Windows audio applications for inclusion with the device drivers, including a sound recorder and mixer driver.

Education

Computer Sciences, Foothill College, Los Altos Hills, CA, others

Electrical Engineering, De Anza College, Cupertino, CA



Contact this candidate