Hallo Jungs, ich verwende den ATXMEGA 128A3. Dieser hat leider einen BUG im EEPROM so das ich nur Daten in den EEPROM mit Hilfe eines umständlichen Workaround schreiben kann. Hat jemand Erfahrung ob bei einigen XMEGA µC dieser Bug behoben wurde? Dieses Workaround ist nicht wirklich eine schöne Lösung so das sonst nur ein externer EEPROM bleiben würde.
Wenn du bei Atmel in die Erata schaust, werden nur der A3/D3 und 256A3B aufgeführt. Verwende doch den A1. Bei mir auf dem XPLAIN Board ist der A1 drauf. Der scheint das Problem nicht zu haben
Johann schrieb: > ich verwende den ATXMEGA 128A3. Dieser hat leider einen BUG im EEPROM so > das ich nur Daten in den EEPROM mit Hilfe eines umständlichen Workaround > schreiben kann. Welchen Bug meinst du? Diesen wahrscheinlich: http://www.atmel.com/Images/doc8241.pdf > Hat jemand Erfahrung ob bei einigen XMEGA µC dieser Bug behoben wurde? Betrifft nur Revision B, sollte daher eigentlich kein Problem mehr sein.
Welchen Bug meinst du? Rev.E (aktuelle Revision) EEPROM page buffer always written when NVM DATA0 is written Rev.B EEPROM page buffer always written when NVM DATA0 is written Writing EEPROM or Flash while reading any of them will not work Den Workaround für Rev.E Bug würde ich nicht als umständlich bezeichnen. Und den für Rev.B... der ist nicht gerade schön, aber kein Beinbruch.
Johann schrieb: > Dieses Workaround ist nicht wirklich eine schöne Lösung so das sonst nur > ein externer EEPROM bleiben würde. So hab ichs dann gemacht. Ein externer 93C46, da ich mir einfach nicht leisten konnte, die Kiste in den Sleep zu schicken. Der Bug betrifft auch aktuelle A3 - die Revision scheint dabei egal zu sein, zumal ich noch keinen Weg gefunden habe, diese im Chip zu lesen. Angeblich haben die U Typen nahezu alle Errata beseitigt, könnte also auch fürs EEPROM zutreffen.
Ich benutze ATxmega256A3s. Da habe ich keine Probleme, weder mit FLASH, noch mit EEPROM. Mit den 64A3s geht das nur mit dem Workaround. Carsten
Matthias Sch. schrieb: > Der Bug betrifft auch aktuelle A3 - die Revision scheint dabei egal zu > sein, zumal ich noch keinen Weg gefunden habe, diese im Chip zu lesen. Enthält die Signature Row nicht diese Information?
Ich hatte mich mal vor 1 Jahr damit genauer beschäftigt. Ich hatte mit dem JTAGICE MKII und den AVR Studio das Register der Revision ausgelesen. Im Degugmodus kann man ja in den µC alle Register aulesen und ich hatte die Revision B Wenn ich richtig informiert bin, dann muss man bei der aktuellen Revision auch noch das Workaround druchführen. Den µC in den Sleep setzen und nur 1 Interrupt aktivieren und die anderen deaktivieren halte ich schon für sehr viel mehr als einen kleinen Workaround, zumal ich auch nich in den Sleep Modus schalten möchte. ich bin der Meinung das der A1 auch von diesem Problem betroffen ist, aber ich kann noch mals ins Errata schauen. Ich verstehe leider nicht warum Atmel dieses Problem mit der Revision E nicht behoben hat. Zwischen Revision B und E gibt es so gut wie keine Verbesserungen. Ich werde mir mal die neuen U Typen anschauen. Hoffentlich sind da die Bugs weniger geworden.
Beim A1 steht das im Datenblatt unter Errata EEPROM page buffer always written when NVM DATA0 is written If the EEPROM is memory mapped, writing to NVM DATA0 will corrupt data in the EEPROM page buffer. Problem fix/Workaround Before writing to NVM DATA0, for example when doing software CRC or flash page buffer write, check if EEPROM page buffer active loading flag (EELOAD) is set. Do not write NVM DATA0 when EELOAD is set Ich weis nicht ob dies das gleich Problem ist wie bei den A3 Revision B Wenn ich dort einen Wert in den EEPROM schreiben will hängt sich der µC auf
Revision G vom A1 macht es auch nicht gerade besser. Da muss ich extra den Clock von 32MHz auf 2MHz umstellen um in den EEPROM zu schreiben oder ich muss das Workaround mit dem Sleep Modus benutzen. Also stimmt es nicht das der A1 keine Probleme mit EEPROM hat. EEPROM erase and write does not work with all System Clock sources When doing EEPROM erase or Write operations with other clock sources than the 2 MHz RCOSC, Flash will be read wrongly for one or two clock cycles at the end of the EEPROM operation. Problem fix/Workaround Alt 1: Use the internal 2 MHz RCOSC when doing erase or write operations on EEPROM. Alt 2: Ensure to be in sleep mode while completing erase or write on EEPROM. After starting erase or write operations on EEPROM, other interrupts should be disabled and the device put to sleep.
Doch der Bug aus Rev. B für den es den Sleep Workaround gibt ("Writing EEPROM or Flash while reading any of them will not work"), der ist in Rev. E behoben. Der Workaround für den Bug in Rev. B und E ("EEPROM page buffer always written when NVM DATA0 is written") ist wesentlich einfacher.
> Doch der Bug aus Rev. B > Der Workaround für den Bug in Rev. B und E Alles auf A3 aus deinem Erstposting bezogen. Mit dem A1 bringst du weitere Spieler aufs Feld :)
Ich habe mal mal der ATXMEGA U Serie mit den USB Full Speed Serie geschaut. Dort wird ja nur über 1 Bug im Errata beschrieben. Somit ist dies der µC mit den wenigsten Bugs auf der Welt ^^ Hat einer mit der U Serie bereits Erfahrung gemacht? Gibt es dort Nachteile gegenüber der A3 ohne U Serie?
Hallo, ich habe hier gerade einen AtxMega128a1u. Mein Bootloader der mit dem alten xmega128A1 funktioniert hatte, hat nicht mehr funktioniert. Und zwar ist er irgendwo beim beschreiben des Flash hängen geblieben. Dann habe ich mal den 2 Mhz statt den 32Mhz Osz. eingestellt und es läuft. Die Ursache ist mir aber nicht klar... Hat da jemand eine Idee? Der Bootloader basiert auf eine ältere version von avr-xboot... hab mal in den Anhang gehängt... Ansonsten läuft er bis jetzt ganz gut, ADC scheint besser zu sein, bin aber auch erst einen Tag am testen... Gruß Falko
Der XMEGA128-A3U-AU hat keine der o.g. Probleme und läuft auch sonst sehr stabil. Sind gerade durch FCC und CE durch ;-)
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.