cgchas
Member level 3
I have built the circuit from here using an ATMEGA8 avr:
USB 8051/AVR programmer - Free 8051 Microcontroller projects
The fuse bits are properly set. (hfuse is 0xc9, lfuse is 0xef)
I have loaded the USBasp driver (windows xp) and the programmer is detected successfully.
I have tried numerous libusb drivers. They all seem to work the same with regards to this issue.
I can program the flash memory of a previously erased AT89S52 successfully.
I can verify the flash memory of the AT89S52.
What I can not do with USBAsp is erase the AT89S52.
I have tried with Avrdude as well as ProgISP. All functions aside from erase work as expected.
I can erase the AT89S52 using a parallel port programmer with no problems so I know the chip is good.
I know that USBasp is failing to erase because when I read back from the flash into the buffer after an erase command, the program is still there, but if I erase using the parallel programmer, the flash is set to all F's.
I get no errors from Avrdude when erasing yet a proper erase does not occur.
I get no errors from ProgISP when erasing, but it does fail the blank check.
What can cause everything to work with USBasp except for AT89S52 chip erase?
Charles
---------- Post added at 15:28 ---------- Previous post was at 13:59 ----------
ProgISP is unusable for me however because the delay does not seem to be long enough to actually cause the erase to work.
So it seems that the circuit at least works.
Does anybody know if the latest usbasp firmware (version 2009-02-28) can program the AT89S52 using the ATMEGA8 programmer?
When I try it, avrdude does not see the AT89S52 target.
2006-12-29 version seems to work, but when I use it with the latest avrdude, I get this warning:
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
Any help is greatly appreciated.
Charles
USB 8051/AVR programmer - Free 8051 Microcontroller projects
The fuse bits are properly set. (hfuse is 0xc9, lfuse is 0xef)
I have loaded the USBasp driver (windows xp) and the programmer is detected successfully.
I have tried numerous libusb drivers. They all seem to work the same with regards to this issue.
I can program the flash memory of a previously erased AT89S52 successfully.
I can verify the flash memory of the AT89S52.
What I can not do with USBAsp is erase the AT89S52.
I have tried with Avrdude as well as ProgISP. All functions aside from erase work as expected.
I can erase the AT89S52 using a parallel port programmer with no problems so I know the chip is good.
I know that USBasp is failing to erase because when I read back from the flash into the buffer after an erase command, the program is still there, but if I erase using the parallel programmer, the flash is set to all F's.
I get no errors from Avrdude when erasing yet a proper erase does not occur.
I get no errors from ProgISP when erasing, but it does fail the blank check.
What can cause everything to work with USBasp except for AT89S52 chip erase?
Charles
---------- Post added at 15:28 ---------- Previous post was at 13:59 ----------
It would seem that increasing the chip_erase_delay from 20000 to 500000 has solved the issue for use with avrdude.I get no errors from Avrdude when erasing yet a proper erase does not occur.
ProgISP is unusable for me however because the delay does not seem to be long enough to actually cause the erase to work.
So it seems that the circuit at least works.
Does anybody know if the latest usbasp firmware (version 2009-02-28) can program the AT89S52 using the ATMEGA8 programmer?
When I try it, avrdude does not see the AT89S52 target.
2006-12-29 version seems to work, but when I use it with the latest avrdude, I get this warning:
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
Any help is greatly appreciated.
Charles