Hello, I'm using a Cygnal C8051F020 that has a nice fat 8k SRAM and a nifty register EMI0CN that allows "paging" of the pdata segment into the 8k. 1) How do I get the compiler to accept the fact that I will be assigning more than 256 bytes worth of data to the pdata segment? 2) Is there any way ( like banking ) to get the compiler to do the paging for me? The second is only a wish, the first is a must Thanks for any light you can shed. Glenn Heard rayzer@zoominternet.net Software Engineer gheard@altronicinc.com Altronic Inc. http://www.altronicinc.com ICQ: 123194600 --- Documentation; The worst part of programming.
The compiler does not support PDATA paging. The best use for PDATA paging is for supporting an RTOS - one task for each PDATA page. The reason the compiler doesn't support this directly is that it is PROBABLY less efficient than using XDATA access with DPTR. In addition, this would mean that PDATA pointers are now 2 bytes instead of 1 byte. So, all the efficiency of PDATA would be sacrificed. XDATA already does what you want. Jon