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

pdata paging

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.

Parents
  • 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

Reply
  • 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

Children
No data