Po přechodu z jednoho nejmenovaného OS jsem se dostal před problém programování AVR pod Ubuntu (7.04 Fiesty Fawn) a instalování ovladačů pro FTDI chipy, protože na noťasu nemám sériový ani paralelní port. Takže AVR programuji přes USB programátor (AVR ISP MKII), který využívá FTDI konvertoru USB -> Parallel port. Jak na to?
Instalace FTDI ovladačů:1.Přes synaptic se odinstaluje balík brltty (braille device – braille display). Důvod: Když je brltty nainstalován, FTDI čip se 4 sekundy po připojení na USB sám odhlásí.
2.V synapticu se najdou ovladače pro FTDI (libftdi0, ftdi-eeprom), aktuální verze ovladačů které používám jsou 0.2-3 a 0.2-7.
3.Nyní by měla fungovat komunikace s FTDI chipem. Pro kontrolu by měly být vidět informace o FTDI a připojeném zařízení s FTDI čipem pomocí těchto příkazů v terminálu (zařízení připojeno na USB):
a) V seznamu USB zařízení se objeví FTDIlordali@Mousillon:~$
lsusb Bus 001 Device 005: ID 0403:6001 Future Technology Devices International, Ltd 8-bit FIFO
b) Odpojte zařízení v USB a zadejte následující příkaz. Po opětovném připojení zařízení na USB by to mělo nahlásit, že bylo přidáno zařízení na USB sběrnici (ttyUSB0).lordali@Mousillon:~$
lshal --monitor Start monitoring devicelist:
-------------------------------------------------
usb_device_403_6001_noserial added
usb_device_403_6001_noserial_if0 added
usb_device_403_6001_noserial_if0_serial_usb_0 added
usb_device_403_6001_noserial_usbraw added
Po odpojení zařízení z USB zase nahlásí, že bylo zařízení odebráno.usb_device_403_6001_noserial_if0_serial_usb_0 removed
usb_device_403_6001_noserial_if0 removed
usb_device_403_6001_noserial removed
usb_device_403_6001_noserial_usbraw removed
Monitorování sběrnice se ukončí přes Ctrl+C (na nic lepšího jsem nepřišel).c) při problémech s komunikací FTDI se hodí výpis log souborůlordali@Mousillon:~$
tail -f /var/log/messages Příklad není, protože je výpis ohledně připojování a odpojování FTDI dlouhý.Programovací HW a SW pro AVR:Hardware: Na programování AVR používám USB programátor (SPI rozhranní), kompatibilní s protokolem STK500 a AVRISP MKII. Programátor na USB si lze postavit, není to těžké. Schéma, program a instrukce zprovoznění jsou na
www.matwei.de. V anglické verzi je programátor schován v položce Electronics -> USBisp.
Software: Většina lidí je zvyklá na AVR studio z Windows. V Linuxu existuje náhrada a jmenuje se to
KontrollerLab. Tento program lze stáhnout ze stránek
www.cadmaniac.org, kde jsou i podrobnější instrukce k tomu, co to pro programování potřebuje (avrdude, avr-gcc) a popis jak se v programu pracuje. Používám zatím verzi 0.8 a funguje to.
Po spuštění KontrollerLab se ve složce Project zvolí Configure programmer. V záložce Choose programmer se zvolí AVRDUDE. Do kolonky command nic nepíšeme, mělo by tam být jen avrdude.
V poslední záložce AVR DUDE se zaškrtne Specify programmer type na Atmel AVR ISP mkII a ještě se musí nastavit Specify port na Serial port /dev/ttyUSB0 (napíše se port z toho, co nahlásí příkaz lshal --monitor ). Ještě není špatné klapnout na tlačítko Set current setting as default a nastavit si to tak pro další použití jako default. To je vše z nastavení programátoru.
U sebe mám ještě nastaveno Specify JTAG/STK500v2 bit clock period a nastaveno na 5μs (ale možná by to ani nemuselo být nastaveno).
Ve složce Project je ještě Configure project, kde se nastaví typ procesoru podle toho jaký chcete programovat a jiné informace pro program. Funkci programu i HW lze ozkoušet přečtením Fuse bitů z procesoru.
Toť vše.