5050 Donald Street
Eugene, Oregon 97405
541-485-7264 rick at efn dot org
A consulting position which will combine my interest in software engineering and enthusiasm for working with people.
Michigan State University. BS
Electrical Engineering
Wichita State University.
Attended in pursuit of MS Electrical Engineering
Fluent in C and many types of assembly programming including ARM, 80X86, 680X0, Sparc, PIC. Moderately good at Perl and Lisp. Some exposure to Java, C++, and Html.
Client/Server development using UNIX, X-windows on Linux and Sun workstations with GDB debugger and CVS/RCS. Proficient with Linux device drivers and Solaris STREAMS device drivers, and MS Windows NT device drivers. Real time systems programming utilizing Real Time Linux (both RTAI and RTLinux), Solaris, Lynx real time UNIX OS and JMI real time executive on embedded products. BDI-2000 (ppc), HP64700 (680X0), Nohau (8051), and Huntsville emulators.
Ported Linux to the Atmel (ARM 920T based) AT91RM9200. Wrote and tested several custom Linux drivers for a medical monitor. Developed a zero-copy high speed serial driver. Wrote test programs to test drivers. Authored Design Requirement Specification and Design Verification Procedure documents for Linux drivers.
Wrote processor recommendations based on a set of requirements for a custom PCI bus interface board. Make recommendations on an iMX51 hardware design. Set up Linux software development environment for iMX51 Freescale processor at customers site. Build a Ubuntu Linux install CD with all iMX51 Freescale build and debug tools resident. Wrote documentation for install CD.
Wrote and tested several custom Linux drivers for a thin client running an Atmel AT91SAM9G20. Drivers written or modified include RS495 serial, video, and Ethernet. Implemented many u-boot changes. Wrote test programs to test drivers.
Helped in hardware design for a PIC16F877 interface processor that sits between a Nellcor MP-414 system and Marquette's TRAM. Wrote all the software that implements protocol conversion to and from each of the two systems.
Helped get Linux running on a ARM Netwinder embedded product used in crash test dummies. Facilitate remote debugging and porting of application to Linux.
Converted Xfree86 (under Linux) to run a multi-headed display using both a Cirrus CLGD 5465 and Marquette's designed frame buffer card. Selected a grahics display controller to replace proprietary hardware used to pan patient waveforms on a bedside monitor. Evaluated the following manufacturers: S3, Chips, Nvidia, Pyramid 3D, Silicon Motion, 3D Labs/TI, Trident, Tritech, Tseng, and Number Nine. Using Linux, wrote real time driver to pan waveforms in windows on the screen for the following chips: Tseng Labs ET6000, S3 Virge GX2, Chips 69000 & 69030, 3D Labs, Permedia II, Cirrus CLGD 5465. Ported this driver to a Power PC environment.
Available upon request.