Hello; i am using Silabs C8051F360 that support external memory, and i am using 32k memory with latch for address/data multiplex. i am a little bit confused on how to configure keil or Cx51 compiler so that i can create many variables and large arrays. My application will not work if i have to write and read from the memory using MOVX instruction. Hope u reply
"i hope you understand my problem."
No, I do not. You want access to xdata, but on the other hand you do not like the movx instruction.
Where you planning on using pdata?
i have considered it, but if there is a fast way for accessing the XDATA will be better for more flexibility in the code, and only limited to an 32k maximum memory
But you are aware that the 8051 just has to use special instructions to be able to access this memory?
yes i am aware, but i want to use the compilers C engine so that when downloading the code on the 8051, large arrays are directly stored into the memory, and then i can read whatever i want when i want.
My 1st question is: is there a way so that the external memory will be accessed as variables arrays without having the need to MOVX it manually in my C lang. code.If there is no way, i'll have to do it the hard way without getting use of the compiler full capabilities.
My 2nd question is: if i want to use the MOVX instruction in my code, and i want to use the entire memory as SRAM, is it sufficient to put RAM (0x00-0x7FFF) in the options tab, or i have to assign it as a far memory
Make sure that your project mentions this memory. Then it is enough to declare your variable xdata - or switch to a memory model that will activate Erik M.
Let Keil worry about the assembler instructions needed to access the variables.