Der Renesas-Compiler hat schon einige Unterschiede zu anderen Compilern
...
1 | #pragma ADDRESS Buffer 060000H;
|
2 | unsigned char far Buffer[SIZE];
|
definiert z.B. ein Array mit der Größe SIZE, das ab Adresse 60000H im
externen RAM liegt. In diesem Zusammenhang ist das Schlüsselwort "far"
wichtig, das den Adressraum auf 20 Bit (anstelle 16 Bit) ausweitet.
Zugriffe auf das interne RAM (unterhalb 0FFFFH) brauchen das nicht:
1 | #pragma ADDRESS InternalRAM 01000H;
|
2 | unsigned char InternalRAM[SIZE];
|
Natürlich kann man sich auch einen Pointer definieren und hinterher
entsprechende Adressen zuweisen (hier das "far" in den oberen
Speicherseiten nicht vergessen!)