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 :)
Hi >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 ;) Und bei deinen Recherchen bist du nicht auf das Datenblatt gestossen? http://www.atmel.com/Images/doc2549.pdf Da ist der Speicheraufbau ab S.21 in '8. AVR Memories' erläutert. MfG Spess
spess53 schrieb: > > > Und bei deinen Recherchen bist du nicht auf das Datenblatt gestossen? > > http://www.atmel.com/Images/doc2549.pdf > > Da ist der Speicheraufbau ab S.21 in '8. AVR Memories' erläutert. > > MfG Spess Das werden dann die Unterlagen für sehr gebildete Leute sein.
natürlich bin ich auf diese Datenblatt gestoßen aber ich verstehe die hälfte nicht, dass ist das problem und deswegen suche ich unterlagen die leicht verständlich sind
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 ?
* welche Speicher es gibt * Speichergrößen * Harvard Architektur verstehe ich aber was es mit den I/O Memory aufsich hat, dass verstehe ich nicht
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.
:
Wiederhergestellt durch User
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
Thomas G. schrieb: > aber was es mit den I/O Memory aufsich hat, dass verstehe ich nicht Das ist kein Speicher an sich, sondern das sind die Geräteregister der Peripherie, die in den Speicheradressraum gewissermaßen eingeblendet sind. Stichwort für Gugel / Wikipedia: "Memory-mapped IO".
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.
Hi
>und bein SRAM hat der Z Pointer auch die gleichen Aufgaben
Ja. Aber für den RAM gibt es noch zwei weitere Pointer: X, Y.
MfG Spess
Hi
>und was machen die 2 weiteren
Manchmal brauch man halt mehrere Pointer auf verschiedene
Speicherbereiche gleichzeitig.
MfG Spess
Spess53 schrieb: > Manchmal brauch man halt mehrere Pointer auf verschiedene > Speicherbereiche gleichzeitig. Z. B. fuer etwas wie *x++ = *y++ + *z++
> Z. B. fuer etwas wie > *x++ = *y++ + *z++ Auweia - nein, sicher nicht, da undefiniertes Verhalten (soferm C).
Liberty Limerix schrieb: >> Z. B. fuer etwas wie >> *x++ = *y++ + *z++ > > Auweia - nein, sicher nicht, da undefiniertes Verhalten (soferm C). *) ist kein C *) selbst wenn, was soll da drann undefiniert sein.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.