We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I'm using a MicroConverter ADuC812.and a 512K Flash memory with the space 0x0000--0x07FFFF, I have the PK51 Professional Developer's Kit and have examined the example in the folder:
Keil\C51\EXAMPLES\FarMemory\16MB RAM on ADuC812.
for(j=0;j<8;j++){ for(i=0;i<=0x0FFFF;i++){ FVAR(char,j*0x010000+i)=i; }
The example you cited is about RAM, but you're talking about Flash. Have you checked carefully that you have changed all RAM references to Flash, and set everything up for Flash? Are you sure that this part allows you to program the Flash by simply writing to an address?
In the example Keil\C51\EXAMPLES\FarMemory\16MB RAM on ADuC812.
FVAR (char, 0x015678) = 0x5A; i = FVAR (char, 0x015678);
FVAR (char, 0x016000) = 0x5A; i = FVAR (char, 0x016000);
error 65; access Violation at X:0x016000:no 'write' permission
Use the MAP command and define the memory of your system as explained under: http://www.keil.com/support/docs/814.htm
I was trying to store using STR inst of ARM, but was not able to do so. After getting the above guidence I could be able to do In my case, I was trying to define a certain range as my DATA area.(Say 0x20000 - 0x2FFFF) The same I typed in a .ini file as directed. It didn't work. But in the Debug -> Memory Map, I included the range, then it worked. But I have to specify this every time I enter into dubug mode. Is there any other method. I am also interested to know that why the .ini file contents didn't work, though it was showing in the command line.
You need to ensure that all commands in the INI file a terminated with a newline - including the last one!