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.
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.
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.