This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Error #10056

Other Parts Discussed in Thread: DRV2605LEVM-MD, MSP430F5510

I am trying to build a code for my project, but I am getting error #10056. Following is the Console Output:


**** Build of configuration Debug for project AIP032 Rev.A ****

"C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
'Building file: ../main.c'
'Invoking: MSP430 Compiler'
"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_15.12.1.LTS/bin/cl430" -vmspx --abi=eabi -O3 --include_path="C:/ti/ccsv6/ccs_base/msp430/include" --include_path="C:/Users/310248029/Downloads/DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016/board/spi" --include_path="C:/Users/310248029/Downloads/DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016/board/I2C" --include_path="C:/Users/310248029/Downloads/DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016/board" --include_path="C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_15.12.1.LTS/include" --include_path="C:/Users/310248029/Downloads/DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016/driverlib/MSP430F5xx_6xx" --include_path="C:/Users/310248029/Downloads/DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016" --include_path="C:/Users/310248029/Downloads/DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016/USB_config" -g --gcc --define=__MSP430F5510__ --diag_warning=225 --display_error_number --diag_wrap=off --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU40 --printf_support=minimal --preproc_with_compile --preproc_dependency="main.d" "../main.c"
"C:\Users\310248029\Downloads\DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016\driverlib\MSP430F5xx_6xx\inc\../deprecated/CCS/msp430f5xx_6xxgeneric.h", line 160: warning #48-D: incompatible redefinition of macro "LPM0" (declared at line 133 of "C:\ti\ccsv6\ccs_base\msp430\include\msp430f5510.h")
"C:\Users\310248029\Downloads\DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016\driverlib\MSP430F5xx_6xx\inc\../deprecated/CCS/msp430f5xx_6xxgeneric.h", line 161: warning #48-D: incompatible redefinition of macro "LPM0_EXIT" (declared at line 134 of "C:\ti\ccsv6\ccs_base\msp430\include\msp430f5510.h")
"C:\Users\310248029\Downloads\DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016\driverlib\MSP430F5xx_6xx\inc\../deprecated/CCS/msp430f5xx_6xxgeneric.h", line 162: warning #48-D: incompatible redefinition of macro "LPM1" (declared at line 135 of "C:\ti\ccsv6\ccs_base\msp430\include\msp430f5510.h")
"C:\Users\310248029\Downloads\DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016\driverlib\MSP430F5xx_6xx\inc\../deprecated/CCS/msp430f5xx_6xxgeneric.h", line 163: warning #48-D: incompatible redefinition of macro "LPM1_EXIT" (declared at line 136 of "C:\ti\ccsv6\ccs_base\msp430\include\msp430f5510.h")
"C:\Users\310248029\Downloads\DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016\driverlib\MSP430F5xx_6xx\inc\../deprecated/CCS/msp430f5xx_6xxgeneric.h", line 164: warning #48-D: incompatible redefinition of macro "LPM2" (declared at line 137 of "C:\ti\ccsv6\ccs_base\msp430\include\msp430f5510.h")
"C:\Users\310248029\Downloads\DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016\driverlib\MSP430F5xx_6xx\inc\../deprecated/CCS/msp430f5xx_6xxgeneric.h", line 165: warning #48-D: incompatible redefinition of macro "LPM2_EXIT" (declared at line 138 of "C:\ti\ccsv6\ccs_base\msp430\include\msp430f5510.h")
"C:\Users\310248029\Downloads\DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016\driverlib\MSP430F5xx_6xx\inc\../deprecated/CCS/msp430f5xx_6xxgeneric.h", line 166: warning #48-D: incompatible redefinition of macro "LPM3" (declared at line 139 of "C:\ti\ccsv6\ccs_base\msp430\include\msp430f5510.h")
"C:\Users\310248029\Downloads\DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016\driverlib\MSP430F5xx_6xx\inc\../deprecated/CCS/msp430f5xx_6xxgeneric.h", line 167: warning #48-D: incompatible redefinition of macro "LPM3_EXIT" (declared at line 140 of "C:\ti\ccsv6\ccs_base\msp430\include\msp430f5510.h")
"C:\Users\310248029\Downloads\DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016\driverlib\MSP430F5xx_6xx\inc\../deprecated/CCS/msp430f5xx_6xxgeneric.h", line 168: warning #48-D: incompatible redefinition of macro "LPM4" (declared at line 141 of "C:\ti\ccsv6\ccs_base\msp430\include\msp430f5510.h")
"C:\Users\310248029\Downloads\DRV2605LEVM-MD_Integrated_Source_Code_8_June_2016\driverlib\MSP430F5xx_6xx\inc\../deprecated/CCS/msp430f5xx_6xxgeneric.h", line 169: warning #48-D: incompatible redefinition of macro "LPM4_EXIT" (declared at line 142 of "C:\ti\ccsv6\ccs_base\msp430\include\msp430f5510.h")
'Finished building: ../main.c'
' '
'Building target: .Debug/AIP032 Rev.A.lib'
'Invoking: MSP430 Linker'
"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_15.12.1.LTS/bin/cl430" -vmspx --abi=eabi -O3 -g --gcc --define=__MSP430F5510__ --diag_warning=225 --display_error_number --diag_wrap=off --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU40 --printf_support=minimal -z -m"AIP032 Rev.A.map" --heap_size=160 --stack_size=160 --use_hw_mpy=F5 -i"C:/ti/ccsv6/ccs_base/msp430/include" -i"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_15.12.1.LTS/lib" -i"C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_15.12.1.LTS/include" -i"C:/ti/ccsv6/ccs_base/msp430/lib" --reread_libs --warn_sections --display_error_number --diag_wrap=off --xml_link_info="AIP032 Rev.A_linkInfo.xml" --rom_model -o ".Debug/AIP032 Rev.A.lib" "./Actuator_Waveforms.obj" "./CapTouchBoard.obj" "./HapticCmdDispatcher.obj" "./Haptics.obj" "./HapticsTarget.obj" "./hal.obj" "./main.obj" "./system_pre_init.obj" "./CTS/CTS_HAL.obj" "./CTS/CTS_Layer.obj" "./CTS/structure.obj" "./USB_API/USB_CDC_API/UsbCdc.obj" "./USB_API/USB_Common/usb.obj" "./USB_API/USB_Common/usbdma.obj" "./USB_API/USB_HID_API/UsbHid.obj" "./USB_API/USB_HID_API/UsbHidReq.obj" "./USB_API/USB_MSC_API/UsbMscReq.obj" "./USB_API/USB_MSC_API/UsbMscScsi.obj" "./USB_API/USB_MSC_API/UsbMscStateMachine.obj" "./USB_API/USB_PHDC_API/UsbPHDC.obj" "./USB_app/usbConstructs.obj" "./USB_app/usbEventHandling.obj" "./USB_config/UsbIsr.obj" "./USB_config/descriptors.obj" "./board/I2C/I2CCommon.obj" "./board/I2C/I2CIsr.obj" "./board/I2C/RawI2C.obj" "./board/I2C/StdI2C.obj" "./board/I2C/StdPollI2C.obj" "./board/board.obj" "./board/board_I2C.obj" "./board/board_gpio.obj" "./board/board_spi.obj" "./board/board_timer.obj" "./board/board_uart.obj" "./board/spi/SPIIsr.obj" "./board/spi/StdSpi.obj" "./driverlib/MSP430F5xx_6xx/adc10_a.obj" "./driverlib/MSP430F5xx_6xx/adc12_a.obj" "./driverlib/MSP430F5xx_6xx/aes.obj" "./driverlib/MSP430F5xx_6xx/bak_batt.obj" "./driverlib/MSP430F5xx_6xx/comp_b.obj" "./driverlib/MSP430F5xx_6xx/crc.obj" "./driverlib/MSP430F5xx_6xx/dac12_a.obj" "./driverlib/MSP430F5xx_6xx/dma.obj" "./driverlib/MSP430F5xx_6xx/eusci_a_spi.obj" "./driverlib/MSP430F5xx_6xx/eusci_a_uart.obj" "./driverlib/MSP430F5xx_6xx/eusci_b_i2c.obj" "./driverlib/MSP430F5xx_6xx/eusci_b_spi.obj" "./driverlib/MSP430F5xx_6xx/eusci_i2c.obj" "./driverlib/MSP430F5xx_6xx/eusci_spi.obj" "./driverlib/MSP430F5xx_6xx/eusci_uart.obj" "./driverlib/MSP430F5xx_6xx/flash.obj" "./driverlib/MSP430F5xx_6xx/gpio.obj" "./driverlib/MSP430F5xx_6xx/ldopwr.obj" "./driverlib/MSP430F5xx_6xx/mpy32.obj" "./driverlib/MSP430F5xx_6xx/pmap.obj" "./driverlib/MSP430F5xx_6xx/pmm.obj" "./driverlib/MSP430F5xx_6xx/ram.obj" "./driverlib/MSP430F5xx_6xx/ref.obj" "./driverlib/MSP430F5xx_6xx/rtc_a.obj" "./driverlib/MSP430F5xx_6xx/rtc_b.obj" "./driverlib/MSP430F5xx_6xx/rtc_c.obj" "./driverlib/MSP430F5xx_6xx/sd24_b.obj" "./driverlib/MSP430F5xx_6xx/sfr.obj" "./driverlib/MSP430F5xx_6xx/sys.obj" "./driverlib/MSP430F5xx_6xx/tec.obj" "./driverlib/MSP430F5xx_6xx/timer_a.obj" "./driverlib/MSP430F5xx_6xx/timer_b.obj" "./driverlib/MSP430F5xx_6xx/timer_d.obj" "./driverlib/MSP430F5xx_6xx/tlv.obj" "./driverlib/MSP430F5xx_6xx/ucs.obj" "./driverlib/MSP430F5xx_6xx/usci_a_spi.obj" "./driverlib/MSP430F5xx_6xx/usci_a_uart.obj" "./driverlib/MSP430F5xx_6xx/usci_b_i2c.obj" "./driverlib/MSP430F5xx_6xx/usci_b_spi.obj" "./driverlib/MSP430F5xx_6xx/usci_i2c.obj" "./driverlib/MSP430F5xx_6xx/usci_spi.obj" "./driverlib/MSP430F5xx_6xx/usci_uart.obj" "./driverlib/MSP430F5xx_6xx/wdt_a.obj" "../lnk_msp430f5510.cmd" "../USB_API/msp430USB.cmd" -l"C:/ti/ccsv6/ccs_base/msp430/lib/5xx_6xx_FRxx/libmath.a" -llibc.a
<Linking>
error #10056: symbol "__TI_int47" redefined: first defined in "./main.obj"; redefined in "./board/board_gpio.obj"
error #10056: symbol "Port_1" redefined: first defined in "./main.obj"; redefined in "./board/board_gpio.obj"
error #10010: errors encountered during linking; ".Debug/AIP032 Rev.A.lib" not built

