I have an xdata question and please excude my lack of knowledge on this subject, I have been trying to find info on this and am just not getting anywhere. I am using a Goal VRS1000 controller. It has 64K of flash and 1K of RAM. I have not enabled the upper 756K of the RAM. The issue I am running into on my device is, when I go over 769 bytes of xdata my device fails to boot correctly. I have been trying to find out where exactly this xdata is being stored. Since I have not enabled the full range of the on-chip RAM, I am a little confused where it is stored. Thanks for the help.
It has 64K of flash and 1K of RAM. I have not enabled the upper 756K of the RAM. Or do you mean you did not enable the upper 768 bytes of the RAM ? That's the xdata space of the chip. If you don't enable it, you shouldn't expect any xdata accesses to work correctly.
Christoph, thanks for the reply. Your secnod post is correct. I did not enable the expanded RAM section of the chip. With that said, my device works fine as long as I use less that 769 bytes of xdata. Like you said no xdata access should be working if I have not enbaled the XRAM on the chip. This is were I am getting confused, because it does work with less than 769 bytes of xdata. Could the compiler be enabling it even though I didn't?
Could the compiler be enabling it even though I didn't? nope, but have a look at the reset value for the controlling SFR Erik
"nope, but have a look at the reset value for the controlling SFR" Also check if the startup code (assembler) is enabling it...
Finally the answer comes to me. I never even looked at the reset value before. This is were the XRAM is being enabled. Thanks for al lthe help everyone.
View all questions in Keil forum