Topic : How to get the real flash content via debugger interface

Forum : 8051

Original Post
Post Information Post
March 23, 2009 - 5:10pm

Dear sirs, I am writing an In Application Programmaing application, and I am facing with the difficult to get the real flash content using the debugger.

If I program the common flash area from 0x6000 with the values 'a'=0x61, 'b'=0x62 etc, I can see in xdata window (main flash is in xdata during programming) the correct values programmed.

But, if I restore the main flash in program space I cannot view the real main flash content: the debugger shows me all 0xff: no matter of page register or so, this happens also after reset and with PAGEREG and VM with correct values 0x00 and 0x0C.

But attention! I can set the PC to 0x6003, where I should have written the character 'd'=0x64.
So the PC points to the instruction 'd','e'=0x64, 0x65=XRL A,#65h--> A=A xor 0x65.
If I execute a step, starting with ACC=0 R7=0, I obtain ACC=0x65, that is A=A xor 0x65 correct! In the flash there are really my bytes 0x61 0x62 etc
If in the flash there was the value 0xFF=MOV R7,A I should obtain 0; furthermore this is a single byte instruction, and I can see instead that the PC is incrementing by 2 after the step...

So the flash is programmed with the values 0x61 0x62 etc but the debugger don't shows me the real values!
Is it possible in any manner to view with the debugger the real flash content?
This would be very useful for me in this application.