Greg C. White
704 North Valley View Drive
Prescott, Arizona 86305
928-771-82769
Web: www.ixcel.com
Email:[Send email using form at bottom]
Years Experience: 15
Summary of Work Experience:
Fifteen years consulting as an Intel PC based embedded systems architect
specializing in Windows and Linux based application and device driver software.
Extensive experience in embedded systems design and programming, compiler design,
PC operating systems, device drivers and Linux application software. My
background also includes extensive experience in Linux, Embedded Linux and User
Mode Linux. I also have extensive, recent experience with Linux device driver and
application development. Red Hat, Debian, Suse, Monte Vista and TimeSys. Seasoned
C and C++ developer. GTK, Tool Chain implementation and GNU tools. Linux Kernel
expert. Embedded system debugging. Well versed with recent experience in the
following areas: Kernel debugging, Apache, Web based design (Word Press 2.0,
XML, PHP). Blogging. Extensive recent experience with image processing. I also
have extensive experience with designing and implementing network architectures
and topologies (Wireless RF, 802.11,TCP/IP and Ethernet).
Education:
Bachelor of Applied Science, Florida Atlantic University, Boca Raton, Florida
Software Engineering
University of California, Berkeley, California - Professionals Extension Program
- Computer Science
Clearance:
Active Secret
Employment History:
Applied Systems Engineering Inc, Campbell CA
April 2008, – November 2008
Linux Software Engineer
Embedded software engineer responsible for BSP enhancements for an embedded
SCADA Protocol Translator. Lead engineer in porting Windows CE 5.0 project to
Embedded Linux (MonteVista) and Windows CE 6.0. C++ Object oriented application
programming. Visual Studio 2005. GNU Tools(GCC, Make). GTK+ developing and
conversion from WinForms. Linux Kernel customization. Ext2 File System driver
modifications. Windows serial and NDIS device driver modifications and testing.
OAL and BOOT loader porting from Windows CE to Linux (2.6 kernel). C and x86
Assembler programming for a Zilog Z85230 ESCC UART. Elan SC520 8-86 based
microprocessor. Device driver debugging and testing using Platform Builder 5.0,
Monte Vista Linux along with the Abatron BDI-2000 JTAG source level debugging
tool. Linux and Windows CE Kernel level API programming.
Boeing Integrated Defense Systems, Anaheim, CA
May 2008 – April, 2008
Linux Software Engineer
Embedded Linux systems engineer responsible for Linux kernel modifications to
stabilize and sustain Voice over IP traffic flows that meet or exceed government
standards for situation awareness software defined radio (SDR). Embedded Linux
kernel debugging and testing. Graphical User Design to display and present
waveform images to user mode applications. Extensive use of: Linux 2.4 and 2.6,
X-Windows API, X-Server, Green Hills INTEGRITY 4.1.8, MULTI 4.2.3 and rtserv.
User Mode Linux (UML) programming, customization and virtualization. HAIPE
protocol driver design and maintenance. C and C++ programming. Linux network
kernel configuration and debugging using layer 4-protocol interfacing. Virtual
devices, TUN/TAP, network stack interfacing (frame reception, net device and
softnet data).
Cameron Health, San Clemente, CA
November 2004 – May 2008
Embedded Systems Engineer
Windows CE Board Support Package (BSP) design and modification for an ARM based
embedded heart monitoring device. OS Image file creation, installation and
testing (NK.BIN and EBOOT.NB0). BIB file modification and testing. Boot Loader
testing (BOOT.BIB). CESH and CEPC. Application testing and modification using a
customized GWES configuration. Windows CE 5.0 USB device driver testing and
debugging, Platform Builder 4.2, Embedded Visual C++ programming. Application
design for an XML based embedded heart monitoring application.
TV Compass, Chicago, Illinois
April 2007 – June 2007
Windows CE Software Engineer
ARM BSP systems software development for a custom Windows CE set top box. Boot
Loader development,(EBOOT, FBOOT). ARM7 Assembler and JTAG debugging using
in-line ICE and hardware probes. Abatron BDBI200. Mentor Graphics MAJIC-LX.
Lauterbach JTAG-ARM9 USB. Windows CE Kernel level device driver debugging and
testing. C/C++ programming. Platform Builder 5.x and Embedded Visual Studio 4.2
Toshiba Medical Systems, Chicago, Illinois
February 2007 – April 2007
Windows Device Driver Engineer
Designed, developed and tested a Windows 2000 device driver for a proprietary
PCI based enhanced image processing device (3D-ANGIO Workstation). Extensive use
of Windows DDK, Windows kernel debugging, NDIS 5.1, WinDBG, Borland C++, Visual
Studio 6, C and C++. GUI application design and modification for an image
processing application front end.
VisionMos, Tempe, Arizona
January 2007 – April 2007
Image Processing Engineer
Embedded image processing software engineer. ARM7 programming and debugging
using ADS v 1.2 and Metrowerks Code Warrior. Image enhancement algorithm design
using Bayer lens filtering. Preview video streaming mode processing. JTAG
debugging using WinIDEA USB/JTAG debugger. ARM 7 assembler and C programming. .
ELF and .BIN file design. ROM/RAM image relocation. Scatter file and boot loader
design and enhancement.
I5Wireless, Northbrook, Illinois
June 2006 – January 2007
Embedded Linux Engineer
Linux device driver design and testing for a custom fiber optic wireless
cellular communication device. Point-to-Point (PPP) protocol and sockets based
device driver programming for a proprietary x86 Single Board Computer. Serial and
TTY layer device driver programming. GUI programming using C++, GTK and Mono.Red
Hat Linux Kernel 2.4 programming. GCC and Makefile development. Unix shell
utilities.
GrayHill, La Grange, IL
March 2006 - June 2006
Windows CE Systems Engineer
Windows CE Board Support Package (BSP) device driver modifications for an ARM
based rugged PDA. Windows File Shadowing, Filesys.exe, FMS, NAND device driver
testing (FMD), OS Image file (NK.BIN, EBOOT.NBO), KITL debugging, CE 5.0,
Platform Builder, Embedded Visual C++ 4.2, ARM 9 Assembler (ELF files creation),
Boot Loader testing (BOOT.BIB). CESH and CEPC.
Vernier, Lake Oswego, Oregon
June 2006 – August 2006
Windows Device Driver Engineer
Windows composite USB device driver design and testing for a custom educational
enrichment device. Firmware design and debugging. Cypress EZ-USB FX Device Driver
Development Kit 2.0(CY3671 chip, Anchor Chips EZ-USB). 8051 C programming, Keil
uVision programming. Isochronous, Interrupt and Bulk USB Transfer testing. HID,
HCD and Host USB models. USB Descriptor design. Windows WDM USB device driver
design and debugging. Visual C/C++ 6.0, Windows Device Driver DDK. Kernel mode
device driver debugging and testing using WinDbg.
General Dynamics, Scottsdale, AZ
November 2005 - June 2006
Windows CE Systems Engineer
Windows CE Systems design engineer tasked with the design and implemementation
of a custom OAL. Board Support Package (BSP) and Boot Loader design and
implementation. Voice over IP software design and programming for a proprietary
XSCALE based situation awareness secured PDA. Extensive use of Windows CE 5.0,
XSCALE (Intel PXA270), Assembler, Mainstone Developers Board, C, C++, AC595,
AC870, GSM, SSP protocol, HAPIS 3.0, Voice over IP and SMS.
Intel Corporation, San Diego, CA
November 2004 - November 2005
Wireless 802.11 Software Engineer
Lead technical engineer for wireless 802.11 device driver development.
Architected, designed and tested NDIS 5.X Intermediate drivers to support back
end EAP discovery and detection for use with MeetingHouse supplicant. 802.1X
Local Area Network (LAN) authentication software (Supplicant), EAP, EAP, RADIUS,
NDIS 5.X, Windows registry, C/C++ programming, Visual Studio. NET, XML 4.0,Kernel
Level debugging, WinDBG, Softice and Stack Traces. Extensive use of Mini-PCI, CF
I/O Cards, Arm and XScale processors, PXA250, SA1100, HP iPaq H5455, Pocket PC,
Toshiba E700, Fujitsu IPAD, PCMCIA, USB card and bus technologies. Working
knowledge of Intersil (Prism/2), Symbol and Intel based MAC/PHY layers. Firmware
modification using Matlab. Design engineering and CAD based drawing using AutoCAD
5. Lead software programmer responsible for the design and implementation of a
Web based 802.11 configuration utility using Php/HTML. Database programming using
SQL Server. Working knowledge of 802.11 wireless extensions for Windows platform
drivers. Windows CE, Pocket PC 2003, 2004, Embedded Visual Tools, Platform
Builder 3.0/4.1,Active Sync 3.7
Fujitsu Transaction Solutions, Inc San Diego, CA
June 2004 – November 2004
Windows CE Embedded Systems Software Engineer
Device driver design and testing for an ARM based retail image scanning and
shopping device. CE BSP and OS image file generation (NK.BIN), BootLoader
development (EBOOT.NB0), Streams driver development for a proprietary
image-scanning engine using Embedded Visual C++ 4.2 and Platform Builder
4.2.Device driver and BSP platform testing using Windows CE Test Kit (Tux, Kato).
Developed user defined test suites using custom Tux Test modules (ShellProc and
TestProc). Application Verfier testing. Script programming using Windows
Scripting Host. C, C++ and Windows CE Kernel level programming and debugging.
Celerity Corporation, Yorba Linda, CA
October 2003- June 2004
Embedded Systems Software Engineer
Embedded Linux device driver design and implementation for a PC 104 CPLD based
serial RS-232 interface using state of the art real-time valve flow control,
pressure and temperature sensing. Embedded Linux (TimeSys), Timestorm, GNU tools
(GCC), MAKE, Kernel debugging, OOPS analysis, Remote booting, Interrupt latency,
Bottom and half-Top Half design, Tasklet design, Kernel Timers, Mutex and
Semaphore design, User mode signalling, POSIX timers and threads, Module design,
Custom Kernel modifications
Intel Mobile Wireless Division, San Diego, CA
November 2002 - October 2003
Senior 802.11 Systems Hardware and Software Engineer
Part of a core hardware design and implementation team for Intel's next
generation mobile wireless 802.11 platform(Centrino). Extensive Windows
application and driver level software design for 802.11b wireless products using
C, C++ and Visual Basic. Extensive use of Windows CE and Pocket PC 2002
programming for ARM and XSCALE processors (PXA250, SA1100, HP IPaq H5455, Toshiba
E700, and the Fujitsu IPAD). Extensive use of Intersil (Prism/2) and Symbol
(Trilogy) MAC/PHY layers. Thorough working knowledge of 802.11 NDIS 5 wireless
extensions for Windows platform drivers. Detailed working knowledge of 802.11
implementation issues such as 802.11 a, b and g, Antenna diversity, Calibration,
RF reflection, Access Point attach/detach, Antenna Polarity, Infrastructure vs
Ad-Hoc mode, Ad-Hoc routing, Preamble and RTS threshold. Lead software engineer
for the design and implementation of RF testing tools for production floor and
OEM testing. Extensive use of C/C++, Visual Studio, Embedded Visual Tools,
Platform Builder, Active Sync, Visual Basic, Java Script and Perl. Extensive use
of network protocol stacks, wireless networks debugging tools, network testing
tools (Chariot, TCL), Windows DDK, WinDbg, Softice and kernel mode device driver
design and debugging.
Mesh Networks, Maitland, FL
June 2002 - November 2002
Windows 2000 802.11 System Network Architect
Windows device driver programming and design for a proprietary device driver
WLAN 802.11 Peer mode protocol for Windows platform drivers using Prism2/Intersil
Wireless LAN MAC’s. Extensive use of the NDIS 5 API, Windows Kernel mode
programming, 802.11 a and b specifications, NDIS 5.X OID's, WEP, WDM, WMI, USB,
PCMCIA, Card Bus and the Windows Platform DDK's.
Inter-Tel International, Inc. Phoenix, AZ
January 2002 - June 2002
Windows 2000/XP Device Driver Specialist:
Lead architect and designer for a state of the art PCI based Voice Mail Bridge.
Designed and implemented Windows Pnp/WDM device drivers for Windows 2000/XP.
Extensive use of Pnp/WDM, Power Management, WMI, Kernel Mode and C programming,
Windows Platform DDK, Kernel mode debugging (WinDbg and SoftIce), Numega Driver
Studio 2.5, Telephony, device driver installation and setup. Hardware PCI
interface programming using H.100 bus, Time-slot interchangers, Lucent Ambassador
T8102, PLX 805x, Xilinx FPGA.VHDL programming and debugging. Enhancements to
proprietary .NET based driver testing and debugging Web based application
software. C, C++, C#, XML, VS .NET, SOAP, DISCO.
Eclipse Data Technologies, Pleasanton, CA
July 2001 - January 2002
Embedded Systems Software Engineer: VHDL programming and design for Xilinx PLX
8059 PCI bus controller interface. Designed and implemented Windows WDM drivers
for PCI based Image Encoder hardware. Extensive use of WDM, Pnp, Power
Management, WMI, Kernel mode device drivers, C programming, Kernel debugging,
CD/DVD mastering, LBR, CSS encryption, DDP and CMF file set validation. Hardware
PCI interface programming using Xilinx FPGA. Designed and implemented a
proprietary .NET based device driver testing and debugging application based on a
reusable and extensible Web Service. Extensive used of C#, XML, VS .NET, SOAP,
HTTP, .NET Framework SDK and ATL.
Texas Instruments DSP, Monroeville, PA
February 2001 - July 2001
Senior Hardware and Software design engineer
Programming and design for TI's next generation DSP ASIC's. Extensive us e of
VHDL and Verilog programming, digital filter design, Z Transforms, A/D
conversion, implementing algorithms for sampling rates up to 750kHz.Z Transforms,
RS-232 and SPI. Designed parser and lexical analyzer for compiler used in Code
Composer product as well as assisting in two-pass run-time implementation code.
Designed and architected Windows platform device drivers to drive PCI based DSP
test card for use with proprietary based DSP board designs. Extensive use of
Windows CE .NET 4.1, Platform Builder, Board Support Packages (BSP), designing
custom boot loaders using CE Boot Loader, custom Kernel design using OAL, x86
emulation using CEPC. Heavy use of DDTK, Tux and Kato. Extensive use of: Visual
Studio, Visual Foxpro, SQL Server, COM, ActiveX, WDM, Pnp, PLX 805X PCI
interface, ARM, C6211 DSK (Code Composer Studio), TMS320C6000, DSP/BIOS internals
(Mailbox, EMIF), ARM processor internals, NT/Win9x Kernel driver API's.
Infineer, Tarpon Springs, FL
September 2000 - February 2001
Windows Device Driver specialist:
Conversion of existing Windows WDM serial smart card device driver to Windows NT
4.0 platform. Design, engineer and test driver for Windows Windows CE platform.
Ported NT 4 serial driver code to work with WDM/USB interface under Windows 2000.
Extensive use of smart card technology, PCMCIA, Windows CE 3.0, WinDk-CE, CEPC,
Platform Builder (BIB, Tux and Kato), USB, serial, NT Kernel mode architecture
and API's, Windows driver installation (OEMSETUP.INF) and Windows driver
debugging (WinDbg and SoftIce).
Software WOW, Boston, MA
April 2000 - September 2000
Windows Device Driver specialist:
Analysis for the design and implementation of an Internet based File System for
all Windows based operating systems. Extensive use of: FSD architecture
(namespace, Redirectors, filter drivers, CODA model, Distributed File System
implementation, VCACHE, NTFS and FAT. C and C++ programming using Visual Studio,
COM, DCOM, MFC and ActiveX.
Home Wireless Networks, Atlanta, GA
August 1999 - April 2000
Intel PC OS device driver specialist:
Design, implement and test Windows NT 4.0, Windows 2000, Windows CE NDIS and
Linux network drivers for a Wireless RF handheld device. Extensive use of Windows
CE, WinDK-CE, CEPC, Platform Builder, C, C++, x86 Assembler, RF, 802.11, NDIS,
USB, serial driver, HAL and Kernel level API's, ISR and DPC, DMA, Memory
management and Registry API's. Softice and WinDBG kernel level debugging. Linux
Red Hat 6.0 Kernel, gdb, and kdebug debugging for network drivers, GNU C compiler
and tools.
Alteon Networks, Inc. San Jose, CA
January 1999 - August 1999
Senior Hardware and Software Engineer:
Core participant in the design and implementation of the next generation ASIC
for a Gigabit Ethernet card. FPGA, VHDL and Verilog programming. A/D and D/A
conversion, SRAM design, digital filtering, SPI and RS-232. Design, implement and
test NDIS 4/5 Miniport driver for a Gigabit Ethernet LAN adapter card for Compaq
DEC Alpha PowerPC (RISC) platform. Extensive use of C, C++, x86 Assembler, NDIS,
HAL and Kernel level API's, ISR and DPC, advanced driver-to-ASIC firmware
interfacing (Tigon), Gigabit Ethernet (Jumbo Frames), DMA, Memory Mapped I/O,
Memory management and Registry API's. Softice and WinDBG kernel level debugging.
3Com Corporation, Santa Clara, CA
August 1998 - January 1999
Windows NT and LINUX Device Driver Engineer:
Lead designer and programmer for Windows 2000, Palm OS and Red Hat LINUX device
drivers for Server based Token Ring and Ethernet NIC products. Extensive use of
Windows 2000, Palm OS, WinDK-CE, CEPC, Platform Builder, NDIS 4.0/5.0 miniport
model, ACPI, PCI and Plug and Play programming. INF and CoInstaller design and
programming. C, C++ and x86 Assembler language programming. COM, DCOM, and
Activex programming. Kernel mode driver debugging using WinDbg and Softice. Red
Hat Linux 5.2, GNU C programming, customizes kernels, Kernel debugging for Token
Ring network drivers using gdb and kdebug.
|