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.

Linking Error

Other Parts Discussed in Thread: SYSBIOS, AM3359

When trying to compile a basic GPIO toggle I'm getting a linking error:

error #16004-D: file "/opt/ti/Starterware/binary/armv7a/cgt_ccs/am335x/beaglebone/platform/platform.lib<gpio.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
error #16004-D: file "/opt/ti/Starterware/binary/armv7a/cgt_ccs/am335x/drivers/drivers.lib<gpio_v2.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
error #10010: errors encountered during linking; "sysbios_blink_beagle.out" not built

Not quite sure what the issue is.  I have the following compiler include paths:

"/opt/ti/Starterware/bootloader/include"
"/opt/ti/Starterware/bootloader/src"
"/opt/ti/Starterware/drivers"
"/opt/ti/Starterware/platform/beaglebone"
"/opt/ti/Starterware/include"
"/opt/ti/Starterware/include/hw"
"/opt/ti/Starterware/include/armv7a"
"/opt/ti/Starterware/include/armv7a/am335x"

Linker Libraries:

"/opt/ti/Starterware/binary/armv7a/cgt_ccs/am335x/beaglebone/platform/platform.lib"
"/opt/ti/Starterware/binary/armv7a/cgt_ccs/am335x/system_config/system.lib"
"/opt/ti/Starterware/binary/armv7a/cgt_ccs/am335x/drivers/drivers.lib"

Linker Search Paths:

"/opt/ti/Starterware/bootloader/include"
"/opt/ti/Starterware/bootloader/src"
"/opt/ti/Starterware/binary/armv7a/cgt_ccs/am335x/beaglebone/platform"
"/opt/ti/Starterware/binary/armv7a/cgt_ccs/am335x/drivers"
"/opt/ti/Starterware/binary/armv7a/cgt_ccs/am335x/system_config

  • I am having a similar problem. I am linking Starterware libraries with a NDK project. After recompiling the platform, drivers and system libraries most of the linker errors dissapiered, except that I still get one for cp15.asm:

    'Building target: beaglebone_test.out'
    'Invoking: ARM Linker'
    "C:/ti/ccsv5/tools/compiler/arm_5.0.1/bin/armcl" -mv7A8 --code_state=32 --abi=eabi -me -g --define=am3359 --define=BOARD_BEAGLEBONE --diag_warning=225 --display_error_number --diag_wrap=off -z --stack_size=0x800 -m"beaglebone_test.map" --heap_size=0x800 -i"C:/ti/ccsv5/tools/compiler/arm_5.0.1/lib" -i"C:/ti/ccsv5/tools/compiler/arm_5.0.1/include" --reread_libs --warn_sections --display_error_number --diag_wrap=off --rom_model -o "beaglebone_test.out" -l"./configPkg/linker.cmd" "./modcommon/source/boards/pinmux.obj" "./modcommon/source/boards/board_bbone.obj" "./modcommon/source/ethernet/nimu_eth.obj" "./modcommon/source/ethernet/ethminidrv.obj" "./main.obj" -l"C:\ti\AM335X_StarterWare_02_00_00_07\binary\armv7a\cgt_ccs\am335x\system_config\system.lib" -l"C:\ti\AM335X_StarterWare_02_00_00_07\binary\armv7a\cgt_ccs\am335x\drivers\drivers.lib" -l"C:\ti\AM335X_StarterWare_02_00_00_07\binary\armv7a\cgt_ccs\am335x\beaglebone\platform\platform.lib" -l"C:\ti\AM335X_StarterWare_02_00_00_07\binary\armv7a\cgt_ccs\utils\utils.lib" -l"libc.a"
    <Linking>
    error #16004-D: file "C:\ti\AM335X_StarterWare_02_00_00_07\binary\armv7a\cgt_ccs\am335x\system_config\system.lib<cp15.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
    error #10010: errors encountered during linking; "beaglebone_test.out" not built

    >> Compilation failure
    gmake: *** [beaglebone_test.out] Error 1
    gmake: Target `all' not remade because of errors.

  • Hi,

    We are having the same problem creating projects with StarterWare.
    As there are no readily available sample projects it is difficult to try the starterware
    for the beginners.

    We are trying to create a GPIO sample code with MMU and cache enabled
    but don't understand the proper procedure to create a project with StarterWare.
    I have seen the "StarterWare Project Creation" wiki page but there is no detailed
    explanation on how to create a project with the starterware.
    It would be easier if the document was something like "Creating new CCS v5 Project with Stellarisware".

    Just in case please share if there is any project on "GPIO toggle with MMU & cache enabled".

    Regards,
    Prad.

  • Prad,

    I think that I may have had this solved in another thread for me.  I'm trying to run a Sys/Bios project and include starterware.  The "Tag_ABI_VFP_args" referes to the Floating Point variable.  Sys/Bios was apparently compiled with the "Processor Options"  Specify floating point support set to VFPv3.  Staterware was compiled with the Specify floating point support set to "blank".  This creates a mis-match.  The "Solution" is to either remove Sys/Bios from the project.  Or to recompile the Starterware Platform.lib, drivers.lib and system.lib with the "Processor Options"  Specify floating point support set to VFPv3.  Then use these newly compiled libraries in your project.  Hope that helps.

  • NJSysEng, 

    That cured that issue for me as well! Thanks alot for the tip!

  • I came across the same problem today, as I need to use the SIMD unit to speed up my code in a StarterWare based project, that I set up by modifying one of the StarterWare example projects.

    Could anyone give me an explanation of how to recompile those three libraries with VFPv3 an NEON support?

  • I found this wiki article http://processors.wiki.ti.com/index.php/StarterWare_NeonVFP telling to import the StarterWare "system_config" project in CCS, change the settings there and build it. Will that recompile the libraries, mentioned above?

    However, trying to do so leads to a build error

    Invoking: ARM Compiler
    "../../../../../../include/armv7a/am335x/interrupt.h", line 48: fatal error: cannot open source file "hw/hw_intc.h"
    
    >> Compilation failure
    1 catastrophic error detected in the compilation of "/home/nt-lab/Software/TI/AM335X_StarterWare/system_config/armv7a/am335x/interrupt.c".
    Compilation terminated.

    Am I trying to do the right thing, so searching for a solution concerning this build error makes sense, or did I try something that doesn't have to do anything with my problem?

    By the way, the file hw/hw_intc.h exists and the compiler search path includes that directory.