Keil Logo

C51: Data Overlaying with RTOS applications


Information in this article applies to:

  • C51 Version 7.50
  • BL51 Version 5.5
  • LX51 Version 3.5

QUESTION

I am a long-time user of the C51 Compiler suite for applications in a multitasking environment. The OVERLAY linker directive seems to be interpreted differently in V7.50. My application uses several tasks that run in parallel. On previous C51 versions, to keep tasks from being overlaid, I use this linker directive as follows:

OVERLAY (* ! (task1, task2, task3))

But version 7.50 overlays the data of the different tasks which results in run-time errors in my application.

How can I solve this problem?

ANSWER

The change in the behavior of the OVERLAY directive is documented in the Release-Notes file under C51 Version 7.50 Release. To get the old behavior, change the OVERLAY directive to:

OVERLAY (* ! task1, * ! task2, * ! task3)

MORE INFORMATION

SEE ALSO


Last Reviewed: Thursday, February 25, 2021


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.