Jste zde

USBasp programátor AVR

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.
 

Postup

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

Soubory: