AVR ATmega 2560 Speicher

OP (Firma: Schüler) #2916410
Lesenswert?

Hi Leute,

Ich interressiere mich für den Speicheraufbau und das Speicherverhalten 
vom ATmega2560.
Ich habe in der letzten Zeit sehr viel im Internet recherchiert und da 
nur Unterlagen für sehr gebildete Leute gefunden und nicht viel 
verstanden. :(
Daher bitte ich euch den Speicheraufbau und das Speicherverhalten des 
ATmega 2560 so leicht wie möglich zu erklären. Also deppensicher für 
mich ;)

Danke im Vorraus :)
#2916569
Lesenswert?

Nun, dann beschreib doch hier schon mal die Hälfte, die du verstanden 
hast. Vielleicht kannst du dann auch konkretere Fragen zur anderen 
Hälfte formulieren, die sich dann auch beantworten lassen.

Alternativ schreib hier mal deine Hausaufgabe wörtlich rein, vielleicht 
liest ja ein Lehrer mit, und hilft bei der Beantwortung ;)

Oliver
P.S. HTL ?
#2916594
Lesenswert?

Thomas G. schrieb:
> * welche Speicher es gibt
>  * Speichergrößen
>  * Harvard Architektur
> verstehe ich
>
> aber was es mit den I/O Memory aufsich hat, dass verstehe ich nicht


Ein Teil des SRAM Speichers fungiert als 'Speicher' in dem sich die 
Prozessor Register befinden. Also das ganze DDRx, PORTx, PINx, .... 
Geraffel.

Für dich als Assembler Programmierer sieht es einfach so aus, als ob in 
den ersten Speicherzellen im SRAM sich genau diese Register 
wiederfinden.

Mehr steckt da nicht dahinter.
Gast #2916602
Lesenswert?

Hi

>aber was es mit den I/O Memory aufsich hat, dass verstehe ich nicht

Das ist der Speicherbereich in dem sich die IO-Register, z.B. Ports, 
Timer, UART ..., befinden. Die unteren 64 IO-Register können mit in/out 
(1 Byte) angesprochen werden. Die External I/O Registers werden wie 
normaler RAM (sts/lds (2Byte) adressiert.

MfG Spess
#2916623
Lesenswert?

Der Z-Pointer ist die Zusammenfassung der Register R30 und R31.

gemeinsam formen die beiden also einen 16-Bit Wert, der als Adresswert 
benutzt werden kann um von dieser Adresse aus dem Speicher zu lesen.

Wenn du so willst:
Du hast einen Block mit Zetteln. Jeder Zettel hat eine Nummer. Jeder 
Zettel ist eine Speicherstelle auf der du einen Wert 'speichern' und 
wieder auslesen kannst.
2 dieser Zettel nennst du Z-Pointer. Und mit der richtigen Operation 
werden die beiden Zettel genommen, die Zahlen die da drauf stehen zu 
einer weiteren Zahl zusammengefasst und mit dieser letzten Zahl wird 
dann der eigentliche Zettel anhand der Nummer festgestellt von dem 
gelesen oder geschrieben werden soll.

Und das ist ganz praktisch. Denn es bedeutet, dass du mittels einer 
Berechnung bestimmen kannst, von wo du lesen oder schreiben willst. 
Alles was du tun musst ist, das Rechenergebnis auf die Z-Pointer-Zettel 
zu schreiben und die Operation zu benutzen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren