Keil Logo

Manipulating the Call Tree

In most cases, the call tree analysis (or overlay analysis) performed by the linker works correctly and requires no adjustments. However, in some instances the overlay algorithm cannot determine the true structure of the program and the call tree must be adjusted manually using the linker's OVERLAY directive.

The OVERLAY directive allows you to change the call references used by the linker during the overlay analysis. Using the OVERLAY directive is easy when you know the structure of your program. The program structure or call tree is reflected in the segments listed in the OVERLAY MAP section of the linker map file.

In general you must modify the call tree (using the OVERLAY directive) when:

  • A pointer to a function is stored in a variable, table, or array.
  • The address of a function is passed or returned as function argument.
  • Your program includes a real-time operating system other than RTX51 or RTX51 Tiny.


  • The LX51 Linker correctly recognizes the program structure and the call tree of applications using the RTX51 and RTX51-Tiny Real-Time Kernels and automatically create a new root for each task.
  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.