Forum: Mikrocontroller und Digitale Elektronik Speicheraufbau Atmel Atmega32


von Peter Stigler (Gast)


Lesenswert?

Hallo zusammen, ich (Anfänger) bin gerade dabei den atmel atmega32 in
Assembler zu programmieren. Ich habe nun das Problem das ich nicht
genau weiß wie der speicher des microcontrollers aufgebaut ist.
Mir ist zwar bekannt das es einen SRAM Speicher gibt ($0000-$085f
glaube ich) einen EPRom Speicher($0000-????) und einen Programmspeicher
(&0000-$3FFFF). Wie greife ich auf die einzelnen Speicher zu ? sind
alle Speicher in einem gemeinsamen Adressraum abgebildet ? ..... Wenn
ich ein Programm schreibe beginne ich ja mit rjmp main und dieses
Kommando liegt auf Speicherzelle $0000 anschließend kommen die
Interruptauswertebehandlung danach mein main programm. Die
Interruptvektoren sind doch im SRAM oder hab ich dann mein Programm
auch im SRAM oder im Programmspeicher?

Fragen über Fragen sicherlich nicht schwer aber in der Beschreibung ist
diese Problematik nicht näher beschrieben.

Wäre dankbar wenn einer die Lösung wüßte, damit ich endlich weiß welche
Speicherzellen ich denn überhaupt beschreibe...

von Joerg Wunsch (Gast)


Lesenswert?

Guck ins Datenblatt, dort steht das alles drin.  Der Speicheraufbau
jedes einzelnen AVRs ist konkret dokumentiert.

Die AVRs benutzen eine sogenannte Harvard-Architektur, bei der jeder
der drei Adreßbereiche (RAM, ROM, IO) voneinander getrennt ist und
jeweils von 0 beginnend adressiert wird.  Für jeden Befehl ist es
dokumentiert, welchen Adreßbereich er benutzt, ein RJMP also z. B.
den ROM, ein LDS den RAM, ein IN den IO-Bereich.  (Die Register sind
zusätzlich mit Offset 0, der IO-Bereich mit Offset 0x20 in den
RAM-Bereich gemappt, der eigentliche RAM beginnt dann je nach AVR
bei 0x60 oder 0x100.)  Für den lesenden (und teilweise schreibenden)
Zugriff auf ROM gibt es Sonderbefehle (LPM, SPM).

Der Zugriff auf den EEPROM geschieht über IO-Register, kann also nicht
im üblichen Sinne direkt adressiert werden.

von Sven Langen (Gast)


Lesenswert?

Wie gross sind die einzelnen Speicher?

von mmerten (Gast)


Lesenswert?

@sven
Die Grössen stehen doch bei jedem AVR auf Seite 1 des jeweiligen
Datenblattes

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.