>Dann muss ich ja nur noch die Adressierung, auf dem Port A und Port C
>vornehmen.
Nein, du musst überhaupt nichts "vornehmen", bis auf das Aktivieren
des externen Speichers. Wenn selbiger aktiviert ist greift du z.B. mit
unsigned char *ptr = 0x1015;
*ptr = 100;
auf den externen Speicher zu. Der AVR macht dabei folgendes SELBER:
- Adresse 0x1015 auf AD0-7 und A8-15 anlegen
- ALE setzten (dein externes Latch muss sich hier die Adresse
zwischenspeichern)
- ALE zurücksetzten
- Daten (100) auf AD0-7 anleden
- WR setzten
- WR zurücksetzten
Obigen Code sollte man aber besser so nicht verwenden, es ist besser
wenn sich der Compiler selbst um den Speicherzugriff kümmert.
Wenn du die Linkerparameter so einstellst dass statische Variablen im
externen Speicher liegen wird mit
unsigned char c;
c = 100;
automatisch der externe Speicher verwendet.
Falls du nur den Heap ins externe SRAM legst, wird der externe SRAM nur
für mit malloc alloziierten Speicher benutzt.
Bitte im Forum und vor allem in der AVR_LIBC-Doku suchen, da ist der
Speicheraufbau recht gut beschrieben.
Stefan