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.
#####
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?
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
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.
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
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.