Do nedavna jsem pouzival programator STK-200 na paralelni port. Byl levny a jednoduchy, ale byl na paralelni port, ktery uz se dnes temer nevyskytuje. Delka dratu, se kterou mi programator fungoval byla jenom asi 30cm. Hledal jsem levnou nahradu na USB a skoncil jsem USBtinyISP.
Na eBay se da koupit do 200 Kc, pripadne se da i doma postavit, pokud by nekdo mel zajem (nevyplati se to). USBTinyISP umi pracovat s cipy do 64kB flash. Na Arduino Mega desku s ATmega260 tak nelze pouzit.
Moje cinska verze ma 2 ISP konektory, 2×5 a 2×3 piny. 2×3 piny pouziva napr. oficialni Arduino deska. V balicku byla deska s programtorem a 2 ploche kabely (2×5 a 2×3).
Zapojeni 2 konektoru na desce programatoru je nasledujici:
na pripojeni k atmelu je potreba 6 dratu: MISO, MOSI, SCK, RESET, +5V, GND.
Takhle to pak vypada:
je dobre udelat si jednoduchy plosny spoj s patici na procesor.
Pokud ma atmel, ktery budeme programovat pomoci pojistek nastaven externi krystal, musime ho pripojit. Bez nej to nebude fungovat!
USBtinyISP programator nepotrebuje v Linuxu zadne ovladace (zkousel jsem ho v Ubuntu 12.10), Windowsaci si budou muset ovladac vygooglit.
Takhle se identifikuje po pripoojeni:
root@martin:/tmp/avr# dmesg
...
[ 2682.406995] usb 2-1.3.4: new low-speed USB device number 6 using ehci_hcd
[ 2682.504439] usb 2-1.3.4: New USB device found, idVendor=1781, idProduct=0c9f
[ 2682.504450] usb 2-1.3.4: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 2682.504457] usb 2-1.3.4: Product: USBtiny
root@martin:/tmp/avr# lsusb
...
Bus 002 Device 007: ID 1781:0c9f Multiple Vendors USBtiny
V /dev se zadny seriovy port nevytvori, protoze usbtinyisp pouziva svuj vlastni usb protokol.
Na programovani je nejlepsi program avrdude. Avrdude je nutne pouzivat pod rootem, jinak si nepovida s pripojenym procesorem! Vsechny jeho parametry jsiou vyborne popsany v manualu (man avrdude), proto uvedu jen nekolik ukazek:
Bez dalsich parametru jen vypise informace.root@martin:/tmp/avr# avrdude -c usbtiny -p m8
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9307
avrdude: safemode: Fuses OK
avrdude done. Thank you.
-c – pouzity typ programtoru, -p model procesoru (zde atmega8)
root@martin:/tmp/avr# avrdude -c usbtiny -p m8 -U flash:r:flash.hex:i
root@martin:/tmp/avr# avrdude -p m8 -c usbtiny -U lfuse:w:0xa4:m -U hfuse:w:0xcc:m -U flash:w:program.hex
root@martin:/tmp/avr# avrdude -p m8 -c usbtiny -U flash:w:program.hex
Pouzite zdroje: