Thanks Charles,
I appreciate the info. I've been meaning to download the SDCC package and give it a try. It's always nice to have an open source option, especially when you're in a pinch.
BigDog
I agree. I am most grateful for open source projects such as: sdcc, srecord, avrdude, usbasp, v-usb, libusb, and winavr.
Have you used SDCC with any other MCUs besides the AT89S52?
BigDog
I have not personally, but I know that several other targets are supported including pic14devices - 14 bit 16Fxxx / 16Cxxx / 12Fxxx series and pic16devices. There are a few others as well.
For AVR targets I use WinAVR.
For programming over USB I use an ATMEGA8 to program the AT89S52. I use this circuit (USBASP):
USB 8051/AVR programmer - Free 8051 Microcontroller projects
which I use with the app, AVRDUDE:
AVR Downloader/UploaDEr - Summary [Savannah]
For PC Parallel Port programming, I use this cable:
**broken link removed**
which is the same as the AEC_ISP pinout which also works with AVRDUDE, you just have to add the AEC_ISP pinout to the avrdude.conf.
The software I use for parallel port programming is ISPProg 1.2.0.55:
ISP Programmer | Adam's Site
I have successfully programmed AT89S52s and ATMEGA8s with ISPProg as well as brought back to life an ATMEGA8 whose fuses were programmed improperly. (this required my external PWM at 16KHz). I have found ISPProg to be very reliable.
Lastly, I program the external flash SST39SF010A via serial uart via the AT89S52. I am currently working on my own serial interface parallel programmer for programming a few of the external flash chips that I have. (SST39SF010A and AM29F010)
My next project will be to modify one of the boilerplates from:
V-USB - A Firmware-Only USB Driver for Atmel AVR Microcontrollers
to program the external flash chips via USB 1.1.
The final programmer will be able to program using an ATMEGA8 running V-USB to Atmel chips such as the AT89S52s ISP, PC Parallel Port to Atmel ISP, and finally ATMEGA8 running V-USB to the UART of the AT89S52 to external flash. The USB 1.1 programming seems a bit slower than direct PC parallel port, but its cool to be able to accomplish this much using open source software.
Charles