Hi.
I have a feeling, Keil is using only lower 128Bytes Data space of my ADuC814. The ADuC manual says, it has a lower RAM (00H - 7FH), and upper RAM (80H - FFH). The upper RAM is addressable by indirect adressing. Can anyone write one line as example, how should I make it in C for Keil? Do I need to change any other seetings?
before writing
int i;
for any memory space in an 8051, one should think very carefully about whether an 'int' is really needed - or will a 'char' do?
And should it be unsigned?
When running out of 'data' space do not willy-nilly change some variables to 'idata'. The access of an idata variable is slower than the access of a data variable
First check arrays (data/idata makes no difference unless addressed by fixed offsets). Then find some rarely used variables and change them. then ... well you should have gotten the drift by now.
Erik