ATTiny44 mit AVRDUDE programmieren

Mike

Neues Mitglied
04. Apr. 2008
1
0
0
Sprachen
Hallo
ich versuche einen ATTiny44 mittels avrdude (Win2k) zu programmieren. Als
ISP-Adapter verwende ich ein SI-Prog Interface. Am ATTiny44 ist kein Quarz
angeschlossen da ich davon ausgehe, dass ein jungfraulicher Chip mit dem
internen Ozillator läuft. Mein KO zeigt vernünftige Signale an den
Leitungen, wobei das zeitliche Verhalten nicht überprüft ist.
Die Hardware habe ich mehrfach überprüft.
Nun mein Problem: Das Teil lässt sich nicht programmieren!
Die Chip-ID wird korrekt ausgelesen, ein Programmierversuch endet mit
dem Verify welcher besagt, dass die Daten im Flash noch immer FFh sind.
Ein Versuch das EEPROM zu schreiben war erfolgreich!!

Hat jemand eine Idee?
Vielen Dank
Mike

Hier ist der console output:

C:\Programme\avrdude>avrdude -p t44 -c ponyser -C avrdude.conf -P com2
-n -v -U flash:w:"C:\home\mik
e\AVR_Project\Blinker\default\Blinker.hex":i

avrdude: Version 5.5, compiled on Nov 8 2007 at 16:08:45
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

System wide configuration file is "avrdude.conf"

Using Port : com2
Using Programmer : ponyser
AVR Part : ATtiny44
Chip Erase delay : 4500 us
PAGEL : P00
BS2 : P00
RESET disposition : possible i/o
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page
Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages
MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------
----- ----- ---------
eeprom 65 6 4 0 no 256 4 0
4000 4500 0xff 0xff
flash 65 6 32 0 yes 4096 64 64
4500 4500 0xff 0xff
signature 0 0 0 0 no 3 0 0
0 0 0x00 0x00
lock 0 0 0 0 no 1 0 0
9000 9000 0x00 0x00
lfuse 0 0 0 0 no 1 0 0
9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0
9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0
9000 9000 0x00 0x00
calibration 0 0 0 0 no 1 0 0
0 0 0x00 0x00

Programmer Type : SERBB
Description : design ponyprog serial, reset=!txd sck=rts
mosi=dtr miso=cts

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100%
0.01s

avrdude: Device signature = 0x1e9207
avrdude: safemode: lfuse reads as 62
avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as FF
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be
performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file
"C:\home\mike\AVR_Project\Blinker\default\Blinker.hex"
avrdude: writing flash (126 bytes):
:2000000010C02AC029C028C027C026C025C024C023C022C021C020C01FC01EC01DC01CC0C3
:200020001BC011241FBECFE5D1E0DEBFCDBF10E0A0E6B0E0EEE7F0E002C005900D92A036CE
:20004000B107D9F710E0A0E6B0E001C01D92A036B107E1F702D012C0D3CFCF93DF93CDB79E
:1E006000DEB7E7E3F0E081E08083A8E3B0E0E8E3F0E0908181E089278C93F7CFFFCF64
:00000001FF
avrdude: 126 bytes of flash written
avrdude: verifying flash memory against
C:\home\mike\AVR_Project\Blinker\default\Blinker.hex:
avrdude: load data flash data from input file
C:\home\mike\AVR_Project\Blinker\default\Blinker.hex:
avrdude: input file C:\home\mike\AVR_Project\Blinker\default\Blinker.hex
contains 126 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100%
0.60s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x10 != 0xff
avrdude: verification error; content mismatch

avrdude: safemode: lfuse reads as 62
avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as FF
avrdude: safemode: Fuses OK

avrdude done. Thank you.
 
Hallo Mike,

ich kenne mich leider mit avrdude überhaupt nicht aus, habe mir aber einmal die Dokumentation angesehen.

Probiere folgendes als allererstes aus:

in der Komandozeile den Parameter -n weglassen. In der Doku steht bei Parameter n:
No-write - disables actually writing data to the MCU (useful for debugging AVRDUDE).

Ansonsten helfen dir vielleicht folgende Bemerkungen weiter:

Nach avrdude sind FuseLowByte, FuseHighByte, FuseExtendedByte auf Werkseinstellungen.
avrdude: Device signature = 0x1e9207
avrdude: safemode: lfuse reads as 62
avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as FF

Der AVR müsste also mit internem 8MHz Oszillator getaktet werden.

Du schreibst ja, daß sich das EEPROM programmieren läßt. Hmmm, ansonsten hätte ich noch auf MemoryLockBits getippt. Wenn die MemoryLockBits LB1 und/oder LB2 programmiert sind, ist keine serielle Programmierung (und Verifizierung bei prog. LB2) von Flash und EEPROM möglich.

Viel Glück.

Grüße,
Dirk
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)