Hallo Kennt sich jemand mit TwinAVR und dem Programmieren der ATmegas aus? Ich benutze TwinAVR für den ATmega16. Bisher hatte ich gedacht, man überschreibt den Speicher einfach, wenn man ihn neu programmiert, vorausgesetzt, das neue Programm hat einen sauberen Abschluß und läuft nicht unkontrolliert weiter. Mit TwinAVR ging das anfangs meistens so, aber ich habe den Eindruck, man müsse immer öfters auch noch den Erase-Button vor dem Neuprogrammieren drücken und warten, warten... . Andernfalls kommt nach dem Write die Meldung flash memory write error. Der ATmega ist noch nicht am Ende, denn nachdem es überhand nahm, habe ich einen neuen eingesetzt, es wurde aber nicht besser. Wenn es noch weiter bergab geht, wäre das sehr unpraktisch, denn TwinAVR ist das einzige ordentliche Programm, das bei mir funktioniert, - im Gegensatz zu Ponyprog, Bascom o. dgl. - die meinen ATmega16 auf der Olimex-Entwicklungsplatine (von Andreas Schäfer) nicht erkennen. Hat jemand einen guten Rat für mich? PS: Als Programmieradapter zur Parallelschnittstelle habe ich einen Selbstbau mit einigen Widerständen nach einen Schaltplan aus dem Forum. Mfg Günther
Hallo Günther, es scheint so zu sein, daß TwinAVR nur die Bytes überträgt, die auch im Hex-Code stehen, sprich es wird nicht der vollständige Speicher vom AVR überschrieben. Wenn Dein Hex-Code nun kürzer ist, wie der der bereits im AVR drin ist, so werden nun die neunen überschrieben. Dazwischen wird noch Mist stehen, mit dem der AVR meist nichts anfangen kann, aus diesem Grund gibt es die Funktion Erase. Die überschreibt wahrscheinlich den ganzen Speicher mit "FF". Wieso Ponyprog und yaap bei Dir nicht funktionieren -- finde ich etwas merkwürdig. Welches Betriebssystem benutzt Du? Ich denke Du hast irgendwo noch ein "faules Ei". Gruss Marc
Hallo Marc, ich benutze W2k und ich halte das auch nicht für normal. aber ich weiß nicht, woran es liegt. Bevor ich TwinAVR ausprobiert habe, hatte ich nach einer Bauanleitung aus dem Netz einen Adapter mit Schmitt-Triggern gebaut, aber das hat auch nichts gebracht. Dann habe ich TwinAVR gefunden. Das läuft aber nur, wenn man jedesmal den Treiber Totalio lädt. Und mit diesem frisch geladenen Treiber findet Ponyprog Kontakt zu dem ATmega. Allerdings müßte ich wohl nach einer Version suchen, die den ATmaga16 schon kennt. Vielleicht würde das auch bei Bascom helfen. Gruß Günther
@Günter Warum fragst Du nicht mal den Autor? Der dürfte doch wohl am ehesten daran interessiert sein, dass sein Programm funktioniert. Ansonsten mal diese Dinger probieren. http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
@Günter: >ich benutze W2k und ich halte das auch >nicht für normal. aber ich weiß nicht, >woran es liegt. Ich benutze auch W2k, allerdings lief Ponyprog immer, mit dem Yaap und den ATMega16 gibt es eine spezielle Konfiguration. Die findest Du auch in diesem Forum. >Das läuft aber nur, wenn man jedesmal >den Treiber Totalio lädt. >Und mit diesem frisch geladenen Treiber >findet Ponyprog Kontakt zu dem ATmega. >Allerdings müßte ich wohl nach einer Version >suchen, die den ATmaga16 schon kennt. Ich glaube Du hast Kollisionen mit den Treibern, denn soweit ich gesehen habe, sollte Totalio direkt verfügbar sein nach der Installation. Allerdings habe ich keine Ahnung, wie man die Treiber in Win aufräumt. Ich würde mal die Totalio.sys mal umbenennen, und mal schauen, ob beim Reboot irgendwas meckert. Hast Du das ganze mal auf einem anderen Rechner probiert, einfach Ponyprog drauf und keine TwinAvr. Gruss Marc
Hallo, TwinAVR führt stets ein ChipErase aus, wenn Daten in den Flash geschrieben werden sollen. D.h. der Flash ist in diesem Fall stets leer. Daran sollte es also nicht liegen. Achtung: Wenn nur Daten in den EEPROM geschrieben werden sollen, wird kein ChipErase ausgeführt. Ach so: Den Erase-Button muß man vor dem Neuprogrammieren definitiv nicht drücken. Wenn diverse Programme Schwierigkeiten bei NT-Systemen (NT4 W2K, XP) haben, per LPT zu programmieren, dann probiere mal folgendes, um das Problem einzugrenzen: 1. Starte irgend ein 16-Bit-Programm, bevor Du TwinAVR startest. Du kannst natürlich auch einmal TwinAVR starten und inaktiv offen lassen und dann mit einem zweiten Start brennen. Dieser Test sollte nur dann sinnvoll sein, wenn Du die Datei per Kommandozeile übergibst. Sinn der Sache: Vielleicht dauert das Starten des allerersten 16-Bit-Programms bei Dir sehr lange und bringt das Timing durcheinander. Immerhin muß NT ja erst mal die 16-Bit-Engine hochkriegen. 2. Setze mal die Taktrate in TwinAVR herunter. TwinAVR prüft stets die geschriebenen Daten. Wenn Schrott zurückkommt, wird dynamisch die Brenngeschwindigkeit herabgesetzt. Vielleicht führt das bei Dir zu drastisch geringen Geschwindigkeiten?! 3. Ich habe schon zwei oder drei mal erlebt, daß irgend welche speziellen Schnittstellentreiber das System extrem ausbremsen. Bei normalen Desktop-Anwendungen merkt man das oft gar nicht, aber bei den Schnittstellen sehr - und komischerweise auch bei der LPT. Tschüß von Roland
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.