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
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.
Ok, aber woran liegt das bzw. kannst du das etwas präziser ausführen? Gruß Knut
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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.