Hallo zusammen,
ich steige für meine AVR-Entwicklungen gerade von AtmelStudio auf
Eclipse um. Die Installation und Konfiguration von Eclipse ist nahezu
abgeschlossen, jedoch gestaltet sich der Zugriff auf das Target (in
meinem Fall ein ATmega162 über AVR-Dragon JTAG und USB)
problematisch.
SITUATION
Installiert und aktiviert ist für den USB, an dem der AVR-Dragon
hängt, der aktuelle Treiber libusb-win32 (v1.2.6). Der Zugriff z.B.
zum Auslesen der Statuswerte funktioniert über den DOS-Prompt wunderbar:
1 | avrdude -pm162 -cdragon_jtag -Pusb -v
|
Allerdings macht Eclipse beim Zugriff auf die Hardware (für mich)
nicht nachvollziehbare Sachen: Wenn ich in den Projekteinstellungen
unter "AVR / Target Hardware" den Button "Load from MCU" betätige, wird
der CPU-Typ korrekt und automatisch mit folgender Konsolen-Ausgabe
ausgelesen:
1 | Launching C:\PROGS\WinAVR-20100110\bin\avrdude -cdragon_jtag -Pusb -pm162
|
2 | Output:
|
3 |
|
4 | avrdude: AVR device initialized and ready to accept instructions
|
5 |
|
6 | Reading | ################################################## | 100% 0.00s
|
7 |
|
8 | avrdude: Device signature = 0x1e9404
|
9 |
|
10 | avrdude done. Thank you.
|
11 |
|
12 | avrdude finished
|
PROBLEM
Wenn ich aber nun z.B. über "AVR / AVRDude" die Fuse-Bits auslesen
möchte, erscheint folgende Ausgabe:
1 | Launching C:\PROGS\WinAVR-20100110\bin\avrdude -cdragon_jtag -Pusb -pm162
|
2 | Output:
|
3 |
|
4 | avrdude: AVR device initialized and ready to accept instructions
|
5 |
|
6 | Reading | ################################################## | 100% 0.00s
|
7 |
|
8 | avrdude: Device signature = 0x1e9404
|
9 |
|
10 | avrdude done. Thank you.
|
11 |
|
12 | avrdude finished
|
13 |
|
14 |
|
15 | Launching C:\PROGS\WinAVR-20100110\bin\avrdude -cdragon_jtag -Pusb -pm162 "-Ulfuse:r:C:\Users\...\AppData\Local\Temp\fuse0.hex:h" "-Uhfuse:r:C:\Users\...\AppData\Local\Temp\fuse1.hex:h" "-Uefuse:r:C:\Users\...\AppData\Local\Temp\fuse2.hex:h"
|
16 | Output:
|
17 | avrdude: usbdev_open(): did not find any USB device "usb"
|
18 | avrdude execution aborted
|
Es wird also zweimal auf die Schnittstelle zugegriffen und obwohl die
Parameter passen, beim zweitenmal eine Fehlermeldung generiert. Diese
besagt, dass das USB-Gerät (auf das einige Millisekunden vorher noch
erfolgreich zugegriffen wurde) nun nicht mehr gefunden wird.
Hat jemand eine Idee, woran das liegen könnte und was dagegen zu tun
wäre?
Vielen Dank.
Peter