>> Compilation failure
makefile:241: recipe for target '.Debug/AIP032 Rev.A.lib' failed
gmake: *** [.Debug/AIP032 Rev.A.lib] Error 1
gmake: Target 'all' not remade because of errors.

**** Build Finished ****

I understood that the ISR (Interrupt SubRoutine) that I am defining is already defined as '__TI_int47' somewhere. Below is the definition of "Port_1" in my code:

#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
P1IE &= ~ BIT4; // Clear P1.4 IE
_BIC_SR_IRQ(LPM4_bits); // Exit LPM4
}

Someone please help me solve this error.

  • Hi,

    can you please try this firmware:

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/38/0474.DRV2605LEVM_2D00_MD_5F00_source.7z 

  • The project was built properly until I added the following code snippet in the main.c file.
    /****************************************************************************/
    // Port 1 interrupt service routine
    /***************************************************************************/
    #pragma vector=PORT1_VECTOR
    __interrupt void Port_1(void)
    {
    P1IE &= ~ BIT4; // Clear P1.4 IE
    _BIC_SR_IRQ(LPM4_bits); // Exit LPM4
    }
    /***************************************************************************/

    What does the default interrupt handler at address 0xFFDE (Interrupt Priority 47) do?
    If it does the same thing as in the above code snippet, I can skip it.
  • Hi,

    you can find the interrupt service routine for Port1 in

    board/board_gpio.c

    //******************************************************************************
    //
    //This is the PORT1_VECTOR interrupt vector service routine
    //
    //******************************************************************************
    #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
    #pragma vector=PORT1_VECTOR
    __interrupt
    #elif defined(__GNUC__)
    __attribute__((interrupt(PORT1_VECTOR)))
    #endif
    void Port_1(void)
    {
     GPIO_toggleOutputOnPin(LED_PORT_EN, LED_PIN_EN);

     if (GPIO_INPUT_PIN_LOW == GPIO_getInputPinValue(
       INTERRUPT_PORT,
       INTERRUPT_PIN1)) {
      GPIO_toggleOutputOnPin(LED_PORT_M, LED_PIN_M0);
     }else{
      GPIO_toggleOutputOnPin(LED_PORT_M, LED_PIN_M1);
     }

        //P1.3 IFG cleared
        GPIO_clearInterruptFlag(
          INTERRUPT_PORT,
          INTERRUPT_PIN1
                );
    }