PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AVRdude programmer fehler



Haveaniceday
14.01.2008, 16:25
Nabend zusammen,
habe ein kleines problem mit meinem avrdude mein WinAVR.
Undzwar macht der immer folgenden fehler seit ich ein LCD am µC angeschlossen habe.


Reading | ################################################## | 100% 7.34s

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

avrdude done. Thank you.

make.exe: *** [program] Error 1

> Process Exit Code: 2
> Time Taken: 00:15

Das sagt er immer wenn ich programmieren will. Der hex wert bei mismatch ist immer unterschiedlich. Meistens kann ich auch garnicht programmieren, erst nach vielen versuchen bzw. eben hats geklappt als ich "makeclean" gemacht hab.
Kennt einer diesen fehler? Oder weiß woher er kommt?

vielen Dank,

LG Hannes

Hubert.G
14.01.2008, 17:38
Wenn du das Display an den ISP-Pin angeschlossen hast ist das leicht möglich. Einige der Pin sind auch aktiv.

Haveaniceday
14.01.2008, 17:53
Ok, das könnte natürlich sein. Werde jetzt gleich mal im Handbuch vom Board nachgucken. Hab mal den alles vom Controller board abezogen, also module und lcd etc... dann beschreibt er halt ohne Probleme.

LG Hannes

//edit: Ich nutze keine Pine vom ISP im program. Es sind ja "nur"



PB5 (MOSI)
PB6 (MISO)
PB7 (SCK)


und das LCD is nur auf PA0-7 gelegt.

//edit2: gerade wieder versucht zu programmen, ohne LCD usw. aber wieder der fehler...

Besserwessi
14.01.2008, 20:21
Das spricht für ein Zuverlässigkeitsproblem bei der Platine oder dem Programmierer. Mit dem Compiler oder dem Programm hat das nichts zu tun. Typische Fehlerkandidaten sind:
- zu langes ISP Kabel ( > 30 cm)
- Überschwinger auf CLK vom ISP Interface
- fehlende Kondensatoren an VCC/GND und AVCC/AGND
- viel zu schwache Stromversorgung
- schlechte / fehlende Masseverbindung

Haveaniceday
15.01.2008, 06:19
Das ISP (Sub-D) Kabel in der tat länger als 30cm, ca. nen m schätze ich.
Das Board ist von Pollin (Evolution Board 2.0).
Es hat immer ohne probleme funktioniert, bis halt das LCD angeschlossen wurde. Seitdem kommt diese fehler, ob LCD, Temperatursensor etc angeschlossen oder auch nicht


- Überschwinger auf CLK vom ISP Interface

Was meinst du damit?

Besserwessi
15.01.2008, 17:58
Gerade mit langem Kabel ist das Signal oft nicht mehr schön rechteckförmig, sondern kurz hinter der Flanke sind noch ein paar Schwingungen überlagert. Die Ursache dafür sind steile Flanken vom Digital IC zusammen mit einem Langen Kabel ohne angpasste Impedanz. Das Kabel wirk dann wie eine Art Schwingkreis.

Als Abhilfe haben bessere Programmierer (leider nicht der im RN-Wissen beschriebene) einen Ausgang mit langsamer Antiegsgeschwindigkeit. Am einfachsten geht das durch eine RC glied. Also ca. 150-330 Ohm zwischen den Treiberausgang und das Kabel und einen KOndensator von ca. 47-220 pF vom Kabel an Masse. Die Flanken sind dann nicht mehr so steil und das Kabel kann deutlich länger werden bevor es Probleme gibt. Als Nebeneffect werden auch noch die Funkstörungen reduziert, sodass das RC Glied eigentlich immer dazu gehört.

Noch einfacher ist natürlich ein kurzes Kabel, am besten unter 20 cm, vom Programmierer zur Schaltung.

