Hi
I have following test code:
#include "C8051F300.h" void print(char code *inData){ inData = inData; } static void printVersion(void){ char code s[] = "This is a test."; print(s); } void main (void){ printVersion(); }
If I use the memory model "Small: variables in data" this little piece of code works just fine. If I change the memory model to "Large: variables in xdata" it does not work. In printVersion() 's' points exactly on the 'T' in the CODE memory but if I call "print()" the pointer inData is pointing somewhere else in the CODE memory space. Why is that?
Hans
View all questions in Keil forum