This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Far Memory.

The question is about far memory type.

I use 8951RD2.
I define:
LX51 and AX51,
use on-chip XRAM,
support far memory type.

The on-chip XRAM of RD2 is 1.7Kb.
In listing far memory defined as HDATA.

I define variable of type far 440 bytes, and it passes compiling.
The listing:

MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 3444 ----
CONSTANT SIZE = 50 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 16 24
IDATA SIZE = 28 5
BIT SIZE = 4 2
EDATA SIZE = ---- ----
HDATA SIZE = 440 ----
XDATA CONST SIZE = ---- ----
FAR CONST SIZE = ---- ----
END OF MODULE INFORMATION.

But, if I define far memory 4000 bytes, it also passes compiling.
HDATA SIZE = 4000 ----
(remember? 1.7Kb maximum)

Why?
Where are these variables fisically allocated?

0