Keil™, An ARM® Company

Discussion Forum

MON51 "Illegal write access at CODE address 0x0051!

Next Thread | Thread List | Previous Thread Start a Thread | Settings

DetailsMessage
Read-Only
Author
Gary Marshall
Posted
4-Jul-2008 07:02
Toolset
C51
New! MON51 "Illegal write access at CODE address 0x0051!

Hi:
I am testing a bare bones code banking project and I have run into the following problem. Using MON51, when I select Load Application at Startup, I encounter the following error message.
"Illegal write access at CODE address 0x0051!
Please relocate the application to a different address area."
This application runs fine using code banking under the simulator. It also runs fine under MON-51, if I disable the code banking in the Target 1 / Options for Target 'Target 1' dialog box. I have verified that the memory areas I am using are von Neumann Memory using the debugger memset (X:0x0000, 0x0100, 'A'), D X:0x0000, and D C:0x0000 commands. When the code banking is enabled, the .MAP fil shows
000003H 00005BH 000059H BYTE INBLOCK CODE ?BANK?SELECT, in the COMMON AREA. I realize that this code is located in the interrupt service vector area, but all I need at this point is 3 bytes for the reset vector at 0x0000, and 3 bytes for the serial vector to support MON-51 at 0x63 (target is Cypress FX2 using external UART).

Any advice would be appreciated.

Thanks in advance.

Read-Only
Author
Reinhard Keil
Posted
12-Jul-2008 09:00
Toolset
C51
New! RE: MON51 "Illegal write access at CODE address 0x0051!

It seems that you have no program memory at this memory location that the Monitor can write into. I recommend that you just link the segment to a different address.

Next Thread | Thread List | Previous Thread Start a Thread | Settings