Hallo Leute. Ich habe ein Problem mit mein Anet A6 3D Drucker Mainboard. Ich wollte mir ein andres Firmware drauf spielen, da ich das Display gewechselt habe, und die Originale FW das nicht mit macht. Skynet/marlin Nun habe ich das Problem jedoch das ich den Atmega 1248p zwar auslesen kann, Aber nicht beschreiben. Da kommt Diese Meldung. avrdude.exe: verifying ... avrdude.exe: verification error, first mismatch at byte 0x1f000 0xff != 0x0c Nach langem hin und her habe ich gesehen das. Wenn ich bei AVRDUDESS unter fuses & lock bits. auf LB Read gehe, setzt er es von 0x0f auf 0x3f Dann ist die Fehler Meldung weg, und es tut so als würde der den chip löschen/ neu beschreiben. Jedoch ist nach dem Autorest immer noch die alte Firmware drauf. Selbst die Laufzeiten und Filament verbrauch ist nicht resettet. Heißt es tut nur so. Nun ist das aber so das, laut den Hardware-specification für den A6 boardloader, heist es. anet.bootloader.unlock_bits=0x3F anet.bootloader.lock_bits=0x0F Setze ich dann den LB auf 0x0F dann hacken bei set lock und write. avrdude.exe: verifying ... avrdude.exe: verification error, first mismatch at byte 0x0000 0x3f != 0x0f gehe ich auf LB auf read setzt er es auf 0x3f, wenn ich nun auf write gehe kommt. avrdude -u -c usbasp -p m1284p -P COM3 -b 19200 -B 4.0 -F -U lock:r:-:h SUCCESS: Read lock bits avrdude -u -c usbasp -p m1284p -P COM3 -b 19200 -B 4.0 -F -U lock:w:0x3F:m avrdude.exe: set SCK frequency to 187500 Hz avrdude.exe: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude.exe: Device signature = 0x1e9705 avrdude.exe: reading input file "0x3F" avrdude.exe: writing lock (1 bytes): Writing | ################################################## | 100% 0.01s avrdude.exe: 1 bytes of lock written avrdude.exe: verifying lock memory against 0x3F: avrdude.exe: load data lock data from input file 0x3F: avrdude.exe: input file 0x3F contains 1 bytes avrdude.exe: reading on-chip lock data: Reading | ################################################## | 100% 0.01s avrdude.exe: verifying ... avrdude.exe: 1 bytes of lock verified avrdude.exe done. Thank you. Probiert habe ich verscheiedene programmern Usbasp Arduino as isp AVRISP mkII Alle das selbe.
siehe: "2918059D–AVR–11/09ATmega1284P25. Memory Programming25.1 Program And Data Memory Lock BitsThe ATmega1284P provides six Lock bits which can be left unprogrammed (“1”) or can be pro-grammed (“0”) to obtain the additional features listed in Table 25-2. The Lock bits can only beerased to “1” with the Chip Erase command" "Further programming of the Flash and EEPROM is disabled in Parallel and Serial Programming mode. The Fuse bits are locked in both Serial and Parallel Programming mode.(1)300Further programming and verification of the Flash and EEPROM is disabled in Parallel and Serial Programming mode. The Boot Lock bits and Fuse bits are locked in both Serial and Parallel Programming mode." https://ww1.microchip.com/downloads/en/DeviceDoc/doc8059.pdf#page=1&zoom=auto,-205,792 mfG
Ha... wenn das T deines Namens ein I wäre, hätt ich Dich jetzt gefragt ob Du aus'm Ruhrpott kommst ;) (und dir bei nem Kaffee deinen Drucker neu beschrieben die Tage)
Ok das heist auf deutsch? Ich kapiere das nicht, mein englich ist auch nicht so gut, und google überestzt es komisch :( Wie bringe ich dem in programmier modus. Wie mache ich das. 25.1 Program And Data Memory Lock Bits die 6 lock bits kann ich ja bei AVRDUDESS einstellen nur auf was? 0x0f mag der ja nicht. Table 25-2.Lock Bit Protection Modes Muss ich da erst jergend was endspären und wen ja wie / was.
Es wird doch schon Tutorials geben in denen das vernünftig beschriben ist. In avrdude könnte das -U lock:w:0xC0:m sein. Außerdem kann das mismatch auch an einer falschen Bootloadergröße liegen.
Bootloader gibts 2 und bei den kleineren davon kommt selbe fehler meldung. Außerdem habe ich mir bei dem hersteller ein update dafür runter geladen, auch nix. Ja dachte ich mir auch, auch habe ich das hier versucht. http://www.engbedded.com/fusecalc/ Nix zu machen avrdude.exe: verifying ... avrdude.exe: verification error, first mismatch at byte 0x00000 0xff != 0x5c
Erster Google Eintrag: https://www.bastelbunker.de/anet-v1-x-board-a8-a6-a2-via-isp-programer-wiederbeleben/
Meinst du nicht ich hätte alles schon ausprobiert? Funzioniert nicht. Wenn ich die lock_bits=0x0F, auf lock_bits=0x3F Ändere in Anet/avr/boards Dann tut es so als würde er es macen, ganz ohne fehler. mehr aber auch nicht. Amsonten mit den default lock bits.... avrdude.exe: verifying ... avrdude.exe: verification error, first mismatch at byte 0x1f000 0xff != 0x0c
:
Bearbeitet durch User
Sebastiano T. schrieb: > Alle das selbe. Was ist die Taktquelle beim Flashen? Quarz? Dann mal umfusen auf 8MHz aus dem internen RC-Oszillator. Geht das Flashen dann? Falls ja: Die Bürdekondensatoren passen nicht zum verwendeten Quarz... Übrigens: Mit den Lockbits rumspielen ist ziemlich sinnlos, die lassen sich nur setzen. Zurücksetzen geht nur per Chip-Erase.
Du musst ein Chip-Erase machen. Es wäre reichlich sinnfrei, könnte man die Lockbits einfach so zurücksetzen, ohne den Chip zu löschen. Denn dann könnte man einfach die Lockbits zurücksetzen und das Programm auslesen. Genau das sollen die Lockbits verhindern.
Du hast den Controller auch vom Drucker getrennt, gell? und versuchst es über den ISP korrekt? eingebaut über usb kann ich meinen Controller auch nicht flashen. Vom Drucker getrennt geht usb (hörte aber das Anet v1.x boards gerne Probleme machen und quasi nur über isp zuverlässig zu beschreiben sind)
Gennau mainboard liegt auf dem tisch nix dran angeschloßen, testweiße nur den alten display um zu schauen ob es wirklich geflascht wurde. Mit und ohne strom am mainboard probiert. Programmiert über Usbasp Arduino es ISP AVRISP MkII programmer. Über usb ging nicht,der sagte not in sync. Jetzt habe ich jedoch den vorschlag ausprobiert per console. -U lock:w:0xC0:m Nun kommt immer fehler auch wen ich das LB auf 0x3F einstelle. Board wird aber weiterhin über ISP Erkannt. c-hater schrieb: > Was ist die Taktquelle beim Flashen? Quarz? > > Dann mal umfusen auf 8MHz aus dem internen RC-Oszillator. Geht das > Flashen dann? Falls ja: Die Bürdekondensatoren passen nicht zum > verwendeten Quarz... > > Übrigens: Mit den Lockbits rumspielen ist ziemlich sinnlos, die lassen > sich nur setzen. Zurücksetzen geht nur per Chip-Erase. Ups das hatte ich garnicht gesehen sorry. Externes Quarz ka wie das funktioniert. Ich habe den Jumper Beim Usbasp gesteckt für den Slow Sck Zehlt das auch? Erasen läst sich der chip ja nicht, das ist ja das komische. es tut nur so...
:
Bearbeitet durch User
Sebastiano T. schrieb: > Meinst du nicht ich hätte alles schon ausprobiert? Die Arduino IDE setzt auch die richtigen Lock Bits über USBASP/MK2, das aber nur bei "Bootloader brennen". Die IDE macht das alles automatisch. Oder in der Arduino IDE "Hochladen mit Programmer", im normalfall wird nur der Bootloader über usb angesprochen. Ich hatte das Problem auch mal und das war definitiv ein Wackler und die falschen Fuses zum Bootloader (überlappende Bereiche).
:
Bearbeitet durch User
Sebastiano T. schrieb: > Jetzt habe ich jedoch den vorschlag ausprobiert per console. > -U lock:w:0xC0:m Sagmal bist du so erkenntnisresistent? DU KANNST DIE LOCKBITS NICHT SO ZURÜCKSETZEN! ES GEHT NICHT! DU MUSST DIE LOCKBITS MIT EINEM CHIP ERASE ZURÜCKSETZEN. Grund steht oben. avrdude -e
Karl K. schrieb: > Sebastiano T. schrieb: >> Jetzt habe ich jedoch den vorschlag ausprobiert per console. >> -U lock:w:0xC0:m > > Sagmal bist du so erkenntnisresistent? > > DU KANNST DIE LOCKBITS NICHT SO ZURÜCKSETZEN! ES GEHT NICHT! DU MUSST > DIE LOCKBITS MIT EINEM CHIP ERASE ZURÜCKSETZEN. > > Grund steht oben. > > avrdude -e Sagte ich nicht das der kein erase macht? ---> Erasen läst sich der chip ja nicht, das ist ja das komische. es tut nur so... <---- AVRDUDDES sagt zwar: avrdude.exe: Device signature = 0x1e9705 avrdude.exe: erasing chip Danach autoreset, und nict mal ein dabflash alles beim alten. >Die Arduino IDE setzt auch die richtigen Lock Bits über USBASP/MK2, das >aber nur bei "Bootloader brennen". Geht nicht oben schon erklärt. >Oder in der Arduino IDE "Hochladen mit Programmer", im normalfall wird >nur der Bootloader über usb angesprochen. Geht auch nicht es tut so und dann bricht er bei etwa 50% ab. Danach efolgt ein AUTOReset und alles ist beim alten. Als hätte ich nix gemacht. Im anhang die Arduino IDE Erase habe ich über cosole so gemacht. C:\Program Files (x86)\AVRDUDESS>avrdude -c usbasp -p m1284p -P usb -b 19200 -B 8.0 -e avrdude: set SCK frequency to 93750 Hz avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.03s avrdude: Device signature = 0x1e9705 avrdude: erasing chip avrdude: set SCK frequency to 93750 Hz avrdude: safemode: Fuses OK (H:FD, E:DA, L:D6) avrdude done. Thank you.
:
Bearbeitet durch User
Sebastiano T. schrieb: > Sagte ich nicht das der kein erase macht? > ---> Erasen läst sich der chip ja nicht, das ist ja das komische. es tut > nur so... <---- auch nicht mit einem HV Löscher? AVR Fuses zurücksetzen https://www.mikrocontroller.net/articles/AVR_HV-Programmer
Ich glaube ich schmeiß das teil weg, neu kostet der 35€ und das geht mir langsam auf den s... Mit HV ist immer eine sache für sich. Hatte ich schon dran gedacht aber.. Kann mal schnell passieren das der ganz geschrottet wird. Dann bastel ich weiter da für nix.
Sebastiano T. schrieb: > avrdude.exe: Device signature = 0x1e9705 > avrdude.exe: erasing chip Wenn er die Signatur lesen kann, dann - geht Reset - geht Miso, Mosi und Sck - stimmt die Frequenz - läuft der Quarz Insofern bringt hier ein HV Programming nichts, was nicht auch so gehen würde. Dass der Eeprom bei einem Erase nicht gelöscht wird kann sein, wenn das EE Save Flag gesetzt wird. Macht man, damit man nicht bei jedem Programmieren im EEprom gespeicherte Werte neu eingeben muss. Das Erase wird durch eine 4-Byte-Sequenz ausgelöst, dann läuft das ohne weitere Befehle durch. Wenn das Erase offenbar gestartet, aber nicht erfolgreich ausgeführt wurde, könnte das daran liegen: - Reset wird vom Programmer vorzeitig beendet. - Vcc bricht ein und der AVR geht in den Brown-Out. Das müsste dann aber schnell nach Start des Erase geschehen, sonst würde wenigstens ein Teil des Programms gelöscht werden. Es gibt noch eine andere Möglichkeit: Der 1284 ist ein Fake, der sich nicht erneut programmieren läßt. Ich hab zwar noch nicht von AVR-Fakes gehört, aber bei den Mengen an ATmega328 und ATmega1284, die durch Arduino und 3D-Drucker verkauft werden würde es mich nicht wundern wenn die Chinesen den inzwischen nachbauen.
Ich gehe in zwischen stark davon aus das das teil wirklich sich einfach
nicht programmieren läst weil kein originaler ist, und damit jergend was
nicht stimmt.
>- Reset wird vom Programmer vorzeitig beendet.
Hatte ich mir auch gedacht deshalb habe ich den Arduino As Isp über
pin10 gemacht.
Da ich mit dem arduino bereits so ein problem hattte, das es über der
ICSP (Reset nicht ging).
Und somit habe ich den Reset auf pin10 verlegt.
Hier tut sich aber dennoch nix
Sebastiano T. schrieb: > Externes Quarz ka wie das funktioniert. Dann lies' einfach die Fusebytes aus und poste sie hier. > Ich habe den Jumper Beim Usbasp gesteckt für den Slow Sck Zehlt das > auch? Das könnte damit zu tun haben. Je geringer der Takt des Programmers, desto höher die Wahrscheinlichkeit, dass trotz instabilem Takt des Target noch irgendwas geht. > Erasen läst sich der chip ja nicht, das ist ja das komische. es tut nur > so... Wenn der Takt instabil ist, kann alles Mögliche passieren oder nicht passieren, das ist genau das Problem. Deswegen fängt man bei unerklärlichen Fehlern sinnvollerweise erstmal damit an, solche möglichen Fehlerquellen zu überprüfen und ggf. auszuschließen. Also: Systematische Fehlersuche statt ziellosen Rumprobieren ohne Sinn und Verstand. Vor der Taktgeschichte würde man normalerweise übrigens erstmal noch die Versorgung prüfen. Aber einen Oszi besitzt du vermutlich nicht...
Nein ein oszi habe ich leider nicht, dafür habe ich zu wenig damit zu tun. Ich habe aber die pins vom J3 Stecker zum Chip, auf durschgang überprüft. Und Versorgung hat der soweit auch. Zusätzlich kommt noch hinzu, das der drucker im eeprom schreiben kann. Heißt wenn ich eine einstellung anpasse. Sagen wir mal z wert dann Strom stecker ab ziehe für paar tagen dann bleibt dieses wert gespeichert. c-hater schrieb: > Dann lies' einfach die Fusebytes aus und poste sie hier. avrdude: safemode: Fuses OK (H:FD, E:DA, L:D6) LB:3F
Sebastiano T. schrieb: > Zusätzlich kommt noch hinzu, das der drucker im eeprom schreiben kann Das EEProm ist nicht der Flash Speicher des Programms, das sind unabhängige Bereiche.
Ja das ist mir bewusst, wollte ich nur event haben, weil ich den eeprom auch nicht gelöscht bekomme. P.s laut den Board definizion datei für den Anet A6 Bootloader sollen die Fuses so stehen. anet.bootloader.low_fuses=0xD6 anet.bootloader.high_fuses=0xDA anet.bootloader.extended_fuses=0xFD anet.bootloader.unlock_bits=0x3F anet.bootloader.lock_bits=0x0F
Sebastiano T. schrieb: > anet.bootloader.high_fuses=0xDA Damit ist die Programmierung über ISP (was du ja versuchst) ausgeschaltet. Und den Bootlader hast du über H-Fuse auch totgelegt. Die BOD Definition in der E-Fuse ist so vom Datenblatt nicht vorgesehen (undefiniert). Vermutlich kommst du am einfachsten zum Ziel, wenn du den Prozessor per HVP jungfräulich machst und dann ISP verwendest.
:
Bearbeitet durch User
Georg G. schrieb: > Und den Bootlader hast du über H-Fuse auch totgelegt. Neine eben nicht es bootet ich habe grade noch den alten display angeschloßen und bin am teile drucken xD Nur kriege ich da die andre firmware nicht drauf. Deshalb kann ich den neuen display nicht benutzen, und damit viele optionen die den druck verbeser würden etc.. >Damit ist die Programmierung über ISP (was du ja versuchst) >ausgeschaltet. Ja dann scheint es von anfang an so zu sein. Komisch ist auch das. Ich habe an die 9 verkäufer gefragt ob die bords Flaschbar sind mit der Marlin oder skynet firmware. Bords von version v1-5 bis v1.7 Alle gaben mir die selbe antwort. Wir haben die anfrage weite geleitet blabla. >Vermutlich kommst du am einfachsten zum Ziel, wenn du den Prozessor per >HVP jungfräulich machst und dann ISP verwendest. Wie stelle ich das am besten an? Was brauche ich dafür. Ich vermute mal das ich das extern machen muss. heist chip auslöten, und hv programmmer kaufen oder bauen -.-
:
Bearbeitet durch User
Sebastiano T. schrieb: > Neine eben nicht es bootet Du verwechselst "Bootlader" mit " Booten = Nutzerprogramm starten". Der Bootlader ermöglicht es dir, ein neues Programm zB über die serielle Schnittstelle aufzuspielen, ohne einen Programmieradapter. HVP geht auch in der Schaltung - wenn der Entwickler beim Entwurf die Tür auf gemacht hat. Ansonsten entweicht uU magischer Rauch bei dem Versuch. Löte den Prozessor aus, baue eine Fassung ein und such dir jemanden in deiner Nähe, der ihn für dich programmiert. Eine gute Alternative wäre, einen neuen Prozessor zu nehmen. Dann ist dir der Rückweg immer offen. In welcher Form hast du die neue Firmware? Viele Firmen geben die neue Firmware nur verschlüsselt heraus. Der eingebaute Bootlader macht dann die Entschlüsselung.
Sebastiano T. schrieb: > avrdude: safemode: Fuses OK (H:FD, E:DA, L:D6) LB:3F Damit ist Programmieren und Debuggen komplett ausgeschaltet. Der einzige Weg da raus ist HV-Programming für ein hübsches Chip-Erase. Oder einfach einen neuen Chip einbauen. Kostet lötmäßig den gleichen Aufwand, spart aber das HV-Programming. Und du kannst mit einer weiteren Lötaktion notfalls zum alten Chip zurückkehren.
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.