Arduino Mega 2560 fügt externen 32K-Speicher hinzu
##Überblick
Die ATMEGA-CPU für Arduino weist einen Nachteil in der Hardwarespezifikation auf. Das heißt, der Datenspeicher (RAM) reicht nicht aus. Aufgrund der CPU-Architektur verbraucht ein konstantes Datenarray RAM-Speicher, wenn Sie direkt darauf zugreifen möchten.
Der ATMEGA 2560 verfügt über einen externen Speicherbus, um mehr SRAM (Daten) bis zu 64 KB hinzuzufügen (überlappender interner Speicher). In diesem Projekt fügen wir nur 32 KB Speicher von Adresse 0x8000 bis 0xFFFF hinzu. Mit internem 8K RAM stehen Ihnen insgesamt 40K RAM zur Verfügung.
Wir können auf diesem externen Speicher durchaus Programm-RAM (Stack und Heap) konfigurieren. Dann lassen wir aber wohl den internen 8k-Speicher außen vor. Dieses Projekt konfiguriert den externen Speicher als Heap, sodass der interne 8K-Speicher weiterhin wie zuvor verwendet wird. Sie müssen den externen Speicher vor der Verwendung zuweisen. Das Beispielprogramm demonstriert die Verwendung.
Fügen Sie den Inhalt der Datei platformboards.txt in die Datei [ARDUINO INSTALL FOLDER]hardwarearduinoavrboards.txt ein. Bevor Sie das Projekt xmem32k kompilieren, wählen Sie das Board Tools->board->Mega with heap 32K external RAM .
Das Datenblatt des ATMEGA 2560 enthält Informationen zum Hinzufügen von externem Speicher. Arduino UNO-Hardware verfügt nicht über den externen Speicherbus.
Signal | Hafen | Arduino-definierte Pin-Nummer |
---|---|---|
WR | (PG0) | 41 |
RD | (PG1) | 40 |
ALE | (PG2) | 39 |
AD0-AD7 | (PA0-PA7) | 22, 23, ..., 29 |
A8-A15 | (PC0-PC7) | 37, 36, ..., 30 |