Guten Abend zusammen.
Ich habe ein kurioses Problem, das ich nicht gelöst bekomme.
Hier verwende ich ein Board mit einem ATMega32u4. Über den USB
enumeriert er und ich sehe ihn über lsusb:
Bus 005 Device 119: ID 03eb:2ff4 Atmel Corp. atmega32u4 DFU bootloader
Ich versuche zuerst über Arduino den 32u4 zu flashen, aber da er kein
Device anlegt, sehe ich ihn nicht im Port.
Der Versuch mit einem Olimex AVR ISP mk2 den m32u4 über ISP zu flashen
schlägt ebenfalls fehl.
Mein Verdacht war ein Schaltungsfehler. Nach Überprüfung war allerdings
dies ausgeschlossen, da die Spannungsversorgung und der ISP korrekt
angeschlossen sind.
Allerdings weicht die Schaltung vom normalen Schaltplan ab:
3,3 Volt statt 5V und 8 MHz XTal anstatt 16 MHz.
Beim AVR ISP mk2 habe ich auch mal von 3,3V auf 5V gewechselt. Ebenfalls
kein Erfolg.
Zusätzlich habe ich einen USBasp versucht. Selbes Problem.
Auch einen externen Takt auf XTal1 (2) hat nicht geholfen.
Den M32u4 in den DFU-Mode zu setzen geht normalerweise mit 2x Reset.
Allerdings ist der unprogrammiert, weshalb der Werksloader programmiert
ist.
Kann jemand mir bitte einen Tipp geben was ich übersehe?
Ausgabe:
1
avrdude: Version 7.1
2
Copyright the AVRDUDE authors;
3
see https://github.com/avrdudes/avrdude/blob/main/AUTHORS
4
5
System wide configuration file is /etc/avrdude.conf
6
User configuration file is /home/alexanderwalter/.avrduderc
7
User configuration file does not exist or is not a regular file, skipping
8
9
Using Port : usb
10
Using Programmer : stk500v2
11
avrdude: usbdev_open(): found AVRISP mkII, serno: 000200212345
12
AVR Part : ATmega32U4
13
Chip Erase delay : 9000 us
14
PAGEL : PD7
15
BS2 : PA0
16
RESET disposition : possible i/o
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
PollIndex : 3
25
PollValue : 0x53
26
Memory Detail :
27
28
Block Poll Page Polled
29
Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
Alexander W. schrieb:> Kann jemand mir bitte einen Tipp geben was ich übersehe?
udev rules??? vllt darfst du aufs device schlicht nicht schreiben.
zumindest ist das bei mir zu 99% der fehler :)
73
Alexander W. schrieb:> Ich versuche zuerst über Arduino den 32u4 zu flashen, aber da er kein> Device anlegt, sehe ich ihn nicht im Port.
Dazu muss erstmal der Arduino Bootloader drauf, dann siehst du ihn auch
als Port in der Arduino IDE.
Solange der HWB noch auf dem Chip ist, kannst du das FLIP Protokoll
verwenden
Ansonsten lässt er sich mit quasi jedem ICSP Adapter für Atmel
beschreiben. Auch das geht über die Arduino IDE
Hans W. schrieb:> udev rules??? vllt darfst du aufs device schlicht nicht schreiben.> zumindest ist das bei mir zu 99% der fehler :)
also ich habe nur eine:
/etc/udev/rules.d/49-atmel-dfu.rules
Inhalt:
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ff4",
MODE="0666", GROUP="plugdev"
Wie müsste die für den Olimex AVR ISP mk2 und dem USBasp lauten?
Arduino F. schrieb:> Dazu muss erstmal der Arduino Bootloader drauf, dann siehst du ihn auch> als Port in der Arduino IDE.
das ist mein Ziel. Scheitert aber wie oben beschrieben.
Nemopuk schrieb:> probiere erst mal avrdude und das dfu/flip Programm mit sudo (oder> als> root) aufzurufen, bevor du an den udev rules fummelst.
Das hab ich zuvor schon ausprobiert.
Das ist echt merkwürdig:
dfu-programmer atmega32u4 get
Bootloader Version: 0x00 (0)
dfu-programmer atmega32u4 dump
Failed to read 28672 bytes from device.
lsusb
Bus 005 Device 046: ID 03eb:2ff4 Atmel Corp. atmega32u4 DFU bootloader
Er erkennt den M32u4. Kommt mit dem aber nicht klar.
Björn W. schrieb:> Der "Schaltplan" ist schon wieder eine massive Beleidigung..
Ja, das hat aber keinen Einfluss auf den Fehler.
Nemopuk schrieb:> Probiere mal 22 statt 68 Ohm
Das könnte helfen. Die 68 R kommen von einer Vorlage die ich verwenden
sollte.
Muss dann morgen nen Gurt mit 22R nehmen.
Ich denke der Fehler liegt hier am Linux (obwohl bei Win das auch nicht
geht).
Versucht habe ich nun in der Arduino IDE einen UNO über den Programmer
direkt zu flashen und bekomme den selben Fehler.
Versucht habe ich Olimex AVR ISP mk2, USBasp und Diamex "Atmel Corp. AVR
ISP mkII" Klon.
Alle blinken zwar beim Programmiervorgang, können aber die verschiedenen
Boards nicht erkennen. Dummerweise passiert das hier am Linux, als auch
dort am Windows-Rechner. Sind also zwei verschiedene Systeme und PCs.
Ich muss das nun gegenprüfen weshalb es bei beiden Maschinen nicht geht.
Christian schrieb:> Schaltung ist fehlerhaft. HWB darf nicht dauerhaft auf GND, nur während> eines> Reset-Impuls.>> https://www.pjrc.com/teensy/schematic.html
Danke für die Info!
Aber in der Teensy-Schematik ist der HWB auch dauerhaft auf GND. Nur
halt über einen 1k?
Alexander W. schrieb:> Christian schrieb:>> Schaltung ist fehlerhaft. HWB darf nicht dauerhaft auf GND, nur während>> eines>> Reset-Impuls.>>>> https://www.pjrc.com/teensy/schematic.html>> Danke für die Info!>> Aber in der Teensy-Schematik ist der HWB auch dauerhaft auf GND. Nur> halt über einen 1k?
Somit kann der Pin auch auf High-Pegel liegen, denn wenn kein Reset ist
dieser ein normaler I/O.
Ich denke man kann auch die Beschaltung vom Teensy 1.0 für HWB und Reset
verwenden, und dann kann man immer praktisch mit FLIP arbeiten.
Björn W. schrieb:> Der "Schaltplan" ist schon wieder eine massive Beleidigung..
Da stimme ich dir zu.
Vollgemüllt mit Origin-Kreuzen, Texte irgendwo drüber geschmiert,
Bildauflösung so gering, dass man viele Labels nicht lesen kann ...
Aber warum soll man sich das antun - einfach ignorieren.
Guten Abend!
Problem gefunden!
Rainer W. schrieb:> Vollgemüllt mit Origin-Kreuzen, Texte irgendwo drüber geschmiert,> Bildauflösung so gering, dass man viele Labels nicht lesen kann ...>> Aber warum soll man sich das antun - einfach ignorieren.
DAS war nicht der Fehler!
Nach einem Update der Firmware auf allen Programmern geht es nun unter
Linux.
Drei unterschiedliche Programmieradapter scheiterten daran, dass sie ein
Upgrade brauchten?
Das kommt mir sehr Verdächtig vor, in dem Sinne, daß die wahre Ursache
wahrscheinlich eine ganz andere war.
Wenn man an fünfzehn Schrauben gleichzeitig dreht, um jede Möglichkeit
eines systematischen Vorgehens kategorisch ausschließen zu können, ist
jedes positive Ergebnis einerseits eine Überraschung und andererseits
kaum nachvollziehbar oder reproduzierbar.
Nemopuk schrieb:> Drei unterschiedliche Programmieradapter scheiterten daran, dass> sie ein> Upgrade brauchten?>> Das kommt mir sehr Verdächtig vor, in dem Sinne, daß die wahre Ursache> wahrscheinlich eine ganz andere war.
So wie ich das sehe hat er diesen Ollimex ISP und der scheint schon sehr
alt zu sein. Womöglich konnte der keinen atmega
Jens K. schrieb:> So wie ich das sehe hat er diesen Ollimex ISP und der scheint schon sehr> alt zu sein. Womöglich konnte der keinen atmega
So alt, dass er wirklich gar keinen Atmega kann, ist er sicherlich
nicht.
Was immerhin möglich ist, ist, dass der den konkreten 32U4 noch nicht
kann. Wenn das so wäre: einfach die aktuelle Firmware von Olimex
runterladen auf draufspielen. Spätestens dann kann er auch den 32U4.
Ob S. schrieb:> So alt, dass er wirklich gar keinen Atmega kann, ist er sicherlich> nicht.
Er konnte tatsächlich keinen M32u4! Mit einem M8 oder M323 hat es
funktioniert. Deshalb ging ich zuerst von einem Schaltungsfehler aus.