Keil™, An ARM® Company

Technical Support

µVISION DEBUGGER: ERROR 65 WHEN USING MEMMAP ON PHILIPS LPC2000


Information in this article applies to:

  • µVision Version 3.20 or later

QUESTION

I have copied the interrupt vectors into RAM (to allow the implementation of a bootstrap loader) using the following code lines:

unsigned char vectors[32] __at 0x40000000;  // reserve space for IRQ vectors

void copy_vectors (void)  {
   memcpy (vectors, 0, 32);   // copy original IRQ vectors to RAM
   MEMMAP = 2;                // fetch vectors from RAM
}

When I run this program in the simulator I am getting

*** error 65: access violation at 0x00000018 : no 'execute/read' permission

On real hardware my program seems to work. How can I test the program in the simulator?

ANSWER

You need to specify the memory mapping attributes for the RAM using the MAP command. It is required that the address space 0x40000000 - 0x4000003F allows code execution.

You may put the required MAP commands into a debugger INI file that can be entered under Project — Options for Target — Debug — Initialization file. The content of such a file may be for example:

MAP  0x40000000, 0x4000003F  READ WRITE EXEC
// allow code execution for interrupt vector fetch

MORE INFORMATION

  • Refer to MAP in the µVision® User's Guide.

SEE ALSO

Last Reviewed: Wednesday, January 10, 2007


Did this article provide the answer you needed?
 
Yes
No
Not Sure