Tips 1: Jag hade till en början problem med behörigheterna på AVRisp mkII under Ubuntu 9.04 64-bit, och löste det med enkla udev-regler. Första försöket var lite klumpigt, kom jag på i efterhand, och jag tog fram en bättre lösning.
Senaste lösningen: Improved udev rules for mcu programmers and usb serial adapters
Bakgrundsinformation: AVRISP MkII, permission problems with avrdude and Ubuntu 9.04 amd64
Själva udev-regeln för AVRisp mkII respektive PicKit II:
Kod: Markera allt
SYSFS{idVendor}==”03eb”, SYSFS{idProduct}==”2104″, MODE=”0660″, GROUP=”plugdev”, SYMLINK+=”avrispmkII-%n”
SYSFS{idVendor}==”04d8″, SYSFS{idProduct}==”0033″, MODE=”0660″, GROUP=”plugdev”, SYMLINK+=”pickit2-%n”
Symlink är inte nödvändig för att det skall fungera, men jag kan lätt se vad som är inkopplat. Läs gärna hela mina texter för att se hur jag gjort, det var lite
trial and horror för att komma fram till en vettig lösning.
Jag har också använt liknande teknik för att hålla koll på och skapa mer beskrivande symlink:s till alla olika USB till serie-adaptrar (FTDI etc), vilket jag också beskriver på dessa sidor.
Tips 2: Vad gäller
avrdude rekommenderar jag att man skapar filen
~/.avrduderc
Kod: Markera allt
default_programmer = "avrispmkII";
default_parallel = "usb";
för att slippa ange programmerare varje gång (förutsatt att man använder en och samma typ för det mesta). Jag har inte testat att sätta USB-port som default på detta sätt, men det lär skall fungera. Direktiven i denna fil anger defaultvärden för kommandoradens
-c och
-P. Läs mer i man-sidan,
pdf-dokumentationen eller på
http://www.nongnu.org/avrdude/.
Tips 3: (Någonstans har jag läst en rekommendation att använda det längre namnet på resp µC, t.ex.
attiny2313 istället för
t2313, när man anger vad man vill programmera för krets. Jag minns ej motivering, men det fungerar bra. Man minskar ju risken att råka skriva
2313 som i själva verket betyder
AT90S2313.)
Bonustips: Använd
http://www.engbedded.com/fusecalc/ för att räkna ut fuse-värden för AVR.
Nyckelord (för forum-sökning): linux, ubuntu, udev rules, udevadm, udevinfo
Felmeddelande, behörighet: avrdude: usb_open(): cannot read serial number "error sending control message: Operation not permitted"