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

32k NDATA

Hi all ,

Using Uvision4 with XE167
Memory model large

My problem is the 16k NDATA limit, although DPP0 is unused.

I use

 DPP1 NCONST
 DPP2 NDATA
 DPP3 SYSTEM


and that is not alterable for legacy reason.

I set in startup-file

 DPP0 = DPP2 + 1


added a section NDATA1 describing this memory

CLASSES ( NCODE (010000H - 01FFFFH),
          NDATA (290000H - 293FFFH),
          NDATA0(290000H - 293FFFH),
          NDATA1(294000H - 297FFFH),
...


put in c-file:

 #pragma RENAMECLASS (NDATA = NDATA1)
 #pragma NOINIT
 static int_t near data1;

The variable is located in the memory section I wanted it to be,
DPP0 has the value I wanted it to have,
but the programm running seems to use DPP2 for accessing data1, so
functionality is not given.

In assembler you can specify

ASSERT DPP0 : NDATA1


I didn't test it but I assume that will work.

My question:
Is there a possibility to tell the compiler/linker that DPP0 has to be used for data1?

Thanks in advance

Jürgen

0