Hallo, ich versuche gerade meinen Programmer unter ArchLinux mit Eclipse und dem AVR Plugin zum laufen zu bekommen. In Eclipse habe ich für den Programmer id = "jtag3isp"; desc = "Atmel AVR JTAGICE3 in ISP mode"; type = "jtagice3_isp"; connection_type = usb; usbpid = 0x2110, 0x2140; Mit dem Port: /dev/hiddev0 Override default baudrate: 9600 JTAG ICE bitclock 4us Bit state change delay 10 us unter /etc/udev/rules.d/ habe ich eine datei angelegt mit: SUBSYSTEM=="usb", SYSFS{idVendor}=="03eb", SYSFS{idProduct}=="2140", GROUP="users", MODE="0666" Mit: lsusb -v -d 03eb:2140 erhalte ich: Bus 001 Device 003: ID 03eb:2140 Atmel Corp. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x03eb Atmel Corp. idProduct 0x2140 bcdDevice 1.01 iManufacturer 1 Atmel Corp. iProduct 2 JTAGICE3 CMSIS-DAP iSerial 3 J30200002730 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 64 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 4 JTAGICE3 CMSIS-DAP HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 35 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 5 JTAGICE3 Data Gateway Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 255 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 255 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 bNumConfigurations 1 can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0000 (Bus Powered) Die Firmware des JTAGICE3 habe ich unter Windows auf V2 von 3.2a "geändert" Trotzdem erhalte ich wenn ich einen Controller suche im AVR Dude die Fehlermeldung: "Either avrdude returned an error message that is not covered by the AVR Eclipse Pluguin - or you have a newer AVRDude Version with a changed output format. Kann mir jemand weiter helfen? Was mache ich falsch?
Wäre ein Mod so nett und würde das Thema in Compiler & IDEs verschieben? Ich denke da könnte ich mehr glück haben... Danke!
JTAG3 schrieb: > Die Firmware des JTAGICE3 habe ich unter Windows auf V2 von 3.2a > "geändert" Das war dein Fehler. Die 3er Firmware wird vom letzten offiziellen AVaRICE-Release noch nicht unterstützt, weil sie einen komplett anderen Transportmechanismus für die Daten nutzt. Die 2er wäre unterstützt gewesen, aber mit der will Atmel Studio nicht mehr arbeiten. Die gute Nachricht: vor einer Woche habe ich den Support dafür in den Code eingebaut. Wenn du die SVN-Version von AVaRICE bauen kannst, kannst du sie gern testen. Du musst allerdings eine libhidapi in Reichweite haben (also einschließlich der Headerfiles) für die Unterstützung der HID-basierten Debugger (JTAGICE3 mit Firmware 3.x, Atmel-ICE, EDBG, mEDBG). Bevor ich einen Release damit rausbringe, will ich erst noch ein paar andere Dinge aufräumen, aber die ersten Anzeichen sind recht positiv, dass das funktioniert.
Du hast dich verlesen. ich habe von 3 auf 2 gedowngraded also runter.... läuft aber trotzdem nicht ;) Ne Idee?
JTAGICE3 schrieb: > Ich habe von 3 auf 2 gedowngraded Da stand aber: JTAG3 schrieb: > unter Windows auf V2 von 3.2a "geändert" Das klingt anders. Downgrade wird offiziell gar nicht unterstützt. Geht nur, indem man sich aus den jeweiligen Studio-Releases die Firmware hinlegt und diese dann manuell mit dem Firmware-Upgrade-Tool draufbügelt. Die PID 0x2140 gehört jedenfalls zur 3er Firmware. Mit der 2er Firmware meldet sich das JTAGICE3 als 0x2110.
Hab die aktuelle SVN Version drauf: avarice --jtag /dev/hiddev0 AVaRICE version 2.13svn20160229, Mar 6 2016 13:08:24 Defaulting JTAG bitrate to 250 kHz. Failed to open /dev/hiddev0 Was mache ich falsch? Muss ich mehr Parameter angeben wie z.b. den MCU?
Ah ok avarice --edbg /dev/hiddev0:4242 Klappt aber nicht so richtig bei mir. Will die fuse Bits auslesen: avarice -r --edbg /dev/hiddev0:4242 AVaRICE version 2.13svn20160229, Mar 6 2016 13:08:24 Defaulting JTAG bitrate to 250 kHz. Mehr gibts nicht zurück...
JTAG3 schrieb: > Failed to open /dev/hiddev0 > > > > Was mache ich falsch? Das musst du dein Betriebssystem fragen. Klingt nach einem Rechteproblem. Vielleicht übereignest du ja mal dieses /dev/hiddev0 demjenigen, der da an der Kiste eingeloggt ist? (Ich vermute, dass die meisten Linux-Distris das heutzutage aus der Dose raus machen, ich hatte jedenfalls unter Ubuntu damit keinen Stress.) JTAG3 schrieb: > avarice --edbg /dev/hiddev0:4242 Wie hast du dir das denn zusammengereimt? Das /dev/hiddev0 hat da nichts zu suchen, und die :4242 gehört mit einem Leerzeichen getrennt, aber nur dann, wenn du auch den GDB-Server starten willst (das ist nämlich die Portnummer für den Server). Solange sich die libhidapi aber beklagt, dass sie das /dev/hiddev0 nicht geöffnet bekommt, brauchst du nichts anderes zu testen. > Klappt aber nicht so richtig bei mir. Will die fuse Bits auslesen: Speichermanipulationen gehen vorzugsweise mit AVRDUDE statt AVaRICE. Aber auch dort wirst du (in der aktuellen SVN-Version) einen Zugriff auf /dev/hiddev0 brauchen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.