Forum: Mikrocontroller und Digitale Elektronik Probleme beim Programmieren von ATTiny 2313A mit DIAMEX ISP


von Ralf W. (rawafn)


Lesenswert?

Hallo,

ich möchte gerne einen ATTiny 2313A mit einem Diamex ISP via AVRDUDE mit 
OSX programmieren.

Ich verwende hier für folgende avrdude Konfiguration:
avrdude -c avrispv2 -p t2313 -P /dev/tty.usbmodemFD131 -U 
flash:w:Test2313A.X.production.hex:i -v -F

Wenn ich mir die Log Informationen anschaue sollte alles passen!
Nur läuft mein Programm (Blinklicht) nicht.
Beim Auslesen des Speichers mit folgender Konfiguration:

avrdude -c avrispv2 -p t2313 -P /dev/tty.usbmodemFD131 -U 
flash:r:Test-debug.X.production.hex -v -F

steht nur Schrott im Hex-File.

Vielleicht kann mir jemand hier weiterhelfen.

Danke und Gruß

Ralf



###### Log Information - Schreibe ######
avrdude -c avrispv2 -p t2313 -P /dev/tty.usbmodemFD131 -U 
flash:w:Test2313A.X.production.hex:i -v -F

avrdude: Version 6.3-20171130
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/usr/local/etc/avrdude.conf"
         User configuration file is "/Users/ralfwagner/.avrduderc"
         User configuration file does not exist or is not a regular 
file, skipping

         Using Port                    : /dev/tty.usbmodemFD131
         Using Programmer              : avrispv2
         AVR Part                      : ATtiny2313
         Chip Erase delay              : 9000 us
         PAGEL                         : PD4
         BS2                           : PD6
         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        128    4      0 
4000  4500 0xff 0xff
           flash         65     6    32    0 yes      2048   32     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          2    0      0 
0     0 0x00 0x00

         Programmer Type : STK500V2
         Description     : Atmel AVR ISP V2
         Programmer Model: STK500
         Hardware Version: 10
         Firmware Version Master : 2.10
avrdude: stk500v2_command(): command failed
avrdude: stk500v2_getparm(): failed to get parameter 0x9a
         Topcard         : Unknown
         Vtarget         : 5.0 V
         SCK period      : 51.5 us
         Varef           : 5.0 V
         Oscillator      : Off

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e910a (probably t2313)
avrdude: safemode: lfuse reads as 64
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 "Test2313A.X.production.hex"
avrdude: writing flash (126 bytes):

Writing | ################################################## | 100% 
0.28s

avrdude: 126 bytes of flash written
avrdude: verifying flash memory against Test2313A.X.production.hex:
avrdude: load data flash data from input file 
Test2313A.X.production.hex:
avrdude: input file Test2313A.X.production.hex contains 126 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 
0.25s

avrdude: verifying ...
avrdude: 126 bytes of flash verified

avrdude: safemode: lfuse reads as 64
avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as FF
avrdude: safemode: Fuses OK (E:FF, H:DF, L:64)

avrdude done.  Thank you.

#####

von Karl M. (Gast)


Lesenswert?

Frage warum gibst du avrdude den Parameter -F an?
Ich weiß was er bedeutet, aber warum machst du das?

Hast du die beiden Fehlermeldung nicht gesehen?

von Ralf W. (rawafn)


Lesenswert?

Hallo Karl,

du meinst die beiden Fehlermeldungen:
avrdude: stk500v2_command(): command failed
avrdude: stk500v2_getparm(): failed to get parameter 0x9a

Die hab ich schon gesehen, da aber der Rest durchlief hab ich diese erst 
mal ignoriert.

Das verhalten ist das gleiche, ob ich mit -F oder ohne teste.


Gruß

Ralf

von Stefan F. (Gast)


Lesenswert?

avrdude -c avrispv2 -p t2313 -P /dev/tty.usbmodemFD131 -U
flash:r:Test-debug.X.production.hex -v -F

Das erzeugt kein Hex File, sondern eine Binärdatei.

> Nur läuft mein Programm (Blinklicht) nicht.

Dann zeige doch mal den Quelltext deine Programmes und teile uns mit, 
woran du zu erkennen glaubst, dass es nicht läuft. Schaltplan wäre wohl 
auch hilfreich.

von Stefan F. (Gast)


Lesenswert?

Die Fehlermeldung kann laut Diamex ignoriert werden.

"Es handelt sich beim Befehl 9a um die Abfrage einer eventuell 
vorhandenen Erweiterungskarte des STK500."

http://forum.diamex.de/archive/index.php/t-975.html

von Ralf W. (rawafn)


Angehängte Dateien:

Lesenswert?

Hallo Stefanus,

danke für die Tip bzgl. des Hex-Files.
Anbei mein main.c File.
Zum Compilieren verwende ich MLab-XIDE mit XC8 (V2.0).

Sowie mein Hex-File.

Bzgl. des Schaltplans. Ausser der Versorgung mit 100nF C und einem LED 
an PB2 gegen Grund hab ich nur noch die Programmierschnittstelle auf 
meinem Testboard.

Gruß

Ralf

von Karl M. (Gast)


Lesenswert?

Ist die LED ohne Vorwiderstand?

von Ralf W. (rawafn)


Lesenswert?

Hallo Karl,

das LED hat einen Vorwiderstand.

Gruß

Ralf

von Stefan F. (Gast)


Lesenswert?

1
#define F_CPU 8000000

Das ist schon falsch. Dein Mikrocontroller läuft mit 1MHz, weil die 
CLKDIV8 Fuse aktiv ist. Wegen diesem Fehler wird die Delay Funktion um 
Faktor 8 langsamer sein, als gewollt.

Der Rest sieht gut aus. Mach mal ein Foto vom Testaufbau, da ist 
bestimmt ein ganz banaler Fehler drin. Probiere mal einen anderen I/O 
Pin, vielleicht ist dieser ja kaputt.

von Ralf W. (rawafn)


Lesenswert?

Hallo Stefanus,

danke für deine Unterstützung. Ich hab mein Problem zwischenzeitlich 
gefunden.
Ich hatte ein Problem mit dem Ground. Beim Programmieren hat es 
irgendwie gereicht, aber sobald das LED an war ist der Groundpfad 
zusammengebrochen.

Gruß

Ralf

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
Noch kein Account? Hier anmelden.