Osobiście używam wersji 1.5.5 i usbasp działa prawidłowo.
postaram się opisać pokrótce jak to wygląda to u mnie... co prawda na atmega128 ale zasada jest taka sama i dla innych procesorów (testowane na atmega644 i 1284) i sądzę, iż zadziała na innych też...
po pierwsze do pliku programmers.txt musi być dodany programator usbasp
Kod:
usbasp.name=USBasp
usbasp.communication=usb
usbasp.protocol=usbasp
usbasp.program.protocol=usbasp
usbasp.program.tool=avrdude
usbasp.program.extra_params=-Pusb
po drugie do pliku platform.txt dodałem sekcję odpowiedzialną za usbasp
Kod:
###############
# USBASP
###############
tools.avrdude_usbasp.cmd.path={runtime.ide.path}/hardware/tools/avr/bin/avrdude
tools.avrdude_usbasp.config.path={runtime.ide.path}/hardware/tools/avr/etc/avrdude.conf
tools.avrdude_usbasp.cmd.path.linux={runtime.ide.path}/hardware/tools/avrdude
tools.avrdude_usbasp.config.path.linux={runtime.ide.path}/hardware/tools/avrdude.conf
tools.avrdude_usbasp.upload.params.verbose=-v -v -v -v
tools.avrdude_usbasp.upload.params.quiet=-q -q
tools.avrdude_usbasp.upload.pattern="{cmd.path}" "-C{config.path}" {upload.verbose} -p{build.mcu} -c{upload.protocol} "-Uflash:w:{build.path}/{build.project_name}.hex:i"
tools.avrdude_usbasp.program.params.verbose=-v -v -v -v
tools.avrdude_usbasp.program.params.quiet=-q -q
tools.avrdude_usbasp.program.pattern="{cmd.path}" "-C{config.path}" {program.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{build.path}/{build.project_name}.hex:i"
tools.avrdude_usbasp.erase.params.verbose=-v -v -v -v
tools.avrdude_usbasp.erase.params.quiet=-q -q
tools.avrdude_usbasp.erase.pattern="{cmd.path}" "-C{config.path}" {erase.verbose} -p{build.mcu} -c{protocol} {program.extra_params} -e -Ulock:w:{bootloader.unlock_bits}:m -Uefuse:w:{bootloader.extended_fuses}:m -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:m
tools.avrdude_usbasp.bootloader.params.verbose=-v -v -v -v
tools.avrdude_usbasp.bootloader.params.quiet=-q -q
tools.avrdude_usbasp.bootloader.pattern="{cmd.path}" "-C{config.path}" {bootloader.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{runtime.ide.path}/hardware/{build.core}/avr/bootloaders/{bootloader.file}:i" -Ulock:w:{bootloader.lock_bits}:m
następnie w pliku boards.txt modyfikujemy następujące parametry ".upload.tool" i zamiast standardowo avrdude zmieniamy na avrdude_usbasp oraz parametr ".upload.protocol" zmieniamy na usbasp i od tego momentu mamy możliwość wgrywania poprzez usbasp bezpośrednio z arduinoide i nie musimy ustawiać portu com chyba, że chcemy korzystać z terminala to wtedy jest to konieczne.
przykładowy plik boards.txt dla atmega128
Kod:
# See: http://code.google.com/p/arduino/wiki/Platforms
menu.cpu=Processor
###############################################################
arduinomega128.name=ATmega 128
arduinomega128.upload.speed=57600
arduinomega128.bootloader.tool=avrdude
arduinomega128.bootloader.unlock_bits=0x3F
arduinomega128.bootloader.lock_bits=0x0F
arduinomega128.build.board=AVR_ATmega128
arduinomega128.build.core=arduino
arduinomega128.build.variant=arduinomega128
arduinomega128.build.f_cpu=16000000L
## Atmega128@16M,5V FTDI)
## --------------------------------
arduinomega128.menu.cpu.mega128ftdi=ATmega128 FTDI
arduinomega128.menu.cpu.mega128ftdi.upload.tool=avrdude
arduinomega128.menu.cpu.mega128ftdi.upload.protocol=arduino
arduinomega128.menu.cpu.mega128ftdi.upload.maximum_size=126976
arduinomega128.menu.cpu.mega128ftdi.upload.maximum_data_size=4096
arduinomega128.menu.cpu.mega128ftdi.bootloader.low_fuses=0xFF
arduinomega128.menu.cpu.mega128ftdi.bootloader.high_fuses=0xDA
arduinomega128.menu.cpu.mega128ftdi.bootloader.extended_fuses=0xFF
arduinomega128.menu.cpu.mega128ftdi.bootloader.file=atmega\ATmegaBOOT_168_atmega128.hex
arduinomega128.menu.cpu.mega128ftdi.build.mcu=atmega128
##(Atmega128@16M,5V USBASP)
## --------------------------------
arduinomega128.menu.cpu.mega128usbasp=ATmega128 USBASP
arduinomega128.menu.cpu.mega128usbasp.upload.tool=avrdude_usbasp
arduinomega128.menu.cpu.mega128usbasp.upload.protocol=usbasp
arduinomega128.menu.cpu.mega128usbasp.upload.maximum_size=131072
arduinomega128.menu.cpu.mega128usbasp.upload.maximum_data_size=4096
arduinomega128.menu.cpu.mega128usbasp.bootloader.low_fuses=0xFF
arduinomega128.menu.cpu.mega128usbasp.bootloader.high_fuses=0xD9
arduinomega128.menu.cpu.mega128usbasp.bootloader.extended_fuses=0xFD
arduinomega128.menu.cpu.mega128usbasp.bootloader.file=atmega\ATmegaBOOT_168_atmega128.hex
arduinomega128.menu.cpu.mega128usbasp.build.mcu=atmega128
pozdrawiam