Keil Logo

Uncalled Functions

It is common practice during the development process to write, but not call, additional functions. While the compiler permits this without error, the Linker/Locator does not treat this code casually because of the support for data overlaying, and emits a warning message.

Interrupt functions are never called; they are invoked by the hardware. An uncalled routine is treated as a potential interrupt routine by the linker. This means that the function is assigned non-overlayable data space for its local variables. This quickly exhausts all available data memory (depending upon the memory model used).

If you unexpectedly run out of memory, be sure to check for linker warnings relating to uncalled or unused routines. You can use the linker's IXREF directive to include a cross reference list in the linker map (.M51) file.

  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.