Keil Logo

C51: NXP/Philips 87C51RC 512-byte Internal RAM Support


Do the Keil tools support the Phillips 87C51RC+(D+) and other 8051 derivatives with 512 bytes of internal data memory?



The Phillips 87C51RC+/D+ is an updated mirror of the Phillips 80C528 in structure. If you examine the databook for these chips, the 512-byte area of RAM you are talking about is indeed introduced as internal RAM.

If you flip to the internal data memory area of the section, you will see that RAM 0 to 127 is addressed directly and indirectly as in the 80C51 (DATA or IDATA). RAM 128 to 255 is addressed indirectly as in the 80C51 (IDATA). The additional 256 bytes of RAM is called AUX-RAM (0 to 255) and is indirectly addressed in the same way as external data memory (XDATA) with the MOVX instructions.

In the Keil tools, this 256 bytes of AUX-RAM is addressed as the first page of XDATA (external memory). This is supported fully and has been since these types of chips became available.


  • Refer to RAMSIZE in the BL51 User's Guide.


Last Reviewed: Thursday, February 25, 2021

Did this article provide the answer you needed?
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.