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.