Forum: Mikrocontroller und Digitale Elektronik atmega32 memory mapping


von Mike (Gast)


Lesenswert?

Hallo zusammen,

ich glaube ich sehe den Wald vor lauter Bäume nicht.
Ich habe schon mit verschieden uc gearbeitet (vor allem beruflich). Für 
ein privates Projekt schau ich mir gerade den atmega32 an.

Im Datenblatt kann ich aber nichts genaues zur memory map bzw. 
Speicheradressierung finden.

Sprich Adressbereich vom Flash / Ram etc.

Sorry für die Frage, aber ich komm gerade nicht weiter.

Danke schonmal.

Grüße

von Störungsvermeider (Gast)


Lesenswert?

Mike schrieb:
> Im Datenblatt kann ich aber nichts genaues zur memory map bzw.
> Speicheradressierung finden.

Ich schon, und zwar auf Seite 16.

Ist dein PDF kaputt, oder der PDF Reader?

von Michael O. (ebito)


Lesenswert?

Störungsvermeider schrieb:
> Mike schrieb:
>> Im Datenblatt kann ich aber nichts genaues zur memory map bzw.
>> Speicheradressierung finden.
>
> Ich schon, und zwar auf Seite 16.
>
> Ist dein PDF kaputt, oder der PDF Reader?

da steht die Adresse vom flash. 0x0000 bis 0x3fff. Und keine 
vollständige memory map.
Wo finde ich die Info für RAM und EEPROM?

von Störungsvermeider (Gast)


Lesenswert?

Michael O. schrieb:
> da steht die Adresse vom flash. 0x0000 bis 0x3fff. Und keine
> vollständige memory map.

Mehr Memory gibt's halt nicht. Das ist vollständig.

Michael O. schrieb:
> Wo finde ich die Info für RAM und EEPROM?

Oh mann, kannst du keine Seite weiterblättern?

von Michael O. (ebito)


Lesenswert?

Störungsvermeider schrieb:
> Michael O. schrieb:
>> da steht die Adresse vom flash. 0x0000 bis 0x3fff. Und keine
>> vollständige memory map.
>
> Mehr Memory gibt's halt nicht. Das ist vollständig.
>
> Michael O. schrieb:
>> Wo finde ich die Info für RAM und EEPROM?
>
> Oh mann, kannst du keine Seite weiterblättern?

Entweder du willst meine Frage nicht verstehen oder findest es 
lustig....

Ja ich kann Seiten vor und zurückblättern. Und mein pdf Reader 
funktioniert.

Ich habe nach der memory map vom uc gefragt.
Flash 0x0000 bis 0x3fff
SRam  0x0000 bis 0x085f (zusammen)


dann sind das die Adressen vom jeweiligen memory Block. Ich möchte aber 
das Mapping wissen!

von Störungsvermeider (Gast)


Lesenswert?

Michael O. schrieb:
> dann sind das die Adressen vom jeweiligen memory Block. Ich möchte aber
> das Mapping wissen!

Es gibt keine "gemeinsame" Adressen, also einen gemeinsamen
Adressraum. Die angegebenen Adressen sind absolut, nicht relativ.
Das EEPROM wird nur über Register Read/Write angesprochen.

von holger (Gast)


Lesenswert?

>dann sind das die Adressen vom jeweiligen memory Block. Ich möchte aber
>das Mapping wissen!

Flash und RAM haben keinen gemeinsamen Adressraum im AVR.
Deshalb findest du auch kein Mapping wie du es erwartest.

von Michael O. (ebito)


Lesenswert?

ok danke. Diese Information hatte mir gefehlt.

Gruß


P.s. d.h. heißt aber auch, dass ich meinen PC nicht einfach so ins RAM 
setzen kann oder?

: Bearbeitet durch User
von spess53 (Gast)


Lesenswert?

Hi

>Ich möchte aber das Mapping wissen!

Flash, EEPROM und Register+RAM sind drei unabhängige Speicherbereiche. 
Jeder beginnt bei 0x0000.

MfG spess

von spess53 (Gast)


Lesenswert?

Hi

>P.s. d.h. heißt aber auch, dass ich meinen PC nicht einfach so ins RAM
>setzen kann oder?

Was soll der im RAM? Dort kann kein Code stehen.

MfG Spess

von Störungsvermeider (Gast)


Lesenswert?

Michael O. schrieb:
> P.s. d.h. heißt aber auch, dass ich meinen PC nicht einfach so ins RAM
> setzen kann oder?

Im RAM läuft kein Code, das ist nur Datenbereich.
Wenn du mit PC den Program Counter meinst ..... der wird nur
auf Flash zeigen können, aus oben genannten Gründen der
Speichertrennung.

von holger (Gast)


Lesenswert?

>>P.s. d.h. heißt aber auch, dass ich meinen PC nicht einfach so ins RAM
>>setzen kann oder?
>
>Was soll der im RAM? Dort kann kein Code stehen.

Oder deutlicher gesagt: Ein AVR kann keine Funktionen aus
dem RAM ausführen.

von Georg G. (df2au)


Lesenswert?

Michael O. schrieb:
> P.s. d.h. heißt aber auch, dass ich meinen PC nicht einfach so ins RAM
> setzen kann oder?

Vielleicht solltest du dir die Unterschiede der Harvard % von Neumann 
Architektur mal ansehen.

von Michael O. (ebito)


Lesenswert?

Vielen Dank.
Sorry das mit der Harvard Architektur ist schon zu lange her ;)
Aber jetzt kommt langsam wieder "Licht" rein. Wird also Zeit das ich mal 
was mit dem atmega mache.

Zur Frage mit Code im RAM: Hintergrund war ein FBL (flash bootloader). 
Aber spielt keine Rolle.

Schönen Abend noch zusammen.

Gruß

von russelduff (Gast)


Lesenswert?

holger schrieb:
> Oder deutlicher gesagt: Ein AVR kann keine Funktionen aus
> dem RAM ausführen.

Schwachsinn! Was hindert einen daran einen Interpreter zu schreiben?

von Karl H. (kbuchegg)


Lesenswert?

russelduff schrieb:
> holger schrieb:
>> Oder deutlicher gesagt: Ein AVR kann keine Funktionen aus
>> dem RAM ausführen.
>
> Schwachsinn! Was hindert einen daran einen Interpreter zu schreiben?

Der Programmcode des Interpreters kommt immer noch aus dem Flash.


Ach bitte.
Man muss wirklich nicht krampfhaft versuchen in jedem Posting ein Haar 
in der Suppe zu finden. Dem TO war anscheinend nicht im geringsten klar, 
dass er es mit einer Harvard Architektur zu tun hat und welche 
Konsequenzen das hat. Für ihn ist die strenge Trennung zwischen Flash 
und SRAM erst mal die wichtigste Information.

von Georg G. (df2au)


Lesenswert?

Michael O. schrieb:
> Hintergrund war ein FBL

Speziell dafür hat der ATMega einige nette Befehle. Fertigen Code dafür 
gibt es en masse, auch im Quältext. Such mal auf der Atmel HP nach 
Appnotes zu dem Thema.

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.