www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Speicheraufbau Atmel Atmega32


Autor: Peter Stigler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sven Langen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie gross sind die einzelnen Speicher?

Autor: mmerten (Gast)
Datum:

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

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.