Hallo,
ich versuche verzweifelt einen ATMega128A mit dem USBASP Programmer zu
programmieren.
Ich schaffe es aber nicht dies reproduzierbar hinzubekommen.
Über ein paar Versuche mir den Fuses bin ich noch nicht hinausgekommen.
Die Beschaltung ist definitiv richtig so wie im Datenblatt gefordert mit
PE0 und PE1.
Den Pin 1 (PEN) lege ich auf GND.
Dennoch wird der Chip fast nie erkannt:
1 | /usr/local/bin/avrdude -C /usr/local/etc/avrdude.conf -p m128 -P usb -c usbasp -F -B 200 -U efuse:r:/tmp/efuse.hex:r -U hfuse:r:/tmp/hfuse.hex:r -U lfuse:r:/tmp/lfuse.hex:r
|
2 |
|
3 | avrdude: set SCK frequency to 4000 Hz
|
4 | avrdude: error: programm enable: target doesn't answer. 1
|
5 | avrdude: initialization failed, rc=-1
|
6 | avrdude: AVR device initialized and ready to accept instructions
|
7 | avrdude: Device signature = 0x8896ef
|
8 | avrdude: Expected signature for ATmega128 is 1E 97 02
|
Ich weiss nicht woran es liegt?
Egal was ich versuche - es klappt immer nur sporadisch ein Kontakt nach
dutzenden Versuchen.
Zuletzt habe ich die fuses auf (E:FF, H:90, L:A4) für den internen
Oszillator programmiert.
Aber auch dann funktioniert es nicht.
Wenn ich es mit dem externen Quarz versuche funktioniert es überhaupt
nicht, es sei denn ich speise einen externen Takt ein.
Ist das Datenblatt so zu verstehen das bei einem externen Quarz immer
ein externer Takt für die SPI Programmierung eingespeist werden muss?
Wie programmiert Ihr normalerweise einen ATMega128A?