Primary Capabilities

Firmware and Software Development

I develop firmware in Assembler and C for several microprocessor and microcontroller families on a variety of development platforms, using state-of-the art software and hardware development tools. Listed below are the target devices for which I have developed a substantial amount of code.

Target Device

Architecture

Manufacturer

Microcontroller Family
8-bit
Microchip
16F877
18F452
Motorola
68HC11
Intel...
8051
16-bit

Intel

x86 (real mode)
32-bit
Intel
Pentium
Texas Instruments
TMS320C6000
64-bit
Intel
Pentium/MMX

 

Tools

A wide variety of software development tools exist for all the above target processors. I typically use one or more of the following tools on each project.

 
Notation
Implementations
Low Level
Assembler
Microchip MPASM, Microsoft MASM and equivalents, and Motorola ASxx.
Mid Level
C
Microchip C18, Borland, TI Code Composer Studio
High Level
C++
Microsoft Visual C++, Gnu/GCC

 

Analysis and Simulation

Physical real-time systems (such as filtering systems motion control systems) often contain dynamics which must be analyzed to prevent undesirable behavior such as overshoot and oscillation. Many tools are available for this purpose. I use Matlab, which is generally recognized as one of the most powerful commercially available simulation and analysis tools.

 

Algorithm Development and Coding

Successful algorithms and code written for previous clients include:

 

Hardware Development

Although my main interest involves firmware and software development, I develop hardware when cost-effective COTS (commercial, off the shelf) or proprietary hardware does not exist to support these efforts. I have developed hardware systems based on Intel (8096, 8051), and Microchip (16F877, 18F452) microcontrollers.