Forum: Compiler & IDEs Fehlermeldung eclipse


von Knut (Gast)


Lesenswert?

Hallo,

nach dem Übertragen der Software meldet Eclipse folgenden Code in der
Console:

Launching C:\WinAVR-20100110\bin\avrdude -pm128 -cstk500v2 -Pcom9 -u
-Uflash:w:MTS200.hex:a -Ulfuse:w:0x3f:m -Uhfuse:w:0xd9:m
-Uefuse:w:0xff:m -Ulock:w:0xf3:m
Output:

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e9702
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 "MTS200.hex"
avrdude: input file MTS200.hex auto detected as Intel Hex
avrdude: writing flash (266 bytes):

Writing | ################################################## | 100%
0.14s

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

Reading | ################################################## | 100%
0.09s

avrdude: verifying ...
avrdude: 266 bytes of flash verified
avrdude: reading input file "0x3f"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100%
0.02s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0x3f:
avrdude: load data lfuse data from input file 0x3f:
avrdude: input file 0x3f contains 1 bytes
avrdude: reading on-chip lfuse data:

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

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: reading input file "0xd9"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100%
0.00s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xd9:
avrdude: load data hfuse data from input file 0xd9:
avrdude: input file 0xd9 contains 1 bytes
avrdude: reading on-chip hfuse data:

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

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xff"
avrdude: writing efuse (1 bytes):

Writing | ################################################## | 100%
0.00s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xff:
avrdude: load data efuse data from input file 0xff:
avrdude: input file 0xff contains 1 bytes
avrdude: reading on-chip efuse data:

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

avrdude: verifying ...
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0xf3"
avrdude: writing lock (1 bytes):

Writing |  ***failed;
################################################## | 100% 0.11s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0xf3:
avrdude: load data lock data from input file 0xf3:
avrdude: input file 0xf3 contains 1 bytes
avrdude: reading on-chip lock data:

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

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

avrdude done.  Thank you.

avrdude finished




Das Programm funktioniert, jedoch mach mich der letzte Absatz etwas
stuzig
Warum gibt es beim verifying einen Fehler bzw. was sagt dieser Fehler
aus?



Gruß Knut

von Klaus F. (kfalser)


Lesenswert?

Nicht Eclipse meldet den Fehler, sondern das Programm avrdude, das den 
Chip programmiert.

Und zwar werden das extendend fuse byte und das lock byte nicht richtig 
programmiert.

von Knut (Gast)


Lesenswert?

Ok, aber woran liegt das bzw. kannst du das etwas präziser ausführen?

Gruß Knut

von Oliver (Gast)


Lesenswert?

Klaus Falser schrieb:
> Und zwar werden das extendend fuse byte und das lock byte nicht richtig
> programmiert.

Doch. Da hat avrdude einen "Bug". In diesen Fuse-Bytes sind nicht alle 
Bits benutzt, laut Datenblatt stehen die ungenutzten auf 1, allerdings 
liest avrdude da eine 0. Daher kommt der Verify-Error. Die benutzen Bits 
stimmen aber trotzdem, was man mittels Datenblatt nachprüfen kann und 
sollte.

Allerdings sollte man an den fuses nur rumspielen, wenn es absolut 
erforderlich ist. Die müssen nicht bei jedem Programmiervorgang erneut 
geschrieben werden. Und deine Frage lässt vermuten, daß du da gar nicht 
genau verstehst, was da eigentlich passiert.

Oliver

von Knut (Gast)


Lesenswert?

Könnte man vermuten... Ich hab vorher mit dem AVR- Studio programmiert,
da Tabs nie Probleme mit den fuses. Jetzt bin ich auf Eclipse 
umgestiegen
und hatte groß Probleme überhaupt meine Programmer einzurichten!

1. Falsche Version von WinAVR
2. System hat falsche Treiber verwendet

daher war ich mir jetzt unscher was nun wieder falsch sein könnte,
da es sehe leicht is mit Eclipse Fehler zu machen. Im Nachhinein
überlege ich ob ich wirklich bei Eclipse bleiben soll und nich doch bei
AVR Studio bleibe! Eclipse hat halt ne sehr schöne Oberfläche.

Kann mir denn jemand mal Vorteile gegenüber dem Studio nennen?

Gruß Knut

von Oliver (Gast)


Lesenswert?

Besserer Editor, integrierte Versiosnverwaltung, Programmer besser 
integriert, ...

Und die Settings für avrdude und anderes lassen sich per Mausclick in 
den Projektsettings einstellen.

Knut schrieb:
> 1. Falsche Version von WinAVR

???
Eclipse verwendet genauso wie AVRStudio WinAVR. Was sollte da an der 
Version falsch sein (ausser, du nutzt steinalte Versionen)?

Oliver

von Knut (Gast)


Lesenswert?

WinAVR20070XYZ, in dieser Version standen unter Eclipse keine
Programmiergeräte zur Auswahl,  warum auch immer...

mit der ganz aktuellen Version hat's auf Anhieb geklappt!
Der Editor von Eclipse ist sehr übersichtlich und optisch ansprechend!
Da macht das Programmieren richtig Spass fürs Auge!

Ich werd nochn paar Tage rumspielen, ma sehn wie es sich dann
handhaben lässt

Gruß Knut

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.