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 doesn't seem to know TivaWare has been installed

Other Parts Discussed in Thread: TM4C129XNCZAD

Hey everyone


I've been using CCSv6 on Fedora 20 for a while now, and everything has been working brilliantly for MSP430. However, I want to add TivaWare as my main computer has it and the laptop doesn't. I've never used TivaWare on Linux before, and I've heard of mixed results, but I want to give it a shot.

Downloaded the most recent TivaWare install, renamed it to .zip, extracted everything to /opt/ti/TivaWare, then went to that directory and ran make. This took a bit, seemed to be building all the libraries. Make went without a hitch, everything built with no errors.\

Then opened up CCS and, remembering part of the Windows setup, imported all the projects required (driverlib, grlib, usblib, etc) and built those -- they, too, built fine. However, when I go to build an actual project, there are a bunch of linker errors, mostly reference errors. It seems that whatever the TivaWare exe does in Windows has not happened, ie, CCS doesn't 'know' TivaWare is installed. Does this make sense? I'm assuming there's a few things that the installer changes. I manually added the TivaWare directory to the Resource Explorer page, so now the examples show up there.
 And when I installed CCS originally, I installed support for the Tiva microcontrollers. The compiler seems to work fine, it's just the linker that throws up a pile of errors.

Also, I checked to make sure that in Project Properties, the TivaWare installation directory is included in the Resources tab. It seems that all the references in there are correct, and not broken.

Anyone with experience setting this up? I'd love to get this working.

Thanks!

  • A small success. I'm using the DK-TM4C129X Connected Development Kit, for reference.

    Using the imported project simply called 'Project', I managed to get the board's LED blinking by changing the project properties to the TM4C129XNCZAD, then excluding both startup_ccs.c and project_ccs.cmd from the build, because of course it had added the Tiva ones by default. Also, had to change the target configuration to the correct chip as well. Changed the pin to PQ4 and the blue LED flashes.

    So, a small victory. Looks like programming and debugging work. Just have to figure out the linker errors on the bigger projects (ie, qs_weather). Maybe it's a similar problem?

    Just checked, and no, it doesn't seem to be the same issue. The linker is specifically throwing unresolved references to driver libraries that seem to be correctly build and referenced in the linker include directories.

  • Aurelius Rowsell said:
    However, when I go to build an actual project, there are a bunch of linker errors, mostly reference errors.

    Which symbols is the linker reporting as unresolved?

    After Importing the qs-weather example into CCS 6 under Linux, the linker reported the following unresolved symbols:

    >> Compilation failure

    undefined first referenced
    symbol in file
    --------- ----------------
    FlashPBGet ./qs_weather.obj
    FlashPBInit ./qs_weather.obj
    FlashPBSave ./qs_weather.obj
    FrameDraw ./qs_weather.obj
    Kentec320x240x16_SSD2119Init ./qs_weather.obj
    PinoutSet ./qs_weather.obj
    TouchScreenCallbackSet ./qs_weather.obj
    TouchScreenInit ./qs_weather.obj
    TouchScreenIntHandler ./startup_ccs.obj
    dns_gethostbyname ./eth_client.obj
    dns_tmr ./eth_client.obj
    g_sKentec320x240x16_SSD2119 ./qs_weather.obj
    lwIPEthernetIntHandler ./startup_ccs.obj
    lwIPInit ./eth_client.obj
    lwIPLocalIPAddrGet ./eth_client.obj
    lwIPNetworkConfigChange ./eth_client.obj
    lwIPTimer ./eth_client.obj
    pbuf_free ./eth_client.obj
    tcp_close ./eth_client.obj
    tcp_connect ./eth_client.obj
    tcp_err ./eth_client.obj
    tcp_new ./eth_client.obj
    tcp_output ./eth_client.obj
    tcp_recv ./eth_client.obj
    tcp_recved ./eth_client.obj
    tcp_sent ./eth_client.obj
    tcp_tmr ./eth_client.obj
    tcp_write ./eth_client.obj
    usprintf ./qs_weather.obj
    ustrlen ./json.obj
    ustrncmp ./json.obj
    ustrncpy ./qs_weather.obj
    ustrtoul ./json.obj

    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "qs_weather.out" not built

    In this case the linker errors are due to the linked resources not being copied into the imported project.

    To add the linked resources to the project, the "linkedResources" section of the <tivaware_install_root>/examples/boards/dk-tm4c129x/qs_weather/ccs/.project file was copied to the <ccs_workspace>/qs_weather/.project file.

    With the linked resourced manually copied into the import project, the qs-weather example then compiled and linked without error.

    For reasons I don't understand, CCS 6 under Linux sometimes fails to import linked resources from example projects.

  • Good call!

    Didn't realize the .project file had that in there.


    Thanks!