USBasp programátor je možné sestavit pomocí návodů např. na stránkách USBasp.
Po sestavení je třeba MCU naprogramovat. Zde uváděný popis bude používat Arduino UNO.
V USBasp bude jako MCU použit čip ATmega8.
Nejprve je třeba nahrát do arduina kód „ArduinoISP“ (File->Examples->ArduinoISP). Tím se z arduina stane programátor.
Propojíme arduino s USBasp programátorem:
ATmega 328 DIP | ATmega 328 TQFP | ATmega 1280/2560 TQFP | Arduino UNO | Arduino MEGA | USBasp | ||
SCK | 19 | 17 | 20 | 13 | 52 | <=> | 7 |
MISO | 18 | 16 | 22 | 12 | 50 | <=> | 9 |
MOSI | 17 | 15 | 21 | 11 | 51 | <=> | 1 |
RST | 1 | 29 | 19 | 10 | 53 | <=> | 5 |
GND | 8, 22 | 3, 5, 21 | 11, 32, 62, 81, 99 | GND | GND | <=> | 4, 6, 8, 10 |
VCC | 7, 20 | 4, 6, 18 | 10, 31, 61, 80, 100 | 5V | 5V | <=> | 2 |
A nakonec přepneme jumperem USBasp do režimu „SELF PROGRAMMING“.
Dále je třeba stáhnout nejnovější firmware pro USBasp a vyextrahovat HEX soubor s firmwarem pro daný typ MCU (např. /usbasp.2011-05-28.tar/usbasp.2011-05-28/bin/firmware/usbasp.atmega8.2011-05-28.hex pro ATmega8).
Nahrání firmwaru do USBasp provedeme pomocí programu avrdude, který se obvykle nachází v instalaci arduina (<ARDUINO>/hardware/tools/avr/bin/). Dále bude třeba konfigurační soubor pro avrdude, který se nachází také v instalaci arduina (<ARDUINO>/hardware/tools/avr/etc/).
Spustíme příkazový řádek, přejdeme do adresáře, kde se nachází program avrdude a nastavíme pojistky příkazem:
avrdude -c avrisp -P COM1 -b 19200 -p m8 -C "../etc/avrdude.conf" -u -U hfuse:w:0xc9:m -U lfuse:w:0xef:m
,kde parametrem avrisp dáme najevo, že používáme ArduinoISP, parametrem COM1 kde máme připojeno arduino, parameter m8, že použijeme konfiguraci pro ATmega8.
V příkazovém řádku spustíme příkaz pro nahrání firmwaru do USBasp:
avrdude -c avrisp -P COM1 -b 19200 -p m8 -C "../etc/avrdude.conf" -U flash:w:FIRMWARE.hex:i
,kde FIRMWARE.hex nahradíme za název souboru (např. usbasp.atmega8.2011-05-28.hex).
Po rozpojení jumperu „SELF PROGRAMMING“, připojení k počítači je třeba případně doinstalovat i ovladače pro OS Windows.
V Arduino IDE se pak nastaví jako programátor USBasp a od tohoto okamžiku je možno programovat jakékoliv AVR ze seznamu „Board“.
Odkazy
USBasp
Výpočet pojistek
Programujeme jednočipy
Arduino jako AVR programátor
USBasp zapojení konektoru
ATmega328 DIP vývody
ATmega328 TQFP vývody
ATmega2560 TQFP vývody
Soubory