Forum: Mikrocontroller und Digitale Elektronik avrdude mit FT2232D, FT2232H, FT4232 (-c avrftdi -P usb), Problem mit libusb (Win7)


von Fortgeschrittener (Gast)


Lesenswert?

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.

von Jim M. (turboj)


Lesenswert?

Fortgeschrittener schrieb:
> Reicht das oder muss ich diese noch irgendwie registrieren?
> Wann ja, wie geht das?

Mit Zadig (http://zadig.akeo.ie/) den Libusb-win32 Treiber installieren.
Ohne den wird nix tun.

Müsste dann auch mit neueren Avrdude Kompilaten arbeiten.

von Fortgeschrittener (Gast)


Angehängte Dateien:

Lesenswert?

Oleg hat hier geschrieben, dass er es geschafft hat:
http://lists.gnu.org/archive/html/avrdude-dev/2016-09/msg00003.html

Heute hat er mir die Version geschickt, die auf Anhieb funktioniert.
Sehr gut und VIELEN DANK!
1
C:\eigen\atmel\avrdude>avrdude -pm328p -c2232HIO -v
2
3
avrdude: Version 6.3-20160220, compiled on Sep 6 2016 at 14:7:22
4
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
5
         Copyright (c) 2007-2014 Joerg Wunsch
6
7
         System wide configuration file is "C:\eigen\atmel\avrdude\avrdude.conf"
8
9
10
         Using Port                    : usb
11
         Using Programmer              : 2232HIO
12
         AVR Part                      : ATmega328P
13
         Chip Erase delay              : 9000 us
14
         PAGEL                         : PD7
15
         BS2                           : PC2
16
         RESET disposition             : dedicated
17
         RETRY pulse                   : SCK
18
         serial program mode           : yes
19
         parallel program mode         : yes
20
         Timeout                       : 200
21
         StabDelay                     : 100
22
         CmdexeDelay                   : 25
23
         SyncLoops                     : 32
24
         ByteDelay                     : 0
25
         PollIndex                     : 3
26
         PollValue                     : 0x53
27
         Memory Detail                 :
28
....
29
         Programmer Type : avrftdi
30
         Description     : FT2232H based generic programmer
31
32
avrdude: AVR device initialized and ready to accept instructions

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.