Forum: Mikrocontroller und Digitale Elektronik JTAGICE_MKII und avrdude


von Immanuel N. (sputnik)


Lesenswert?

Hallo Leute,

Ich habe mal versucht meinen Mega2560 über den JTAGICE_MKII an USB mit 
dem avrdude von WinAVR zu programmieren. Wenn ich das mit dem AVR-Studio 
mache, dann klappt das hervorragend, aber über die Kommandozeile und 
avrdude kriege ich das nicht hin. Ach ja, ich arbeite unter Windows XP.

Hier mal ein Ausschnitt aus einer cmd-Sitzung:
1
avrdude -c jtag2 -p m2560 -P usb -v
2
3
avrdude: Version 5.5, compiled on Dec 19 2007 at 21:17:54
4
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
5
6
         System wide configuration file is "C:\Programme\WinAVR-20071221\bin\avrdude.conf"
7
8
         Using Port            : usb
9
         Using Programmer      : jtag2
10
found 4 busses
11
avrdude: usbdev_open(): did not find any USB device "usb"

Auch wenn ich versuche wie im Manul beschrieben einfach mal alle 
Serialsnummern auszulesen findet er einfach kein Programmer:
1
avrdude -c jtag2 -p m2560 -P usb:xx -v
2
3
avrdude: Version 5.5, compiled on Dec 19 2007 at 21:17:54
4
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
5
6
         System wide configuration file is "C:\Programme\WinAVR-20071221\bin\avrdude.conf"
7
8
         Using Port            : usb:xx
9
         Using Programmer      : jtag2
10
found 4 busses
11
avrdude: usbdev_open(): did not find any (matching) USB device "usb:xx"

Aber wenn ich mit dem Tool TestLibUSB schaue was angeschlossen ist, wird 
mein programmer sehr wohl erkannt:
1
bus-0/\\.\libusb0-0002--0x03eb-0x2103     03EB/2103
2
- Manufacturer : ATMEL
3
- Product      : JTAGICE mkII
4
- Serial Number: 00A00000484C
5
  wTotalLength:         32
6
  bNumInterfaces:       1
7
  bConfigurationValue:  1
8
  iConfiguration:       0
9
  bmAttributes:         80h
10
  MaxPower:             250
11
    bInterfaceNumber:   0
12
    bAlternateSetting:  0
13
    bNumEndpoints:      2
14
    bInterfaceClass:    255
15
    bInterfaceSubClass: 0
16
    bInterfaceProtocol: 0
17
    iInterface:         0
18
      bEndpointAddress: 82h
19
      bmAttributes:     02h
20
      wMaxPacketSize:   64
21
      bInterval:        10
22
      bRefresh:         0
23
      bSynchAddress:    0
24
      bEndpointAddress: 02h
25
      bmAttributes:     02h
26
      wMaxPacketSize:   64
27
      bInterval:        10
28
      bRefresh:         0
29
      bSynchAddress:    0

Hat jemand eine Idee, was ich falsch mache? Dass muss doch 
funktionieren!
Ich bin für jede Hilfe Dankbar!

freundliche Grüsse
Sputnik

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Hast du eventuell mehr als eine libusb0.dll im System?  Ich kenne
mich mit Windows nicht aus, aber das Verhalten kann ich mir nur
so erklären, dass das Debug-Tool etwas anderes benutzt als das
avrdude.  Das Grundgerüst des libusb-Codes im avrdude ist ziemlich
genau vom libusb-Debugtool kopiert.

von Immanuel N. (sputnik)


Lesenswert?

Vielen Dank für die schnelle Antwort.

Also die LibUSB-Win32 wäre dann schon die korrekte Lib, oder an was kann 
ich die erkennen? Wo finde ich diese DLL?

mfg
Sputnik

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

libusb0.dll heißt sie meines Wissens.

Wie gesagt, ich hab' von Windows keine Ahnung.  Ich hab' nur den
entsprechenden Code in avrdude verbrochen. ;-)

von Immanuel N. (sputnik)


Lesenswert?

Hehe, hier alle gefundenen libusb0.dll mit einer Systemdurchsuchung ;-)

C:\Programme\USBprog Flashtool\libusb0.dll
C:\WINDOWS\system32\libusb0.dll
C:\Programme\WinAVR-20071221\bin\libusb0.dll
C:\Programme\Atmel\Flip 3.2.2\usb\libusb0.dll
C:\Programme\WinAVR-20071221\utils\libusb\bin\libusb0.dll

So, das hätten wir, welche der beiden vom WinAVR-Packet ist die richtige 
und wie bringe ich avrdude dazu die zu verwenden?

mfg
Sputnik

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Frag mal jemanden, der sich damit auskennt...  Ich finde das pervers,
wenn du mich fragst.

Ich würde alle außer der im Systemverzeichnis entsorgen.  (Musst sie
ja nicht gleich physisch vernichten. ;-)

von Mehmet K. (mkmk)


Lesenswert?

Jörg hatte das richtige Stichwort.
Auch ich hatte anfaenglich die Fehlermeldung
1
avrdude: usbdev_open(): did not find any USB device "usb"

Ein suchen nach libusb0.dll ergab, dass eine aeltere Version in
...\Avr\WinAvr\bin\libusb0.dll
und
...\Avr\WinAvr\utils\libusb\bin\libusb0.dll
installiert war. Und avrdude griff auf diese zu. Nachdem diese unbenannt 
wurden, funktionierte avrdude einwandfrei.

von Daniel (Gast)


Lesenswert?

Es geht am schönsten, wenn man den libusb0.dll - Treiber sauber
installiert, einfach runterladen, entpacken, .inf-Wizard starten und
schon gibt's einen libusb-win32 devices -Eintrag im Gerätemanager und es
klappt!

http://sourceforge.net/apps/trac/libusb-win32/wiki

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ob ihn das nach drei Jahren wirklich noch interessiert?

von Simon W. (wysi)


Lesenswert?

Die Lösung von Daniel (libusb-win32) funktioniert ab Windows 8 nicht 
mehr (wegen fehlender Treibersignatur). Dann hilft aber die Installation 
des libusb-win32 Treibers mit der Software http://zadig.akeo.ie/.

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.