Ich möchte unter Windoor7 AVRs mit avrdude und einem ARM-USB-TINY-H von
Olimex programmieren.
Das sollte doch nicht so schwer sein. Dachte ich.
Doch seit etlichen Stunden kein Erfolg.
Es gibt viele Threads zum Thema, aber keiner bringt eine Lösung.
Hier z.B. schrieb jemand, es muss gehen:
Beitrag "Re: FT2232 für alles mit JTAG?"
> Avrdude kann auch ISP mit den FT2232 basierten Programmern.
Aber keine Anleitung.
Beitrag "AVR-Programmierung via USB mit FT2232"
Klar ist, dass wir keinen Bitbang-Mode wollen (-c ftbb geht zwar, aber
elend langsam), sondern Multi-Protocol Synchronous Serial Engine
(MPSSE).
Was habe ich gelernt:
Der Adapter von Olimex hat eine eigene VID/PID.
Das EEPROM habe ich mit einem der beiden Programmen FTDIprog und MFTDI
gelöscht. Jetzt ist VID=0403 und PID=6010.
Beim Einstecken wird der FTDI-Treiber geladen.
Man braucht eine spezielle Version von avrdude, bei der libusb mit
eingebunden ist. Die einzige offizielle scheint die gepatchte 5.11 zu
sein:
http://download.savannah.gnu.org/releases/avrdude/
avrdude-5.11-Patch7610-win32.zip
Hier schreibt jemand, ihm sei der Build einer aktuelleren geglückt, er
weiß jedoch nicht, wie er das .exe veröffentlichen kann:
<Link gerade nicht greifbar>
Egal, V5.11 reicht mir.
Wenn ich jetzt
avrdude -p m8 -c avrftdi -P usb -v
eingebe, kommt folgendes:
1 | avrdude: Version 5.11-Patch#7610, compiled on Aug 31 2011 at 08:02:19
|
2 | Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
|
3 | Copyright (c) 2007-2009 Joerg Wunsch
|
4 |
|
5 | System wide configuration file is "C:\atmel\avrdude5.11\avrdude.
|
6 | conf"
|
7 |
|
8 | Using Port : usb
|
9 | Using Programmer : avrftdi
|
10 | avrdude: No devices with Vendor-ID:Product-ID 0403:6010 found.
|
11 |
|
12 | avrdude done. Thank you.
|
Aber im Gerätemanager ist der FTDI als "USB Verbundgerät", "USB Serial
Converter A" und "USB Serial Converter B" unter dieser VID+PID sichtbar.
Treiberdatum Mo. 27.01.2014 Version 2.10.0.0
Fehl da noch eine Verbindung?
Die Dateien usblib0.dll, usblib0.sys, usblib0_x64.dll usblib0_x64.sys
etc. befinden sich im selben Ordner wie avrdude.exe.
Reicht das oder muss ich diese noch irgendwie registrieren?
Wann ja, wie geht das?
Im Gerätemanager gibt es noch ein Häkchen bei Erweitert:
- VCP laden (das ist angekreuzt, muss es ausgeschaltet werden?)
- Enable Selective Suspend (ist auf 5 ms eingestellt)
testlibusb.exe bringt:
Dev #0: 0000 - 0000
testlibusb-win.exe bringt
DLL version: 0.1.12.1
Driver version: -1.-1.-1.-1
bus/device idVendor/idProduct
Ist es besser, mit libftdi zu arbeiten?
Wer hilft mir bitte?
Das Problem scheinen recht viele User zu haben.