Hallo zusammen, ich hätte mal eine Frage an euch. Hat jemand den USB-Programmer vom Thomas Fischl nachgebaut und mit einem ATmega 128 ausprobiert? Mir gelingt es nicht einen solchen Baustein zu beschreiben, trotzt der Implementierung der Erweiterung aus anderen Seiten und der 5.2 Version von AVDude. Problem scheint wirklich die 64k-Grenze zu sein. Danke schon mal ! Gruß rf-bug
Läuft er bei kleineren Controllern? Ich weiß nicht, ich habe das Teil jetzt auch zusammen gebaut und habe das Problem, nicht mal einen Mega8 beschreiben zu können. Lesen, löschen und verifizieren geht. Das gleiche Problem hat einer aus dem Roboternetz-Forum auch. Viele sagen, dass die ältere Firmware mit gepatchtem AVRDude funktionieren soll, bei mir nicht. Mußte auch eine Spannungsanpassung auf 3,3V machen, damit die USB-Schnittstelle meines neuen Notebook den Programmer erkennt. Ein altes Gericom 1st Supersonic und mein Acer Travelmate 290 erkennen das Teil auch bei 5V. Schreiben geht da aber auch nicht. Ist noch nicht ganz ausgegoren die Sache. Mir hat es halt gefallen, dass er so schön einfach aufgebaut ist und ich alle Teile auf Vorrat habe. Nur was nützt er mir, wenn ich nicht schreiben kann? Nun muß ich mir was einfallen lassen, denn ich habe langsam kein Notebook mit paralleler Schnittstelle mehr. :o(
Habe vorige woche auch einen fischl usbasp aufgebaut. Lesen und löschen von atmega8,64 und 128 geht mit gepatchtem avrdude und alter wie neuer Firmware völlig problemlos. Programmieren einzelner bytes im eeprom ist ok, im Flash gibts erst meldung verify error (inhalt ff) ist aber beim nochmaligen lesen ok. Beim Flashen oder Eeprommen von Datei gibts fehlermeldung ganz unten: avrusb>avrdude -p atmega8 -c usbasp -U eeprom:r:"eeprom.eep":i found 2 busses avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x1e9307 avrdude: current erase-rewrite cycle count is 151126016 (if being tracked) avrdude: reading eeprom memory: Reading | ################################################## | 100% 0.07s avrdude: writing output file "eeprom.eep" avrdude: safemode: Fuses OK avrdude done. Thank you. avrusb>avrdude -p atmega8 -c usbasp -U eeprom:w:"eeprom.eep":i found 2 busses avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x1e9307 avrdude: current erase-rewrite cycle count is 201457664 (if being tracked) avrdude: reading input file "eeprom.eep" avrdude: writing eeprom (512 bytes): Writing | | 0% 0.00savrdude: error: usbasp_transmit: error sending control message: win error: Der E/A-Vorgang wurde wegen eines Threadendes oder einer Anwendungsanforderung abgebrochen.
So, habe nochmal mit der älteren Firmware von Fischl rumgespielt und die Fuses des Mega8 auf 65ms Verzögerung beim Start gestellt (SUT 11) -> Fazit: es funktioniert auf 3 Laptops. Endlich, ein USB-Programmer :o) Wahrscheinlich war der Quarz noch nicht angeschwungen. Weitere Veränderungen sind halt nur noch die Anpassung auf 3,3V um USB2.0-kompatibel zu sein und Widerstände in den Programmierleitungen zur Strombegrenzung bei Falschbeschaltung oder wenn die Zeilschaltung mit 5V läuft. Werde mich demnächst mal nach einem Low-Drop-Spannungsregler umsehen, der die Z-Diode ersetzt. Um mal auf die Ausgangsfrage zurückzukommen: Wenn mein ATMega128 startklar wäre, würde ich es mal versuchen. Leider würde es jetzt zu lang dauern ihn anzuschliessen. Vielleicht hat jemand anderes damit Erfahrung gesammelt? Theoretisch geht es, laut Fischl ab Version 2005-11-14.
Hi, ich habe den ATmega8 programmiert bekommen, allerdings nicht verifiziert. D.h. der AVRdude hat ohne Fehlermeldung geschrieben. Allerdings habe ich den Flash nicht mehr ausgelesen. Ein Bekannter mit dem ich den Programmer bauen wollte, hat so wie ich auch das Problem, das Programme die größer 64 k sind, definitiv nicht geschrieben werden (ins FLASH). Ich habe die Daten per Dude aus dem FLASH gelesen und das was ich gesehen habe war nicht der geschriebene CODE. Nicht mal Ansatzweise. Wir haben schon gedacht, das nach 64k der restliche Code wieder an den Anfang geschrieben wurde, aber auch nichts. Es sieht so aus, das "irgendwas" geschrieben wird. capellone hast du auch wirklich das FLASH beschrieben? Evtl. was an der Hardware geändert? Wie gesagt, wir haben in Summe schon viele Stunden an dem Ding gesessen und nicht zum Rennen bekommen. Genommen haben wir den AVRdude 5.2 (der den USB-Fix enthält) und die beiden letzten Versionen von T.Fischl. Unseren Intel-, Motorolaformatfile haben wir mit PonyProg2000 erstellt.
"Unseren Intel-,Motorolaformatfile haben wir mit PonyProg2000 erstellt." Wie bitte?
Oooh, hast recht. Fehler! Ich denke es war der WinAvr (hat mein Bekannter gemacht). Also bitte vergessen!
Also ich habe es auch nicht geschaft. Größer 64k war nicht drinnen. @capellone wäre gut zu wissen, ob es bei dir geht. Ich habe eigentlich aufgegeben, an dem Teil weiter zu machen, denn ich wollte einen Programme der den 128'er schreiben kann.
Hallo erstmal werte Usergemeinde. Ich lese schon seit einigen Jahren in diesem Forum mit und ich muß sagen, es ist meiner Meinung nach das beste deutschprachige Forum für diverse Mikrocontroller. Aber nur warten bis einige das gleiche Problem haben mit dem man selbst schon eine Weile kämpft, daß bringt dann doch nichts. Und damit möchte ich auch meine Erfahrungen und Probleme mit einbringen. Mit dem Programmer von Fischl habe ich ebenfalls so meinen Kampf. Als vorteil habe ich ebenso wie andere den relativ einfachen Aufbau der Schaltung gesehen. Die Firmware war schnell mit einem einfachen Parallelprogrammer auf dem M8. Das Gerät an den USB-Port, den Treiber gesucht, gefunden und die Schaltung wurde erkannt. Ich muß dazu sagen, daß ich immer noch ME als Betriebssystem habe, aber manch ältere Sachen funktionieren damit gut, ohne weitere Treiber. Über den Avrdude ließ sich das Target (Testschaltung mit M8) auch wunderbar ansprechen. Aber bevor ich etwas auf den Flash schreibe, möchte ich dessen Inhalt auslesen, zumal sich ein kleines Programm darauf befindet. Meine Eingabe für den Avrdude: avrdude -p m8 -c usbasp -u -C "c:\xxx/avrdude.conf" flash:r:"c:\xxx/temperatur flash.bin":r -t Im Terminalmode kann man dann ja mit: dump eeprom (adr.xx) (länge xx) sich dessen Inhalt ansehen oder auch vom Flasch etc.. Aber der leere EEprom ist dann nicht leer. Es sieht so aus als wenn darauf einige Bits und Bytes verändert werden. Das gleiche auch mit dem Flash. Mit q kehre ich aus dem Terminalmode zurück nachdem dann der Flash ausgelesen wurde. Wenn ich mir dann die Datei in einem Hex-Editor ansehe, dann hat dessen Inhalt nichts mehr mit dem ursprünglichen Progamm zu tun. Den M8 wieder an den Parallelprogrammer, EEprom und Flash ausgelesen und es sind Veränderungen im Speicher zu erkennen. Danach programmiere ich den Chip neu, bring das ganze wieder an den usbasp und das ganze läuft dann genauso wie vorher beschrieben ab, nur das sich dann einige andere Bits ändern. Ich verwende die conf und Firmware sowie den Dude von der Webseite von Hr. Pfeifer. Er hatte das ganze auch mal in Smd aufgebaut und einiges geändert. Daher bin ich der Meinung das es auch funktionieren müßte oder hänge ich an einem falschen Gedanken ? Gruß euer Otto.
Hallo Otto, erst mal danke für deine Antwort. Wenn ich dich richtig verstanden habe, hast du alles mit einem M8 gemacht. Bei uns läuft der M8 auch super. Null Problemo! Daher wollte ich den auch nachbauen. Doch dann wollte ein Kollege seinen M128 programmieren. Und da hakt es. Wie schon geschrieben, so bald nur ein Bit mehr wie 64k geschrieben wird schon geht es nicht mehr. Gemacht alles wie Beschrieben. Aber nichts. Ich muss gestehen, dass ich den eigentlich nachbauen möchte, da das Teil super schlank ist und das Layout auch schon fertig ist, aber der M128 ist ein MUSS. Ich denke, dass ich doch auf eine Lösung mit FTDI Baustein zurückgreifen werde. Schade eigentlich, aber die Zeit die da schon investiert wurde ist einfach viel. Danke! Gruß & schönes WE rf-bug
Hallo, was den M128 angeht, da könnte ich event. auf die Seite von Hr. Pfeifer verweisen (http://thomaspfeifer.net/). So wie ich dort gelesen habe hat er einige Änderungen vorgenommen um die Pagegröße zu erweitern, so das es dann auch mit einem M128 funktionieren sollte. Selbst arbeite ich bisher nur mit dem M8, aber die beschriebenen Probleme sind nach wie vor noch da, so das man auch langsam die Lust verliert daran weiter zu arbeiten. Bisher habe ich fast alles zum laufen bekommen, was ich bisher an Hardware gebaut habe. Aber dieser Programmer macht mich "fertig". Da scheinbar relativ viele User die gleichen oder ähnliche Probleme haben, wäre es mitunter sinnvoll wenn jene, bei denen der Usbasp funktioniert auch mal ihre Einstellungen posten würde. Z.B. mit welcher Firmwareversion, welcher Dudeversion (event. mit welcher funktionierenden Befehlsfolge), den richtigen Einstellungen der Fusebits auf dem Programmer und auf dem zu Programmierenden Chip (z.B. M8) oder mit welchen event. Hardwareänderungen bei ihnen der Programmer funktioniert. Event. war es ja auch zu verlockend einen einfachen und preiswerten USB-Programmer selbst nachbauen zu können. In diesem Sinne bin ich ebenfalls für jede nützliche Info dankbar. Gruß, euer Otto.
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.