8051

The 8051 ("MCS-51") is an 8 bit microcontroller architecture introduced by Intel back in the 70's. I don't know whether to laugh or cry that I'm still programming 8051 assembly.   Actually, I'm now using SDCC much more, although I still write interrupt code with assembly.  It's just so much easier to organize and read code with something approching C.
                                                               
Dynalink Logo
Creative Electronic Solutions


Unlike some (any?) other 8 bit micros, 8051/2 compatible processors are made by several different companies. Assemblers, compilers, debuggers, etc, etc, have been around forever.

About a year ago, I came across the Analog Devices version... they include good A-D converters in the part, and really sell the part as a A-D which includes a uC, not the other way around. In fact, many companies are starting to do this. ADI supplies a demo board and downloading software, all for use with Windows hosted systems.

Analog Device's ADuC processor is in-system programmable using only its on-board UART. This is good... you can program it using only a serial port. I started with Mark Hopkins' CAS assembler, now I use SDCC and and "make" to automate building 8051 code, using Linux as a host system. To make use of the ADuC's in-system programmability, I wrote a small utility that talks to the chips download protocol. Karl Hiramoto added control capability of Reset and Dload over serial control lines in v0.3. If you're interested, here's the code:


aducprog-0.3.tar.gz
aducprog-0.2.tar.gz
 aducprog is released under the GNU public license.  At present, aducprog only programs ADI's parts. I might be willing to target this at other manufacturer's UART downloadable ISP uCs as well (and change the name,) or if you want to, go for it.


I am also now programming the Cypress EZUSB2131.  Slick part.  Firmware downloads right over the USB, with an application called fxload.  Then your  code takes over.  It's totally a RAM part, so there's no worrying about flash memory issues.   It also self powers off the USB.