Typical message

"../lnk_msp430fr5969.cmd", line 182: error #10424-D: Linker command file has no sections of type=VECT_INIT. Generating interrupt pointers for all .intXX output sections. Recommend updating your linker command file to the latest.

What it means

MSP linker 4.2.0 or later has been supplied with an older style linker command file for MSP compiler version 4.1 or earlier.

Why is it happening

The new MSP 4.2.0 linker feature for automatically plugging unhandled interrupts with an ISR TRAP from the RTS requires updated linker command files. Also, without the updated linker command files, interrupt service routines provided by the user will not get included in the file executable out file.

Remedy

Upgrade your linker command files to the latest. Typically once your CCS has the latest updates, the latest linker command files can be found in the following folder path: <CCS_INSTALLATION_ROOT>\ccs_base\msp430\include

Older style linker command file entries for interrupt vectors: MSP 4.1 and earlier.

   .int00   : {} > INT00                /* MSP430 INTERRUPT VECTORS          */
   .int01   : {} > INT01
   .int02   : {} > INT02
   etc int03 through int59
   .int60   : {} > INT60
   .int61   : {} > INT61
   .int62   : {} > INT62
   .reset   : {} > RESET              /* MSP430 RESET VECTOR               */

Newer style linker command file entries for interrupt vectors: MSP 4.2 and later.

   /* MSP430 INTERRUPT VECTORS          */
   .int00       : {}               > INT00
   etc .int01 through .int39
   .int40       : {}               > INT40
   RTC          : { * ( .int41 ) } > INT41 type = VECT_INIT
   PORT2        : { * ( .int42 ) } > INT42 type = VECT_INIT
   USCI_B3      : { * ( .int43 ) } > INT43 type = VECT_INIT
   USCI_A3      : { * ( .int44 ) } > INT44 type = VECT_INIT
   USCI_B1      : { * ( .int45 ) } > INT45 type = VECT_INIT
   USCI_A1      : { * ( .int46 ) } > INT46 type = VECT_INIT
   PORT1        : { * ( .int47 ) } > INT47 type = VECT_INIT
   TIMER1_A1    : { * ( .int48 ) } > INT48 type = VECT_INIT
   TIMER1_A0    : { * ( .int49 ) } > INT49 type = VECT_INIT
   DMA          : { * ( .int50 ) } > INT50 type = VECT_INIT
   USCI_B2      : { * ( .int51 ) } > INT51 type = VECT_INIT
   USCI_A2      : { * ( .int52 ) } > INT52 type = VECT_INIT
   TIMER0_A1    : { * ( .int53 ) } > INT53 type = VECT_INIT
   TIMER0_A0    : { * ( .int54 ) } > INT54 type = VECT_INIT
   ADC12        : { * ( .int55 ) } > INT55 type = VECT_INIT
   USCI_B0      : { * ( .int56 ) } > INT56 type = VECT_INIT
   USCI_A0      : { * ( .int57 ) } > INT57 type = VECT_INIT
   WDT          : { * ( .int58 ) } > INT58 type = VECT_INIT
   TIMER0_B1    : { * ( .int59 ) } > INT59 type = VECT_INIT
   TIMER0_B0    : { * ( .int60 ) } > INT60 type = VECT_INIT
   UNMI         : { * ( .int61 ) } > INT61 type = VECT_INIT
   SYSNMI       : { * ( .int62 ) } > INT62 type = VECT_INIT
   .reset       : {}               > RESET  /* MSP430 RESET VECTOR         */

}

Risks, Severity

User defined interrupt service routines will not be included in the executable out file when using older style linker command files with MSP compiler versions 4.2.x and later.

E2e.jpg For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Compiler/diagnostic messages/MSP430/10424 here.