Keil Logo

µ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 µVision3 User's Guide.

SEE ALSO

Last Reviewed: Wednesday, January 10, 2007


Did this article provide the answer you needed?
 
Yes
No
Not Sure
 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.