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.
文章评论(0条评论)
登录后参与讨论