Zuerst lesen Sie die manual
Auf Seite 19 gibt es eine Figur ist, die zeigt, wie der externe Speicher-Karten in den Speicherraum.
Die Beschreibung der externen Speicherschnittstelle beginnt auf Seite 25.
das Gedächtnis wie ein interner Speicher verhält tun würde.
Der folgende Assembler-Code zeigt, wie Bytes aus dem internen SRAM gelesen und in den externen SRAM-Speicher kopiert werden.
.cseg
copy:
ldi r17, 4 ; counter for how many bytes to copy
ldi YL, low(data) ; load pointer to data into Y pointer
ldi YH, high(data)
ldi ZL, low(0x2100) ; load pointer to external memory into Z
ldi ZH, high(0x2100)
copy_loop:
ld r16, Y+ ; r16 <- [Y], Y++
st Z+, r16 ; [Z] <- r16, Z++
dec r17
brne copy_loop
<other code>
data: .byte 4
haben Sie auch einen Blick auf die st, ld, M. und lds Anweisungen, die Speicher zugegriffen wird.
Die Zeiger X, Y und Z des AVR sind 16 Bit breit.
Vorsicht!
schrieb Sie so etwas wie:
.dseg
data: .db 0x1, 0x2
Dies funktioniert nicht. Sie können keine Daten mit .db in den internen SRAM schreiben, da dieser flüchtig ist und mit Programmcode initialisiert werden muss!
kann
schreiben
.cseg
<CODE>
data_const: .db 0x1,0x2,0x3,0x4
.dseg
data: .byte 4
dies wird einen Vier-Byte-initialisierte Datenarray in FLASH und Reserve 4 Bytes von Raum in dem internen SRAM erstellen. Sie können jetzt die Daten von data_const in Daten in Ihrem Code kopieren.
Übrigens: Vorinitialisierte Variablen in C-Code befinden sich ebenfalls im Flash und werden vor dem Start von main() vom Startup-Code in den SRAM kopiert.
Sind Sie sicher, dass Sie einen AtMega128 haben? weil ich bin mir ziemlich sicher, dass es keine externe RAM-Schnittstelle hat (aber ich habe kein Datenblatt herumliegen - nahm nur einen kurzen Blick in die atmega1284 (ein Nachfolger) DS) –
Sie können das in Software - finden Sie ein Datenblatt des SRAM, das Sie verbinden möchten, sollte es eine Beschreibung des Protokolls enthalten, das verwendet wird, um von dem Chip zu lesen/zu schreiben. Dann implementieren Sie es auf atmega. Es wäre weder einfach noch effizient, aber machbar. –