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 5.5 TivaWare Updates

Other Parts Discussed in Thread: MSP430WARE, TM4C129XNCZAD

Hi there. Not %100 sure if this is in the right forum but it seemed to be the best fit.

So recently, I had upgraded to CCS 5.5. I had upgraded from the last major version, whichever that is. I also had TivaWare 2.0.1 installed, which I believe was also the last major version of TivaWare. After upgrading to CCS v5.5, the TivaWare 2.0.1 was working fine. Projects were building, everything was hunky-dory.

Then I noticed that there was a major update for TivaWare, moving up to TivaWare 2.1. This is where I start to get confused about how CCS handles things like TivaWare, MSP430ware, etc. I used to go into the Install New Software... menu and the updates would be in there. However, when I first installed TivaWare I downloaded the installer from the website, and went through the TivaWare slideshow/labs/tutorials that are here on the TI website. I'm pretty sure it was Lab 1 that described how to set up TivaWare with CCS. In hindsight, the whole process seemed overly complex, considering it's essentially just a bunch of APIs and the whole package could be a plugin.

Now that I've installed TivaWare 2.1 (the most recent version available, I downloaded it about 30 minutes ago) I've tried to go back through all my project properties (isn't there a global one somewhere!?!?) and I changed the Resource tab to point to the new install. I also deleted the old TivaWare folder, as there doesn't seem to be an actual uninstaller somewhere.

My projects are able to see the new TivaWare install fine. I even dragged and dropped the new grlib.lib and driverlib.lib files into my project to create new links to the fresh versions. I updated the compiler and linker info where needed. 

But now I'm getting a whole bunch of build errors, that all seem to be linker-related. It's telling me that things like "ROM_GPIOPinTypeLCD declared implicitly" and "#35 #error directive Unrecognized COMPILER!" and "Unresolved symbol ROM_SysCtlClockFreqSet, first referenced in ./main.obj". Why is it that every time there's an update to TivaWare it throws everything into chaos?? I don't understand why there isn't a TivaWare updater executable that automatically updates all the important files without changing any paths. The new TivaWare folder, of course, has the new version number as a suffix. This makes sense, so you're sure you've got the new files in the right place, but I really don't understand how you're supposed to integrate it with CCS.

Is there some sort of offical upgrade instructions somewhere? It always ends up so complex.

Thanks in advance! 

  • Hi Alexander,

         It means that you have not setup your CCS for Tivaware 2.1 programs. What Tiva kit are you using?

         Import one of the working example programs at Tivaware 2.1 and see the project settings, then compare it to your own project. You, will get an idea what you are missing.

        There are also Tivaware C API's for TM4C123 that are not used at TM4C129

         From your error, I guess you are missing some preprocessor symbols. You, also need to setup the location of your new Tivaware install. At my CCS I have a variable TIVAWARE_INSTALL located at  a .ini file that indicates the location of my Tivaware installation folder.

    -kel

  • Alexander Rowsell said:
    This is where I start to get confused about how CCS handles things like TivaWare, MSP430ware, etc. I used to go into the Install New Software... menu and the updates would be in there

    TivaWare and some other packages are not installed as "New Software" from within CCS like some other components are such as the Compiler Tools, Emulation packs etc. Currently they still need to downloaded/installed separately. Then from within CCS, the package can be "seen" or "added" to the TI Resource Explorer view, which allows you to then browse and import projects from TivaWare easily into CCS.

    In CCSv6, this integration is better in that the packages can be installed directly from the CCS App Center. This simplifies the process of locating/installing these packages.

    Now as for your errors, they are likely due to missing predefined symbols as posted in the previous reply. Please import an example TivaWare project into your workspace and compare the settings from it to your custom project. The place to check for predefined symbols is under Project Properties->Build->Compiler->Advanced Options->Predefined Symbols. In addition, you might also be missing a library that is required to be linked in.

  • No, I double checked the predefined symbols. I made sure that the Linked Resources TIVAWARE_INSTALL was pointing to the new location.

    Once I'm back on that computer I'll triple check but I think that I have the correct settings.

    I didn't know there was a CCSv6? When was that released?

  • There were beta versions of CCSv6 posted on our Wiki site for download. The final release is scheduled to be out next week.

  • When I first set up CCS for the LaunchPads I have (the Hercules LP, MSP430, and more importantly my DK-TM4C129X kit) I remember setting up that .ini file that automatically adds the TIVAWARE_INSTALL variable to new projects, but now I can't find it.

    It's strange, I didn't really change anything, and now some of my projects are building. Would you recommend upgrading to v6 when it comes out next week? I generally like to stay on the newest version of IDEs, but in some cases it can cause more problems than it's worth. Really, all I need is a simple editor that I can write code for the Tiva C processors. I just want it to build. I understand that I need to go into the project properties and make changes, but the deeper I get it seems to be more complex. It would be nice if picking my processor on the General tab set all the Predefined Symbols etc for me, or at least put defaults in there. Also, I still haven't really figured out the linker yet. Whenever I get linker errors, I just play with things until it works.

    I know that I should be more realistic about things, but I generally prefer when things just work. Anyway, I don't want to sound pissy, far from it -- I actually REALLY love CCS when it's working. It's one of the better IDEs I've used (I suppose because it's based on Eclipse), and I really like the debug interface as well.

    What I'm asking now is what things I should always check when starting a new project. I usually check the Linked Resources tab to make sure TIVAWARE_INSTALL is in there. I also go to the Predefined Symbols, and I used to add TARGET_IS_SNOWFLAKE_RA0 and PART_TM4C129XNCZAD although it looks like those have changed. I've started to use the new symbols in the example projects, and that may have fixed the problems I was having. When I went through the Tiva tutorials elsewhere on the site (I'm having trouble finding them again, they were excellent) they had me drag driverlib.lib and grlib.lib into the project when needed -- I'm curious, is that for the linker, compiler, or both? Could those folders just be pointed to in the linked resources tab? Why do they need to be dragged into the project as links?

    To be honest, and I don't want to sound like a newb, but I learned most of my C hardware programming in Atmel Studio. I love both the TI chips and the Atmel ones, but the Atmel IDE definitely takes care of a lot of this stuff for you. The options are still there if you want to change them, but when I start a new project and tell it what chip I'm using, and the programmer I'm using, I just write my code, compile, download and away I go. I feel like I'm missing something big with CCS.

    Anyway, sorry for the ramble. I am a sponge -- please give me advice! I take it seriously and try and improve my habits.

    Thanks a ton!

  • Hi Alexander,

        Download the workbook pdf from the link below. There is a portion there that discusses about the TIVAWARE_INSTALL. Maybe this will help you find where the TIVAWARE_INSTALL variable is located. At my PC it is located at vars.ini at my CCS workspace.

      http://processors.wiki.ti.com/index.php/Creating_IoT_Solutions_with_the_TM4C1294XL_Connected_LaunchPad_Workshop

    -kel