This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

disable overlay warning for specific functions

I have four functions that the linker gives me the warning:

*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?UART_RX_ISR_STUB?ISR

*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?TIMER0_ISR_STUB?ISR

*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?TIMER2_ISR_STUB?ISR

*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?ASDC0_ISR_STUB?ISR

These functions are not called within my application project. They *ARE* called from the bootloader project via a function pointer. Both projects are in non-overlapped CODE memory.

So how do I turn off these warnings for these segments/functions only?

I absolutely want the compiler to warn me about all other uncalled segments.

Parents
  • There's nothing that forces you to use OVERLAY directives for "every single function in your project". You should only have to do that for a small number of functions that are actually called from outside the project. You have to help the linker, but you don't have to do all of its work yourself.

    Another possible way out might be to link your boot loader into the app. Then cut it out of the .hex file before downloading that into the chip.

Reply
  • There's nothing that forces you to use OVERLAY directives for "every single function in your project". You should only have to do that for a small number of functions that are actually called from outside the project. You have to help the linker, but you don't have to do all of its work yourself.

    Another possible way out might be to link your boot loader into the app. Then cut it out of the .hex file before downloading that into the chip.

Children