Hi guys,
I tried to construct a waveform with more than 6000 points. the program is like:
arg.h . . int xdata wave[6000] . . main(){ . . for...{ wave[i]=i*10; . } .
it passed the compiling and linking. it showed that xdata=12131. but when i ran the program, it's actually showing a messed up waveform. it only works correctly when i reduced the size of the wave[] to 4000, which makes xdata=8131.
i m using version 7.2, and the xram on the board is 128k. i think it's something missing in the program but couldnt figure it out yet since i m just a beginner of mcu programing in c. any suggestion? i really appreciate it.
... you, like many others, did not see a reason to tell us which uC you are using.
I guess you are using a SILabs or NXP (or other) with 8k internal XRAM and have not modified (a local copy of) startup.a51 to enable access to your external XRAM.
Erik