AVR: SPM mit tiny2313

Hallo Gruppe,

letztin hatten wirs hier über die Speichersektionen, die die AVRs anbieten. Jetzt habe ich hier das Datenblatt eines tiny2313 aufgemacht udn interessehalber mal nachgesehen, wie da SPM gehandhabt wird (weil der Flash ja so knapp ist): seperate Speicherbereiche scheint es da allerdings nicht zu geben. Nur eine mysteriöse Fuse (Seite 159), genannt SELFPRGEN.

Die ist allerdings nicht Dokumentiert, sondern nur das gleichnamige (!) Registerbit in SPMCSR.

Was hat es mit dieser Fuse auf sich?

Viele Grüße, Johannes

--
"PS: Ein Realname wäre nett. Ich selbst nutze nur keinen, weil mich die
meisten hier bereits mit Namen kennen." -- Markus Gronotte aka Makus /
Kosst Amojan / maqqusz / Mr. G / Ferdinand Simpson / Quartillia
Rosenberg in dse
Reply to
Johannes Bauer
Loading thread data ...

Johannes Bauer schrieb:

Diese Gleichnamigkeit ist eine Glanzleistung, in der Tat -- zumal sie erst nachträglich generiert worden ist, ursprünglich hieß das Registerbit wohl mal SPMEN (sieht man noch in der revision history).

Das ist die vereinfachte Form der Bootloader-Fuses, die es sonst bei den AVRs gibt. Mit diesen stellt man die Größe der bootloader area ein, bei den kleinen AVRs kann man das Feature damit nur ganz ab- oder zuschalten. Du musst die Fuse also setzen, damit du SPM überhaupt benutzen kannst.

Bezüglich der fehlenden Doku: schreib einen Bugreport an .

--
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)
Reply to
Joerg Wunsch

Das Registerbit SELFPRGEN spielt dieselbe Rolle wie bei den ATmegas das SPMEN-Bit.

Die SELFPRGEN-Fuse spielt eine vergleichbare Rolle wie bei den ATmegas die BOOTSZx-Fuses. Sprich: Man steuert damit die Größe des Bootloaderbereiches. Zwei Größen sind möglich: 0 und 2k. Da SPM-Operationen nur im Bootlader möglich sind, wird damit also die SPM-Fähigkeit entweder komplett abgeschaltet oder komplett eingeschaltet, woraus sich die Wahl der hier verwendeten symbolischen Bezeichnung erklärt.

Der große Unterschied zu den ATmegas ist, daß der 2313 keinen RWW-Bereich hat, er ist also generell genau so zu programmieren, wie die ATmegas, wenn man dort im Bootloaderbereich (richtiger: im NRWW-Bereich) schreibt bzw. löscht.

Das ist einerseits gut, weil man sich dann weder um explizite Sperrung der Interrupts noch um Wiederfreigabe des RWW-Bereiches nach einer Page-Operation kümmern muß, andererseits aber schlecht, weil es hier überhaupt keine Möglichkeit gibt, gleichzeitig Page-Operationen zu machen und ein laufendes Interruptsystem zu haben, was bei den ATmegas zumindest dann möglich ist, wenn die ISRs vollständig in den NRWW-Bereich passen und man sich beim Schreiben/Löschen auf die RWW-Pages beschränkt.

Reply to
Heiko Nocon

Joerg Wunsch schrieb:

Ja, das hab ich auch gefunden, nachdem ich das ganze Datenblatt nach "SPMCSR" durchsucht habe - aber geholfen hat es nicht wirklich.

Ah, okay, das klärt es.

Mehl ist gerade raus. Immerhin, in dem Datenblatt, das ich noch hier hatte (von 2005) waren noch Referenzen auf "see Table xxx on Page xxx" drin, ich ich gleich auch mit anquengeln wollte - das haben sie in der neusten Version aber wohl behoben. Ist halt der Vorteil, wenn man Datenblätter konsequent als "Preliminary" kennzeichnet.

Viele Grüße, Johannes

--
"PS: Ein Realname wäre nett. Ich selbst nutze nur keinen, weil mich die
meisten hier bereits mit Namen kennen." -- Markus Gronotte aka Makus /
Kosst Amojan / maqqusz / Mr. G / Ferdinand Simpson / Quartillia
Rosenberg in dse
Reply to
Johannes Bauer

Heiko Nocon schrieb:

Danke für die gute Erklärung!

Viele Grüße, Johannes

--
"PS: Ein Realname wäre nett. Ich selbst nutze nur keinen, weil mich die
meisten hier bereits mit Namen kennen." -- Markus Gronotte aka Makus /
Kosst Amojan / maqqusz / Mr. G / Ferdinand Simpson / Quartillia
Rosenberg in dse
Reply to
Johannes Bauer

Johannes Bauer schrieb:

Wow, das ging schnell! "Thank you for noticing this lack of information in our datasheet. We are now working on adding the missing information."

Viele Grüße, Johannes

--
"PS: Ein Realname wäre nett. Ich selbst nutze nur keinen, weil mich die
meisten hier bereits mit Namen kennen." -- Markus Gronotte aka Makus /
Kosst Amojan / maqqusz / Mr. G / Ferdinand Simpson / Quartillia
Rosenberg in dse
Reply to
Johannes Bauer

Ah, die haben also eine leistungsfähige Textbausteinverarbeitung :)

Bernd

Reply to
Bernd Laengerich

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.