Questions: FDTI vs. Serial Programming

I've just acquired a USBasp programmer, and since I've never been able to find a good comparison of the FDTI vs. serial technologies, I have a few questions.

  1. If I use USBasp on an ATmel chip which already has a bootloader, I assume it will overwrite the bootloader; correct or not?

  2. Assuming that FDTI overwrites the bootloader, can I then at some future time reinstall the bootloader using the USBasp device?

  3. About how much EEPROM does the bootloader deduct from the program space?

  4. The Arduino environment shows USBasp support for programming. Does it already contain the drivers, or do I need to download them?

Thanks in advance for any help with these issues.

John Doner

jrdoner:

  1. If I use USBasp on an ATmel chip which already has a bootloader, I assume it will overwrite the bootloader; correct or not?

  2. Assuming that FDTI overwrites the bootloader, can I then at some future time reinstall the bootloader using the USBasp device?

  3. About how much EEPROM does the bootloader deduct from the program space?

  4. The Arduino environment shows USBasp support for programming. Does it already contain the drivers, or do I need to download them?

  1. Yes
  2. Yes
  3. Depends on the bootloader, anywhere from 0.5K (newer ones) to 2K (older ones)
  4. It just works.
  1. Assuming that FDTI overwrites the bootloader, can I then at some future time reinstall the bootloader using the USBasp device?

  2. About how much EEPROM does the bootloader deduct from the program space?

This sounds a little confusing to me. The FTDI chips on the Arduino boards, as well as
the FTDI Cables and FTDI Friends that some of us use, in lieu of having the FTDI chip
on the board, do NOT overwrite the bootloader. They use the bootloader to install
the sketch in Flash.

Also, I believe the bootloader resides in Flash, not EEPROM.

The FTDI & other USB/Serial adapters can not change the bootloader, that must be done using an AVR programmer connected to the ICSP header (SPI pins + Reset, +5, Gnd).

Bootloader is in Flash, not EEPROM. There is a fuse bit that lets an AVR programmer manipulate it. Not erase, erase, download other contents.
Fuse details can be found here, and in the uC datasheet.
http://www.engbedded.com/fusecalc

avrdude: warning: cannot set sck period. please check for usbasp firmware update.

avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: verification error, first mismatch at byte 0x1e000
         0xff != 0x0d
avrdude: verification error; content mismatch

I use a usbaps to burn the bootloader with 1.04...
I got the same problem...
Is there e a solution please.....

oric_dan:
This sounds a little confusing to me. The FTDI chips on the Arduino boards, as well as
the FTDI Cables and FTDI Friends that some of us use, in lieu of having the FTDI chip
on the board, do NOT overwrite the bootloader. They use the bootloader to install
the sketch in Flash.

Oh, brain fart. I was thinking of ISP.

You're right, FTDI can't overwrite anything.