Go Down

Topic: AtTiny45 (Read 1 time) previous topic - next topic

nitram0598

Oct 06, 2013, 10:41 am Last Edit: Oct 06, 2013, 11:51 am by nitram0598 Reason: 1
hello, i wanted to programm my attiny45 with the arduino, but following error::

avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny45
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.


i used this tutorial:
http://fluuux.de/2012/09/programmieren-eines-attiny-mit-arduino-1-0-1/
nothing is perfect.

Schachmann

Hallo,

ich habe mal in das Tutorial geschaut. Leider ist der Download-Link darin kaputt, ich erhalte nur "Not Found", kann also nicht sehen, wie die Definitionen darin sind.

Deshalb nur ein paar allgemeine Hinweise, die Dir vielleicht aber schon weiterhelfen.

Please define Pagel... - kannst Du ignorieren.

Yikes! Invalid... - Entweder ist Deine Verkabelung falsch und deshalb kann AVRDude die Signatur nicht lesen oder in den Definitionen, die ich leider nicht sehen kann wg. Link kaputt, steht was falsches drin. Um die Verkabelung zu überprüfen habe ich Dir unten ein Bild angehängt. So sieht das bei mir auf dem Breadboard aus und funktioniert. Statt des Tiny13, den ich benutzt habe, kannst Du auch den Tiny45 nehmen die sind pinkompatibel. Wenn Du also den Fehler in der Verkabelung findest, sollte er jetzt gelöst sein.

Falls die Definitionen irgendwo fehlerhaft sind, kannst Du AVRDude mal von Hand starten. Erstelle dazu auf Deinem Rechner einen Ordner und kopiere die Hex-Datei, die ich angehängt habe, da rein. Schau nach, an welchem Comport Dein Arduino hängt. Starte die Eingabeaufforderung  (iich hoffe, Du arbeitest unter Windows?). Gib folgendes Kommando ein:

Quote
avrdude -c arduino -P COM9 -b 19200  -p attiny45 -U flash:w:main.hex:i


Statt COM9 musst Du den Comport angeben, an dem Dein Arduino hängt.

Wenn die Verkabelung stimmt, sollte das jetzt klappen. Dann solltest Du Dir evtl. neue Definitionen der Tiny-Boards besorgen. Ein Anlaufpunkt wäre das hier: https://github.com/damellis/attiny/archive/master.zip

Wenn es dann immer noch nicht geht, bitte nochmal die genauen Fehlermeldungen posten.

Hoffe, das hilft!

Gruß,
Ralf

PS: Ach ja, die Main.hex-Datei bringt die LED zum blinken, wenn sie wie auf dem Bild angeschlossen ist.
Es gibt 10 Arten von Menschen, die einen verstehen Binär, die anderen nicht...

nitram0598

wie nutze ich avrdude?
wenn ich das in cmd eingeben, dann kommt befehl"avrdude" nicht gefunden?
nothing is perfect.

Schachmann

Wenn Deine Arduino-Software korrekt installiert ist, sollte auch AVRDude gehen. Ansonsten kannst Du den auch im Web runterladen.

Gruß,
Ralf
Es gibt 10 Arten von Menschen, die einen verstehen Binär, die anderen nicht...

nitram0598

funktioniert nicht, fehler:

avrdude: please define PAGEL and BS2 signals in the configuration file for part
ATtiny45
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.
nothing is perfect.

sven222

Mein Erfahrungen mit dem ATTiny45 lassen mich bei sowas zuerst die Verkabelung überprüfen. Aber ein paar zusätzliche Informationen wären hilfreich. Welcher Arduino wird verwendet? Ist der Kondensator zwischen Reset und Ground drin? Sicher der Arduino as ISP Scetch geladen?

Grüße,

Sven

Schachmann

Klar, Kabel checken - wie geschrieben, incl. Kondensator.

Hast Du den AVRDude mit der von mir angegebenen Kommandozeile gestartet? Welches OS hat Dein Computer, welchen Arduino benutzt Du?

Theoretisch muss man auch ins Auge fassen, dass der Tiny45 kaputt oder (wahrscheinlicher) verfused sein kann.

Gruß,
Ralf
Es gibt 10 Arten von Menschen, die einen verstehen Binär, die anderen nicht...

sven222

Hmm, ich habe mir gerade die Anleitung nach der vorgegangen bist durchgelesen. Dort fehlt der Punkt mit "Bootloader installieren". 
Handelt es sich um einen nagelneuen ATTiny? Wenn ja, solltest Du bei den "Boards" den ATTiny mit 1MHz aussuchen. Falls Du eine andere Taktfrequenz willst, musst Du vorher den Punkt Bootloader installieren unter Tools ausführen.