Haveaniceday
15.01.2008, 18:14
Hm, 20cm ist nur schon sehr sehr kurz, komme ich ja garnichtmehr vom pc zum Controllerboard^^
Jedenfalls, wenn ich den PC neustarte kann ich 2-3mal ohne fehler programmen, dannach macht er wieder faxen.
Hatte früher ein anderes Kabel, das war aber nicht kürzer, eher im gegenteil...
Also meinst du es müsste am Kabel liegen? Sonst probiere ich einfach mal das alte Kabel, womit es früher immer gefunzt hat.

izaseba
15.01.2008, 18:30
Hm, 20cm ist nur schon sehr sehr kurz,

Kurz ? :-s

Wenn ich mir mein Kabel so angucke ist es etwa 10 cm kurz :-(, ich komm damit aber super klar..

Du weißt ja, es kommt nicht auf die Länge sondern auf die Technik an ;-)

Gruß Sebastian

Haveaniceday
15.01.2008, 19:15
Du weißt ja, es kommt nicht auf die Länge sondern auf die Technik an ;-)

Hahahahaha, top :lol:

Also ich muss es ja am pc anschließen und von hinterm PC bis nach vorne zum schreibtisch brauche ich min. 40cm
Aber werd mal das andere wieder probieren :)

izaseba
15.01.2008, 19:28
Muß der Programmer denn direkt im PC stecken ?

Bei mir sieht es etwa so aus
PC-> usb oder USB<->rs232->Programmer->Zielschaltung

Damit kommt man sehr gut mit 10 cm Kabel zwischen Programmer und Schaltung aus...

Gruß Sebastian

Haveaniceday
15.01.2008, 19:35
Verstehe ich nicht ganz wie du das meinst...
Ich gehe einfach über ein Sub-D kabel direkt auf den Sub-D (ISP) anschluß an meinen Board (Pollin Evolution board 2).
Da ist bei mir sonst nix schwichen geschaltet

izaseba
16.01.2008, 16:58
Irgendwie hab ich überlesen, daß du so ein Board hast 8-[

Naja, der Programmer ist aber nicht unbedingt das gelbe vom Ei...
Bau Dir doch was mit Protokoll
stk500 Nachbau oder avr910,
ich könnte Dir diesen hier (https://www.roboternetz.de/phpBB2/viewtopic.php?t=36087) anbieten, der ist noch nicht geschlachtet, habe sogar die richtigen Quarze da.

Wie oft hast Du den µCschon geflasht ?
So ein Fehler kann auch auf defekten Flash deuten :-k

Besserwessi
17.01.2008, 19:37
Mit dem Programmiere gab es da ein paar Missverständnisse:
Die Schaltung für den Programmiere ist mit auf dem Board. Die Bemerkung zur Länge des ISP Kabels trift also hier nicht zu, da war die Länge des Kabels vom Programmierer zum Testboard gemeint.
Der Programmieren ist die einfache Version Bitbanging an der Seriellen Schnittstelle. Da darf das Kabel ruhig etwas länger, bis ca. 2 m sein, denn die Serielle Schnittstelle hat bei den meisten PCs langsame Flanken. Dafür besteht die möglichkeit das das Betriebssystem da irgendwie dazwischenfunkt, besonders wenn irgendwelche Treiber für Geräte an der Seriellen Schnittstelle installiert sind.

Bei der Beschreibung zu der Platine sind mir aber 2 mögliche Problem bei der Schaltung aufgefallen:
1. Vor dem Spannungsregler ist nur ein Elko, kein kleiner Keramik Kondensator. Der Regler könnte also zum Schwingen neigen.

2. Der Abblockkondensator für den Mega 8 ist nur bei GND-VCC und auch da nicht richtig dicht.

Die Kondensatoren (je 47-100nF) könnte man wahrscheinlich noch nachträglich als SMD Teile oder mit kurzen Drähten von unten anlöten. Die Extra Kondensatoren sollten schon wegen der Funkentstöung dran.

Ein defektes Flash ist möglich aber eher unwahrscheinlich. So schnell kommt man nicht auf 1000 Pragrammierzyklen. Als Test könnte man aber einfach das leere Flasch oder das EEPROM auslesen