Forum: Compiler & IDEs XMEM-Speicheraufteilung: Diplay und Ram


von Robert S. (razer) Benutzerseite


Lesenswert?

Hallo an alle,

Ich möchte gerne ein Display (S1D13700) und 32kB externen Ram an das 
XMEM Interface eines ATMega1281 hängen. Auf den SRAM des Display kann 
nicht direkt zugegriffen werden, stattdessen muss indirekt darauf 
zugegriffen werden (Ist leider vom Display so vorgegeben). Somit hab ich 
nur 2 Adressen an denen ich lesen oder schreiben kann.

Ich möchte nun den externen RAM in die obere Hälfte des Adressraums 
mappen. Die unteren 8kB Ram sind mit dem internen SRAM des Megas belegt. 
Dazwischen möchte ich auf das LCD zugreifen.

Dadurch verliere ich die unteren 8kB des externen RAMs nicht und habe 
40kB zu Verfügung.

Nur wie schauen für diese Speicheranordnung die Linkereinstellungen aus?

Danke im Voraus
Gruß Robert

von Matthias L. (Gast)


Lesenswert?

>Nur wie schauen für diese Speicheranordnung die Linkereinstellungen aus?

Hm. Das weiß ich auch nicht, aber ich mach das immer so:
1
/** define I/O area (memory mapping) ***************************************************
2
//-- wing #0 ----------------------------------------------------------------------------
3
#define   O_wing0_red0    _SFR_MEM8(0x1110)
4
#define   O_wing0_green0  _SFR_MEM8(0x1111)
5
#define    O_wing0_blue0    _SFR_MEM8(0x1112)
6
#define   O_wing0_red8    _SFR_MEM8(0x1113)
7
#define    O_wing0_green8  _SFR_MEM8(0x1114)

Weil die Adressen sind ja durch die Hardware fest vorgegeben.

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
Noch kein Account? Hier anmelden.