Igor Lokhmotov
San
Diego, CA 92129
e
-mail: lokhmotov@gmail.com
Summary
A
Sr. Staff Software/Firmware Engineer with extensive international experience in
design and development of firmware for real-time embedded systems. Excellent skills in device drivers, multi-threaded
software development, hardware
diagnostics, verification, bring-up, debugging, and problem solving software
and hardware. A strong contributor with a passion for
producing quality work.
Technical
Skills
|
Computer Languages: |
C, C++; Assemblers: ARM, Intel x86,
PowerPC; HTML, PHP, Perl |
Professional
Experience
BROADCOM CORPORATION, San Diego, CA 6/2006 - present
Sr.
Staff Firmware Engineer
·
Designed and
implemented a flexible and extensible software infrastructure for running
"stress” tests that verify millions of pseudorandom combinations of
hardware blocks interactions, event sequences, and data values. Each individual
test creates hardware configuration and a set of data patterns, initializes and
executes hardware, and verifies the operation results.
·
Developed verification firmware for Broadcom Bluetooth SoC based on ARM, Cortex-m3, 8051.
·
Developed firmware and Perl scripts to test DMA, PCM, I2S, I2C,
SPI, USB, OptimoDE, XRAM, Audio Routing, Patch hardware.
·
Developed firmware diagnostics to support failure analysis
requests (FAR).
(ARM Assembler, C; GHS, ClearCase,
ARM JTAG Debugger and Trace2, Oscilloscopes, LA, USB Tracer)
KYOCERA WIRELESS CORPORATION,
Sr.
Software/Firmware Engineer
·
Developed display (LCD, OLED) device drivers for Kyocera
cell phones based on Qualcomm MSM 6100, MSM6550. Modified MDP (Mobile Display
Processor) device driver
·
Provided firmware/software development support for hardware
bring-up
(ARM Assembler, C; ARM DevSuite
1.20, Trace32 JTAG Debugger, Digital Oscilloscopes, LA)
INTEL CORPORATION,
Sr.
Software/Firmware Engineer
·
Developed system validation firmware for Intel PXA27x family
of processors based on Intel XScale technology
(specifically designed for cell phones and wireless PDAs)
·
Developed software/firmware, set up on the System Level
Emulation (SLE) test beds to enable system validation code to execute as
quickly as possible by offloading portions of the code to be executed on a
(silicon based) full speed system, while executing only what is specifically
needed to perform the test on the (comparatively slow) SLE.
(GNUPro
C/C++/Assembler, MS Visual C++, Logic Analyzer, PCI Analyzer)
IBM CORPORATION, MYLEX,
Staff
Software/Firmware Engineer
·
Led hardware diagnostics development team
·
Developed on board hardware diagnostics and boot code for
PCI/PCI-X 64-bit RAID controllers based on IBM PowerPC 405, Intel XScale (Intel
80200/80312), StrongARM Microprocessors (WindRiver Diab
C/C++, ARM Developer Suite, Assemblers ARM, PowerPC)
·
Provided firmware/software development support for bring-up
custom I/O and ASIC designs, board and system level hardware
·
Designed and implemented API to support embedded hardware
diagnostics for PCI RAID controllers
·
Developed MS-DOS command line utilities used by
manufacturing during the functional test of the
PCI RAID controllers (Borland C++, MASM, TASM)
CORPORATE
Sr.
Software/Firmware Engineer
Developed Embedded stand-alone 4
channel Digital Audio Logging System MIL-4000, Digital Audio Recorder, and CDR
Duplicator “CD Dupe-It”
·
Debugged
system boards based on AM186ED/EM microcontrollers, parallel/serial port
adapters, Audio Input/Output boards, SCSI adapters, IDE adapters, phone line
interface, LCD adapters, keyboards, knob
·
Developed
Real-Time multi-threaded (uC/OS Kernel) embedded applications, internal
Power-On Self-Tests, and hardware diagnostics
·
Developed
device drivers:
·
SCSI HD, ATA
HD, LCD, Serial/parallel ports, keyboard, knob, serial CMOS EEPROM
·
4 channel
audio u-Law codec data input/output system with phone line interface
·
Developed
testing tools
(Borland
C++ 5.2, TASM, Paradigm Debug/RT, Paradigm Locate)
Ported Real-Time Kernel uC/OS to AM186EM
microcontroller
(C/C++,
Borland C++ 3.1, TASM, Paradigm Debug/RT, Paradigm Locate)
Developed
Embedded X10 Fast Cache Floppy PC ISA Controller
·
Debugged
controller board based on Intel 80C188, and 2 channels 2x speed floppy drive
·
Developed PC
BIOS (INT13H, INT40H)
·
Developed
embedded application, automatic read-ahead preloading and caching algorithms,
internal Power-On Self-Test, hardware diagnostics, cache memory manager, dual
memory manager, 2 channel PC8477 floppy controller and floppy drive device
drivers
·
Developed
MS-DOS TSR Eject Floppy Diskette utility, Fast Floppy Diskette Duplicator
Developed
SCSI/ASPI-compatible DOS device drivers and utilities for CD-ROM, Tapes, HDD
SUN MICROSYSTEMS,
Software
Engineer
·
Maintained
XView internals in Solaris 2.3/OpenWindows.
·
Developed
automated tests for Open Look Intrinsics Toolkit (OLIT) and XView Toolkit under
the Test Environment Toolkit (TET).
(C, Perl, csh, sh, Sun OS/Solaris, SUN
SPARCStation)
EXPER 3,
Software
Engineer
Developed control, data
acquisition, and graphic applications for digital camera in SCO UNIX System
V/386. (C,
Xlib, X Window terminal, SCO UNIX System V/386)
Software/Firmware
Engineer
Developed DOS device drivers, firmware, TSRs, hardware
diagnostics, communication software (C/C++, Borland C++
3.1, TASM 3.0, RT-11, RSX-11M-PLUS, Assemblers:
PDP-11, Z80, 8080)
MACHINETECH,
Hardware/Firmware/Software
Engineer
Developed hardware, real-time
firmware, software for CNC machine tools and robots.
Education
MOSCOW POWER ENGINEERING INSTITUTE,
MS Electrical
Engineering
IBM GLOBAL CAMPUS,
PCI,
PCI-X, IBM PowerPC 405GP, SCSI
QUALCOMM,
CDMA
2000, Brew