www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Xmega Register File


Autor: Xmega Rookie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

die internen Register R0 - R31, liegen beim Xmega ja nicht mehr vor den 
I/O Registern. Laut Datenblatt "The Register File is located in a 
separate address space, so the registers are not accessible as
data memory"!
So nun die grosse Frage, wo liegen sie denn und wie lassen sie sich 
adressieren ??? Ich habe nämlich bemerkt, das z.B.
asm(" LD R0,Z ") dazu führt, dass die Adresse des Z-Pointer aus dem I/O 
Adressraum "stammt". Z Pointer = 0x19 (R25), Inhalt der Adresse 0x19 im 
I/O beschrieben, und siehe da in R0 steht der Wert der I/O Adresse 0x19 
und nicht der Inhalt von R25!!!???

Klartext: Ich habe dem Z-Pointer eine Adresse eines anderen Rx Registers 
zugewiesen, R0 hat danach aber den Inhalt der Adresse die im I/O 
liegt!!??

Wie kommt man an die Inhalte von R0-R31 über Adressen ran??

Für sachdienliche Hinweise bin ich wie immer sehr dankbar ;)

MfG Rookie

Autor: Xmega Rookie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab da was gefunden
http://wapedia.mobi/en/Atmel_AVR

"In the XMEGA variant, the working register file is not mapped into the 
data address space; as such, it is not possible to treat any of the 
XMEGA's working registers as though they were SRAM. Instead, the I/O 
registers are mapped into the data address space starting at the very 
beginning of the address space. Additionally, the amount of data address 
space dedicated to I/O registers has grown substantially to 4096 bytes 
(000016-0FFF16). As with previous generations, however, the fast I/O 
manipulation instructions can only reach the first 64 I/O register 
locations (the first 32 locations for bitwise instructions). Following 
the I/O registers, the XMEGA series sets aside a 4096 byte range of the 
data address space which can be used optionally for mapping the internal 
EEPROM to the data address space (100016-1FFF16). The actual SRAM is 
located after these ranges, starting at 200016."

Heisst das soviel wie, KEINE CHANCE mehr die internen Register "von 
Hand" anzupacken!!??

Gruss Rookie

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.