Forum: Mikrocontroller und Digitale Elektronik Probleme mit avrdude und meiner Schaltung


von Lukas L. (gotonox)


Lesenswert?

hi,

ich bin einsteiger im bereich µC und habe jetz eine platine, habe mir 
aber auch eine eigene schaltung auf einem steckbrett gemacht. Ich 
benutze Debian GNU/Linux 5.0.6

folgende probleme:

1. wenn ich einfach mal ausversuchen will ob meine schaltung 
funktioniert, geb ich einfach mal das bei avrdude an:

avrdude -c avr910 -p m32 -P /dev/ttyUSB0 -b 115200

der programmer wird auch erkannt, jedoch steht am ende folgendes:

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

wenn ich dann versuche den programmer bzw. den controller auszulese, geb 
ich noch das -F dahinter an. dann funktioniert es auch, aber wenn ich es 
nochmal versuche muss ich immer wieder das -F angeben. warum? und wie 
mache ich das ich das -F nicht angeben muss?

2. wenn ich versuche ein einfaches programm zu übertragen, das eine LED 
blinken lassen soll, geht es nicht. wenn ich ein programm mit dem namen 
neu_all.hex in den flash übertragen will, kommt bei avrdude immer 
folgendes (mit dem -F dahinter):


avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.00s

avrdude: Device signature = 0xffffff
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA32 is 1E 95 02
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 "neu_hex_all.hex"
avrdude: input file neu_hex_all.hex auto detected as Intel Hex
avrdude: writing flash (180 bytes):

Writing | ################################################## | 100% 
3.08s



avrdude: 180 bytes of flash written
avrdude: verifying flash memory against neu_hex_all.hex:
avrdude: load data flash data from input file neu_hex_all.hex:
avrdude: input file neu_hex_all.hex auto detected as Intel Hex
avrdude: input file neu_hex_all.hex contains 180 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 
0.39s



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

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

bei anderen programmen kommt das gleiche.

was muss ich tun damit es geht?

wäre sehr dankbar für antworten.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Durch die -F Option ignoriert AVRDUDE die falsche Signatur.
http://www.nongnu.org/avrdude/user-manual/avrdude_4.html#Option-Descriptions
Das ist aber keine Lösung.

Wie sieht die Schaltung aus? Wie versorgst du die Schaltung mit 
Spannung?

von Lukas L. (gotonox)


Lesenswert?

erstmal danke für die antwort

Stefan B. schrieb:
> Wie sieht die Schaltung aus? Wie versorgst du die Schaltung mit
> Spannung?


im grunde ist das diese grund-schaltung:

http://rn-wissen.de/images/c/cf/Avrtutorial_grundschaltung_mitisp.gif


an der schaltung hab ich 5V gleichstrom drann. kommt über ein netzteil 
(max. 30V, 2A)

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Der Schaltplan ist so OK. Bei deinem konkreten Aufbau hast du auf rel. 
kurze Leitungen geachtet? Vielleicht solltest du noch was zum 
verwendeten ISP-Programmieradapter schreiben.

Anm.: Das Bild vom Steckbildaufbau mag ich nicht. Wenn man nicht dieses 
spezielle Steckbrett und genau die gewählten Positionen hat, kann es auf 
der "Mittelverteilerschiene" leicht zum Kurzschluss zwischen Vcc und GND 
kommen.

von Lukas L. (gotonox)


Angehängte Dateien:

Lesenswert?

hi,

also ich verwende einen AVR 910 ISP-Programmer. Der Programmer wird über 
ein 10 pol. Flachbandkabel an den zu programmierenden µC angeschlossen. 
die verbindung zum pc erfolgt eig. über die serielle schnittstelle, ich 
hab aber einen seriellen wandler drannhängen.

zu den langen kabeln...ich weiß nicht genau was lang ist im zusammenhang 
mit µC-Schaltungen^^. hier mal ein bild zu meiner schaltung, da kannst 
schauen ob die kabel zu lang sind.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Wenn das Flachbandkabel rechts nicht noch wesentlich länger ist, passt 
das.

Das Kabelgewirr kann ich nicht richtig zuordnen besonders nicht, ob die 
Leitungen zum ISP Adapter an den richtigen µC Pins enden.

Ich würde das neu aber sauberer aufbauen.

Wenn du mehrere Drahtfarben hast, dann GND Leitungen konsequent schwarz, 
Vcc Leitungen rot und Signalleitungen blau (MOSI) oder grün (MISO). Mit 
einem schwarzen Edding kannst du dir leicht aus grün/blau weitere 
zebra-gekennzeichnete Leitungen machen z.B. für RESET.

Das liest sich vielleicht lächerlich, erleichtert aber die Ferndiagnose 
bei Fotos! Bei Fotos darauf achten, dass man die Pins sehen und abzählen 
kann. Manchmal sind Steckverbindungen zu benachbarten Pins die 
Fehlerursache. Auch den Verlauf von sich überkreuzenden Leitungen sollte 
man gut sehen können.

Als Verlängerung einer Leitung zu Vcc würde ich nicht die blau markierte 
Schiene benutzen (rechte Seite des Steckbretts). Nutz die beiden 
Versorgungsschienen, dann brauchst du keine Leitungen über den µC zu 
ziehen.

Die LED und den Widerstand für die LED behalte mal im Auge. Du kannst 
die zum Spionieren an der MOSI oder MISO Leitung benutzen. Die LED 
sollte flackern, wenn Daten auf der Leitung fliessen. Zuerst die Leitung 
vom ISP-Adapter zum µC spionieren (MOSI), dann die Leitung vom µC zum 
ISP-Adapter (MISO) bzw. auch die SCK Leitung.

ISP-Adapter            Atmega32
    --------+----------
            |
            +---###---|>----GND
                 R    LED

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.