Craig Nadler
Nadler Consulting Services, LLC
Nashua, New Hampshire, U.S.A.
mailto:craig@nadler.us
SUMMARY:
The main focus of my work for the past 17 years has been in Linux, device drivers, and embedded software. My specialty is USB in embedded systems, this includes software stacks, controller drivers, and debugging.
TECHNOLOGIES:
Programming Languages and Libraries: C/C++ BASH QT libusb-1.0
Operating Systems: Linux RTOS MS-Windows ThreadX Integrity OS
Hardware Architectures: PowerPC MIPS X86 68K/Coldfire ARM ARC 8051
Revision Control Systems / Bug Tracking Systems: SubVersion CVS RCS Perforce AccuRev Gnats Bugzilla
IO Interfaces / Buses: USB IEEE-1284 RS-232 RS-422
Hardware Analyzers / Debuggers: USB Analyzers JTAG Probes Logic Analyzere
EXPERIENCE:
2011-Present
Nadler Consulting Services, LLC, Nashua, NH
- Wrote firmware for the Silicon Labs C8051F340 microcontroller using the SDCC compiler on Linux.
- Wrote frimware for the Cypress FX2 USB controller with a High Bandwidth Isochronous endpoint.
- Developed a GUI application with QT on Linux to access 8051 firmware using libusb-1.0.
2008-2011
DRS, Inc., Merrimack, NH
Principle Software Engineer
- Developed Linux Kernel Drivers for Ethernet, VME, and FPGAs.
- Designed Linux Build Systems for Embedded Systems.
- Developed User Space Applications and Libraries to control access to hardware.
2006-2008
Nadler Consulting Services, Inc., Nashua, NH
Clients:
- 3M Touch Systems Methuen,MA Duration: 4 months
- Developed an automated test system using the National Instruments LabWindows/CVI tools.
- Designed a User Interface to be intuitive and easily modified for future extensions.
- Developed a state machine to verify the USB traffic between PC and controller.
- Exbiblio, Inc. Seattle, WA Duration: 10 hours
- Evaluated an issue with their USB Host Controller and found a solution.
- RSA, Inc., The Security Division of EMC Bedford, MA Duration: 10 hours
- Evaluated a problem in the USB part of an automated robotic testing system for USB devices and found a solution.
- Motorola, Inc. Boxborough,MA Duration: 6 months
- Developed an updated build system for a video-on-demand server based on Wind River Linux.
- Ported Linux drivers and pmppc440 board support package.
- DegreeC / Degree Controls, Inc. Milford, NH Duration: 20 hours
- Evaluated a 36-port USB hub, USB sensors, and host software. Found a problem with the transaction translators in the hub and wrote a detailed test report with recommendations on how to proceed.
- L&L Engineering Inc. Lee, NH Duration: 34.5 hours
- Modified the firmware on a PIC to appear as a Communications Class device on USB.
- @Road Inc. Fremont, CA Duration: 102.5 hours
- Debugged problems with a USB OHCI controller on a prototype GPS receiver board.
- Sigmatel Inc. Waltham, MA Duration: 12 months
- Designed and implemented: a stack to operate the USB host ports on a printer controller, a USB host stack, a low level USB host controller driver, and a hub class driver.
- Linux Contribution Projects
- Added support for USB Interface Association Descriptors to the Linux kernel.
- Added a USB Peripheral Class driver for the printer class to the Linux kernel.
- Developed a patch to add support for the USB Hi-Speed Host Electrical Tests in Linux.
2004-2005
TransDimension Inc. / ARC International Inc., Nashua, NH
Senior Software Engineer
- Developed software for USB host, peripheral, and OTG controllers.
- Worked with the Linux EHCI maintainer on code changes in the Linux kernel.
- Submitted code changes th8051at were merged into the Linux kernel.
- Worked with hardware designers to identify and fix bugs.
1997-2003
Motorola Inc., / WaveMark Technologies, Inc. Burlington, MA
Software Engineer
- Developed firmware for embedded printer controllers based on both RTOS and Linux.
- Developed several USB and IEEE-1284 peripheral controller drivers.
- Developed firmware to verify the USB and IEEE-1284 ports on embedded controllers.
- Checked USB and IEEE-1284 bus traffic for compliance to published standards.
- Worked with hardware designers to identify and fix bugs.
- Handled PC and network administration for an office of 20 people.
1996-1997
AutoLogic Information International Inc., Burlington, MA
Software Engineer
- Developed software for the newspaper pre-press industry.
- Used C/C++ on Solaris, SunOS, and Linux.
1995-1996
C-Grams Inc., Kingston, NH
Software Engineer
- Developed monitor and control systems for satellite ground stations.
- Used C on SCO UNIX, Linux, and LynxOS.
EDUCATION:
SUNY Institute of Technology at Utica/Rome Utica, NY 1993 – 1994
Bachelor of Science, Computer Information Systems, Dec. 1994
Hudson Valley Community College Troy, NY 1991 – 1993
A.A.S., Computer Information Systems, May 1993
Copyright 2011 Craig W. Nadler All rights reserved.