Forum: Mikrocontroller und Digitale Elektronik XMega usersig programmieren/löschen


von Alexander Krause (Gast)


Lesenswert?

Hi Leute!

Ich muss euch mal um Rat bezüglich der usersig beim XMega bitten.

Prizipiell möchte ich bei einigen uC eine Art Seriennummer führen und 
benutze dafür die usersig.

Dazu habe ich mir ein Python-Script geschrieben, welches immer beim 
Flashen die usersig vom XMega ausliest und diese setzt, wenn die beiden 
ersten Bytes den Wert 0xff haben.

Soweit so schön. Jetzt wollte ich die usersig ein zweites Mal 
überschreiben - was jedoch nicht mehr geht.
Scheinbar sind die Schreibe-Operationen immer eine Art UND- Verknüpfung.

Ich vermute, dass es daran liegt, dass die usersig vorm Programmieren 
wieder gelöscht werden muss - was avrdude nicht kann.

Als Workaround hatte ich nun versucht die usersig vom XMega aus 
zurückzusetzen.

Für den Zugriff auf die usersig benutze ich die Funktionen von XBoot aus 
der sp_driver.S . Löschen wollte ich mit SP_EraseUserSigatureRow() - 
ohne Wirkung. Das Auslesen über SP_ReadUserSignatureByte(0) 
funktioniert.

Vielleicht hat ja jemand Ideen. An dem Problem hänge ich schon eine 
ganze Weile :-(


BTW. Die prodsig wollte ich nicht nehmen, da meine eigenen Seriennummern 
von 0-500 gehen sollten.


Danke schonmal für eure Hinweise!

von Jobst M. (jobstens-de)


Lesenswert?

Den ganzen Chip löschen und neu flashen?


Gruß

Jobst

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Alexander Krause schrieb:
> Jetzt wollte ich die usersig ein zweites Mal
> überschreiben - was jedoch nicht mehr geht.
> Scheinbar sind die Schreibe-Operationen immer eine Art UND- Verknüpfung.

Ja, man kann Bits immer nur von 1 nach 0 beschreiben.  Gelöscht werden
sie von 0 nach 1.  (Daher nennt man das auch "NAND Flash".)

> Ich vermute, dass es daran liegt, dass die usersig vorm Programmieren
> wieder gelöscht werden muss - was avrdude nicht kann.

So ist es.  "Wir arbeiten dran"[tm]

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
Noch kein Account? Hier anmelden.