Schachmann


Handelt es sich um einen nagelneuen ATTiny? Wenn ja, solltest Du bei den "Boards" den ATTiny mit 1MHz aussuchen. Falls Du eine andere Taktfrequenz willst, musst Du vorher den Punkt Bootloader installieren unter Tools ausführen.


Nein, wenn der Tiny über ISP programmiert wird, braucht er keinen Bootloader. Der TO müsste einfach mal über meine Kommandozeile von oben den Tiny programmieren.

Gruß,
Ralf
Es gibt 10 Arten von Menschen, die einen verstehen Binär, die anderen nicht...

tron3x

Hatte das gleiche Problem.
Mir hat das hier geholfen:

http://hlt.media.mit.edu/?p=1695

Grüsse
Konstantin

michael_x

@Ralf
Klar braucht man keinen Bootloader auf einem ATTiny.
Der einzige Sinn an "burn bootloader" ist, dass da erstmal die fuses gesetzt werden.
( Das macht "deine Kommandozeile von oben" leider nicht, wenn du damit
avrdude -c arduino -P COM9 -b 19200  -p attiny45 -U flash:w:main.hex:i
meinst )
Fuses direkt per Kommandozeile setzen geht zwar auch, man sollte sich dabei aber nicht vertippen, da man an einen "verfuseten" Controller evtl. nur schwer wieder dran kommt.

Aber eine signatur 000000 ist eher ein generelles (Verdrahtungs-) Problem

Diese Kommando sollte jedenfalls nicht mehr machen als die Signatur anzuzeigen
avrdude -P COM9 -p t45 -c arduino -v

Ein ATTiny45 sollte übrigens die Signatur 1e 92 06  haben.

Schachmann


Aber eine signatur 000000 ist eher ein generelles (Verdrahtungs-) Problem


Tja, ich hatte das Problem ja eingegrenzt auf: Verdrahtung falsch (deshalb habe ich oben den Plan beigefügt), Controller verfused oder Controller kaputt.

Wenn der TO erst mal mein main.hex flashen würde und das ginge, wären wir ja schon mal ein Stück weiter. Dann würde ich ihm auch gerne schreiben, wie er die Fuses setzen muss. Wenn aber SPI-Programming per Fuse disabled ist oder der Tiny auf einen externen Oszillator wartet, wird es erst mal schwierig.

Gruß,
Ralf
Es gibt 10 Arten von Menschen, die einen verstehen Binär, die anderen nicht...

sven222

#12
Oct 07, 2013, 12:37 pm Last Edit: Oct 07, 2013, 12:39 pm by sven222 Reason: 1
Hallo zusammen,

vieleicht müssen wir gar nicht soweit gehen mit dem von Hand flashen. Auch wenn ich selbst Freund der Kommandozeile bin, kann ich es verstehen, dass viele Benutzer davor zurückschrecken. Außerdem verstehe ich das dritte Posting vin nitram0598 so, dass er die Kommandozeilen Option schon versucht hat, und eben wieder den Fehler mit der Signatur hat. Wenn jetzt der Auslese Befehl auch eine Signatur anzeigt, die nur aus Nullen besteht, dann sollte der Fehler eindeutig nicht in den Definitonen liegen.
Deshalb würde ich jetzt das große Feld Verkabelung untersuchen. In dem verlinkten Artikel, auf den sich das Ursprungsposting bezog wird zum Beispiel nicht erwähnt, dass man einen 10 uF Kondensator zwischen Reset und Ground am Arduino braucht.   Ich hatte auch mal den lustigen Fall, dass ich mit einem nachgekauften ATMega328 mit Arduino Bootloader auf dem UNO keine ATTinys programmieren konnte. Erst als ich den Bootloader auf den ATMega nochmal neu lud, ging auch das Programmieren der Tinys wieder. Diesen Fehler habe ich bis heute nicht verstanden, konnte ihn aber mit zwei identisch gekauften ATMegas reproduzieren.  Es gibt so viel was da alles daneben hauen kann.  Viel Erfolg beim Fehlersuchen.
Ach ja, den Link von tron3x kann ich absolut empfehlen, in Verbindung mit diesem Link hier: http://hlt.media.mit.edu/?p=1706 sollte eigentlich alles erklärt sein.

Grüße,

Sven

nitram0598

http://hlt.media.mit.edu/?p=1706
dies hatte ich genutzt
und selber fehler
soll ich mal verkabelung zeigen?
nothing is perfect.

Schachmann


soll ich mal verkabelung zeigen?


Das könnte helfen, also: JA!

Gruß,
Ralf
Es gibt 10 Arten von Menschen, die einen verstehen Binär, die anderen nicht...

Go Up