if the CARM compiler have the key word define the external data just like "xdata" in 51?
I do it. thanks alot Reinhard
Take a look again to: http://www.keil.com/support/man/docs/ca/ca_userclass.htm Imaging that NVRAM is your external RAM. Of course you may also use 'XRAM' as userclass or any name you want. Reinhard
Variables are by default in RAM (except when you apply the 'const' keyword). Therefore it makes no sense to apply another __ram keyword for variables. Reinhard
But this is the usage of RAM Function, it can make the function copy to RAM. And what I want is to define a variable at external RAM, not a function. So, how should I do?
Usage of __ram see: http://www.keil.com/support/man/docs/ca/ca_le_ram.htm
Well, so thanks for you reply. But when I use the keyword "__ram", the error come. My code is "__ram uint32 k1[1000];" or "uint32 k1[1000] __ram;" but always get the error "SOURCE\MAIN.C(32): error C25: syntax error near '__ram'" or "SOURCE\CIS_MAIN.C(32): error C25: syntax error near ';'". In the LA Locate -> User class, I enter "ERAM (0x80000000-0x80001000)", but the error still come. what's wrong with my code and my operation and how should I do?
This can be done with the USERCLASS directive. See: http://www.keil.com/support/man/docs/ca/ca_userclass.htm Reinhard