| ARM Technical Support Knowledge Articles | |
Applies to: C51 C Compiler
Information in this article applies to:
When I try to access a large data buffer using a far pointer, the pointer won't increment over a 64k boundary.
The far data pointer type is only 16 bits long, so it can only "see" 64k of space.
There is no pointer type, in C51, that can see more than 64k of data space at a time. However, there are ways around this. For example:
#include <absacc.h>
unsigned char far *farBuff = FARRAY(unsigned char, 0x110000);
unsigned long i;
for (i=0; i<0x18000; i++)
{
userFunc(farBuff[i]);
}
Article last edited on: 2005-07-15 10:10:22
Did you find this article helpful? Yes No
How can we improve this article?