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.

CCS/CC2650: Project from CCS6 get linker Error on CCS9

Part Number: CC2650

Tool/software: Code Composer Studio

Hi,

I have a project for the sensortag cc2650 featuring Contiki. The project was created on CCS 6.1 where it builds perfectly well. When I try to build the project in CCS 9.2 I get a number of linker Errors in the cc26xx.ld file. See the attached screenshots below.I tried to build it in CCS9 with the same compiler version as in ccs6 (TI v5.2.2)  and with a newer Version (TI v18.12.3.LTS) but I get the same errors with both compiler versions.

Any help resolving this issue would be highly appreciated!
If any more information is needed from me, let me know.

Kind regards

.

  • Hi David,

    The errors seem to indicate that your v9 project has multiple .ld files specified, which conflict with each other. Please check your project and make sure you do not have an extra .ld file added to the project

    Thanks

    ki

  • Hi Ki,

    I copied the same project into the workspace of ccs6 and ccs9. In ccs6 it builds and in ccs9 it does not. There is only one .ld file in that project. I just tried to switch to the workspace of ccs6 from ccs9 and I get these errors.

    regards,

    David

  • David Lorenz said:
    I just tried to switch to the workspace of ccs6 from ccs9 and I get these errors.

    Did you point your v9 installation to use the existing v6 workspace? That is usually not recommended. In the past, that caused a bunch of issues but I think recent CCS versions (like 9) will do a clean of the workspace before using it).

    As for your error, please provide all the the output from your build console (you can copy and paste to a text file and attach the file here)

    Thanks

    ki

  • I've tried several ways, First I made a new workspace and imported the project there. In the last test I pointed directly to the ccs6 workspace from ccs9.

    Attached is the console output.

    regards,

    DavidConsole_output_ccs9_issue.txt

  • Thank you.

    Please provide the "ccsLinker.opt" referenced in your build output"

    "C:/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.2/bin/armcl" -@"ccsLinker.opt" -o "Contiki.out"

  • Hi Ki,

    attached is the ccsLinker.opt file from the ccs6 project. I put the content in a text file since uploading the .opt file failed

    Regards

    -mv7M3 --code_state=16 --abi=eabi -me -Ooff -g --define=AUTOSTART_ENABLE --define=REST=coap_rest_implementation --define=BOARD_SENSORTAG --define=NETSTACK_CONF_WITH_IPV6 --define=DEBUG --display_error_number --diag_warning=225 --diag_wrap=off -z -m"Contiki.map" --heap_size=0 --stack_size=256 -i"C:/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.2/include" -i"C:/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.2/lib" --reread_libs --warn_sections --display_error_number --diag_wrap=off --xml_link_info="Contiki_linkInfo.xml" --rom_model 
    "./802_15_4_test.obj" "./hello-world.obj" "./sensor_demo.obj" "./sensor_demo_app.obj" "./platform/srf06-cc26xx/sensortag/bmp-280-sensor.obj" "./platform/srf06-cc26xx/sensortag/board-i2c.obj" "./platform/srf06-cc26xx/sensortag/board-spi.obj" "./platform/srf06-cc26xx/sensortag/board.obj" "./platform/srf06-cc26xx/sensortag/button-sensor.obj" "./platform/srf06-cc26xx/sensortag/buzzer.obj" "./platform/srf06-cc26xx/sensortag/ext-flash.obj" "./platform/srf06-cc26xx/sensortag/hdc-1000-sensor.obj" "./platform/srf06-cc26xx/sensortag/mpu-9250-sensor.obj" "./platform/srf06-cc26xx/sensortag/opt-3001-sensor.obj" "./platform/srf06-cc26xx/sensortag/reed-relay.obj" "./platform/srf06-cc26xx/sensortag/sensor-common.obj" "./platform/srf06-cc26xx/sensortag/sensortag-sensors.obj" "./platform/srf06-cc26xx/sensortag/tmp-007-sensor.obj" "./platform/srf06-cc26xx/sensortag/cc2650/leds-arch.obj" "./platform/srf06-cc26xx/contiki-main.obj" "./cpu/cc26xx-cc13xx/clock.obj" "./cpu/cc26xx-cc13xx/fault-handlers.obj" "./cpu/cc26xx-cc13xx/ieee-addr.obj" "./cpu/cc26xx-cc13xx/lpm.obj" "./cpu/cc26xx-cc13xx/putchar.obj" "./cpu/cc26xx-cc13xx/rtimer-arch.obj" "./cpu/cc26xx-cc13xx/slip-arch.obj" "./cpu/cc26xx-cc13xx/rf-core/ieee-mode.obj" "./cpu/cc26xx-cc13xx/rf-core/rf-ble.obj" "./cpu/cc26xx-cc13xx/rf-core/rf-core.obj" "./cpu/cc26xx-cc13xx/rf-core/smartrf-settings.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/startup_files/ccfg.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/startup_files/startup_ccs.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/adi.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aon_batmon.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aon_event.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aon_ioc.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aon_rtc.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aon_wuc.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aux_adc.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aux_smph.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aux_tdc.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aux_timer.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/aux_wuc.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/ccfgread.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/chipinfo.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/cpu.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/crypto.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/ddi.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/driverlib_release.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/event.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/flash.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/flashsafe.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/gpio.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/i2c.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/i2s.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/interrupt.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/ioc.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/osc.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/prcm.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/pwr_ctrl.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/rfc.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/setup.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/smph.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/ssi.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/sys_ctrl.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/systick.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/timer.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/trng.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/uart.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/udma.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/vims.obj" "./cpu/cc26xx-cc13xx/lib/cc26xxware/driverlib/watchdog.obj" "./cpu/cc26xx-cc13xx/dev/batmon-sensor.obj" "./cpu/cc26xx-cc13xx/dev/cc26xx-uart.obj" "./cpu/cc26xx-cc13xx/dev/contiki-watchdog.obj" "./cpu/cc26xx-cc13xx/dev/gpio-interrupt.obj" "./cpu/cc26xx-cc13xx/dev/oscillators.obj" "./cpu/cc26xx-cc13xx/dev/soc-rtc.obj" "./cpu/arm/common/dbg-io/dbg-printf.obj" "./cpu/arm/common/dbg-io/dbg-putchar.obj" "./cpu/arm/common/dbg-io/dbg-puts.obj" "./cpu/arm/common/dbg-io/dbg-snprintf.obj" "./cpu/arm/common/dbg-io/dbg-sprintf.obj" "./cpu/arm/common/dbg-io/strformat.obj" "./core/sys/arg.obj" "./core/sys/autostart.obj" "./core/sys/compower.obj" "./core/sys/ctimer.obj" "./core/sys/energest.obj" "./core/sys/etimer.obj" "./core/sys/mt.obj" "./core/sys/process.obj" "./core/sys/procinit.obj" "./core/sys/rtimer.obj" "./core/sys/stimer.obj" "./core/sys/timer.obj" "./core/net/rpl/rpl-dag-root.obj" "./core/net/rpl/rpl-dag.obj" "./core/net/rpl/rpl-ext-header.obj" "./core/net/rpl/rpl-icmp6.obj" "./core/net/rpl/rpl-mrhof.obj" "./core/net/rpl/rpl-of0.obj" "./core/net/rpl/rpl-timers.obj" "./core/net/rpl/rpl.obj" "./core/net/linkaddr.obj" "./core/net/nbr-table.obj" "./core/net/netstack.obj" "./core/net/packetbuf.obj" "./core/net/queuebuf.obj" "./core/net/mac/sicslowmac/sicslowmac.obj" "./core/net/mac/csma.obj" "./core/net/mac/frame802154.obj" "./core/net/mac/framer-802154.obj" "./core/net/mac/framer-nullmac.obj" "./core/net/mac/framer.obj" "./core/net/mac/mac-sequence.obj" "./core/net/mac/mac.obj" "./core/net/mac/nullmac.obj" "./core/net/mac/nullrdc-noframer.obj" "./core/net/mac/nullrdc.obj" "./core/net/mac/phase.obj" "./core/net/mac/cxmac/cxmac.obj" "./core/net/mac/contikimac/contikimac-framer.obj" "./core/net/mac/contikimac/contikimac.obj" "./core/net/llsec/anti-replay.obj" "./core/net/llsec/ccm-star-packetbuf.obj" "./core/net/llsec/nullsec.obj" "./core/net/llsec/noncoresec/noncoresec.obj" "./core/net/ipv6/sicslowpan.obj" "./core/net/ipv6/uip-ds6-nbr.obj" "./core/net/ipv6/uip-ds6-route.obj" "./core/net/ipv6/uip-ds6.obj" "./core/net/ipv6/uip-icmp6.obj" "./core/net/ipv6/uip-nd6.obj" "./core/net/ipv6/uip6.obj" "./core/net/ipv6/multicast/roll-tm.obj" "./core/net/ipv6/multicast/smrf.obj" "./core/net/ipv6/multicast/uip-mcast6-route.obj" "./core/net/ipv6/multicast/uip-mcast6-stats.obj" "./core/net/ip/dhcpc.obj" "./core/net/ip/ip64-addr.obj" "./core/net/ip/psock.obj" "./core/net/ip/resolv.obj" "./core/net/ip/simple-udp.obj" "./core/net/ip/slipdev.obj" "./core/net/ip/tcp-socket.obj" "./core/net/ip/tcpip.obj" "./core/net/ip/udp-socket.obj" "./core/net/ip/uip-debug.obj" "./core/net/ip/uip-nameserver.obj" "./core/net/ip/uip-packetqueue.obj" "./core/net/ip/uip-split.obj" "./core/net/ip/uip-udp-packet.obj" "./core/net/ip/uiplib.obj" "./core/net/http-socket/http-socket.obj" "./core/lib/aes-128.obj" "./core/lib/assert.obj" "./core/lib/ccm-star.obj" "./core/lib/crc16.obj" "./core/lib/gcr.obj" "./core/lib/ifft.obj" "./core/lib/list.obj" "./core/lib/me.obj" "./core/lib/me_tabs.obj" "./core/lib/memb.obj" "./core/lib/mmem.obj" "./core/lib/petsciiconv.obj" "./core/lib/print-stats.obj" "./core/lib/random.obj" "./core/lib/ringbuf.obj" "./core/lib/sensors.obj" "./core/lib/settings.obj" "./core/lib/trickle-timer.obj" "./core/lib/strncasecmp/strncasecmp.obj" "./core/dev/leds.obj" "./core/dev/nullradio.obj" "./core/dev/serial-line.obj" "./core/dev/slip.obj" "./apps/rest-engine/rest-engine.obj" "./apps/mqtt/mqtt.obj" "./apps/er-coap/er-coap-block1.obj" "./apps/er-coap/er-coap-engine.obj" "./apps/er-coap/er-coap-observe-client.obj" "./apps/er-coap/er-coap-observe.obj" "./apps/er-coap/er-coap-res-well-known-core.obj" "./apps/er-coap/er-coap-separate.obj" "./apps/er-coap/er-coap-transactions.obj" "./apps/er-coap/er-coap.obj" "../cc26x0f128.cmd" -l"libc.a" 

  • Thanks. I see two potential linker command files being used. One has a *.ld extension and one has a *.cmd extension. Likely they are conflicting with each other:

    "../cpu/cc26xx-cc13xx/cc26xx.ld"

    "../cc26x0f128.cmd"

    Determine which is the correct one and try excluding the other from the build. Note that linker command files used with GCC typically use a *.ld extension while ones used with the TI compiler typically us a *cmd extension (though there is no hard rule for this)

    Thanks

    ki

  • Thanks you Ki this worked. Can you explain why this was not an issue with CCS6 but with CCS9 it was?

    Regards, David

  • David Lorenz said:
    Thanks you Ki this worked. Can you explain why this was not an issue with CCS6 but with CCS9 it was?

    My question to that is were both files also part of the build in CCSv6?