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.

Having problem rebuilding usblib

Other Parts Discussed in Thread: TM4C123GH6PM, TM4C1233H6PM

Hello,

I am using TivaWare_C_Series-2.0.1.11577 and CCS v5.5 and trying to rebuild the usblib in TivaWare in order to customize it. Once I imported the ccs project from ..\TivaWare_C_Series-2.0.1.11577\usblib and opened the project properties, the "Device Variant" showed a device name that is "not recognized" by ccs. After I changed it to "Tiva TM4C123GH6PM" and started building it, the build rules were not found.

How to rebuild the usblib correctly? Thank you for any help!

Yanli

  • The driverlib and sensorlib also have not been updated to the TM4C123GH6PM. I too have been unable to rebuild usblib. Thanks, ti, for version 2 of TivaWare which now allows the examples to be compiled without re-creating the build rules, which is a formidable task for the beginner. Perhaps when the libs have also been updated, the links on http://www.ti.com/tool/SW-EK-TM4C123GXL could be updated, as they install version 1.0 of TivaWare and version 4.9 of the compiler.

  • Yanli,

    I just installed TivaWare_C_Series-2.0.1.11577 and CCS v5.5 and was able to build the "usblib" with default "Device Variant" and TM4C123GH6PM. I was also successful in building with CCS v5.4.

    To import the usblib project into CCS, click on  Project->Import Existing CCS Eclipse Project. In the new browse window select ../TivaWare_C_Series-2.0.1.11577/usblib. Make sure that the "Copy projects into workspace" checkbox is unchecked. Then click on "Finish" button. Then select the "usblib" project in "Project Explorer" window (on left), right click and select "Rebuild Project". This should build with no errors and maybe 1 warning (about different version being used).

    Also while installing the CCS, did you choose support for Tiva C devices?

    If you have done all the above, please post the build error that you are noticing.

    Sai

  • Hi, Sai,

    I am seeing this also. Can you try this with a fresh install of 5.5?

    I can reproduce this with a fresh install of CCS 5.5 on a new machine (I'm doing it under linux for other reasons, so I won't be trying to fix it). I haven't had any issues with my normal copy of CCS 5.5 that had been upgraded from 5.3, I think.

    I installed 5.5, and during the install I selected the Tiva package, but not the Stellaris package (not sure on the exact names but somewhere during the install). I'm unable to find the Stellaris "package" to try to update. Do you know what repository it is in?

    If import like you mentioned I try to build or rebuild I get:

    Buildfile generation error occurred..

    This project was created for a device that is not currently recognized: Cortex M.LM4F110B2QR. Please install the device descriptor, or migrate the project to the closest match from the supported devices by adjusting project properties.
    Build stopped..

    I can't really change anything in the project. It won't let me into the ARM Compiler settings. If I change the variant to a Tiva device I get this error after hitting OK:

    Problems encountered while initializing build-configuration 'Debug' of project 'usblib' Please see the 'project.log' file

    I can provide logs or more info if needed, but I suspect this is related to the Stellaris "package" not being installed.

  • I did a clean re-install of CCS 5.5 and TivaWare 2.0... and the result is exactly as stated above by stepman. If subsequently I change the device in the Properties to TM4C123GH6PM and rebuild, the result is no errors, but that is because the target 'All' is up to date. A clean rebuild fails due to lack of include directories because changing the device clears the build parameters. Some parameters such as paths are obvious, but comparing the Tiva 1 and Tiva 2 compiler flags, it is evident that some parameters need a knowledge of the product that is above beginner level. The properties gui does not permit easy comparison between projects, and there is reason to suppose that the parameters would be different for different devices. Of course, users must eventually acquire the knowledge to configure CCS, but beginners need to start with a working system, so it would be better for TI experts to update the starter software so that everything works, and update the website to provide that as the default starter package.

  • Perhaps I should add that after adding the include paths, the errors were 'invalid compiler', so I added predefined names ccs="ccs", PART_TM4C123GH6PM, and TARGET_IS_BLIZZARD_RB1. There were then 1535 errors beginning with 'expected a semicolon' in usbbuffer.c, which pointed to a comment line in the middle of a block of comments. What would you do next ?

  • Richard Theobald said:
    Perhaps I should add that after adding the include paths, the errors were 'invalid compiler', so I added predefined names ccs="ccs", PART_TM4C123GH6PM, and TARGET_IS_BLIZZARD_RB1. There were then 1535 errors beginning with 'expected a semicolon' in usbbuffer.c, which pointed to a comment line in the middle of a block of comments. What would you do next ?

    Enable the GCC language extensions (project properties -> build -> arm compiler -> advanced -> language)

  • Also, the only reason I can see to rebuild drvlib or usblib is to add the DEBUG define, which enables the ASSERT macro in the libraries. Otherwise just use the binary that TI provides.

    Another option I tried modifying the .cproject and .ccsproject files replacing the text LM4F110B2QR with TM4C1233H6PM and rebuilt the library. This appears to create an identical library. You'll want to extract the original files again.

    If you are setting up your own project, enable -O2 optimization as well. In my own built version of usblib, the unoptimized library would stop generating callbacks/interrupts. I never tracked it down. YMMV

  • After doing a clean install of CCS v5.5, I am able to observe the behavior reported here. I will report this bug and will see if we can come up with a work around.

    Sai

  • After I followed the steps below, I am able to build "usblib"

    • While installing CCS v5.5 if "Custom" setup is selected on "Setup Type" screen make sure that "Stellaris Cortex M MCUs" and "Tiva C Series ARM MCUs" are selected on "Processor Support" screen (both have to be selected even for Tiva C Series).
    • Delete old CCS files from workspace. If you do not select the option "Copy projects into workspace" while importing "usblib", then delete CCS files from "../TivaWare_C_Series-2.0.1.11577/usblib" folder or reinstall TivaWare. 
    • Import and build usblib.
    Hope this helps!
  • Doesn't this procedure build the library for the Stellaris board, as you haven't changed the device code ? That's fine if the hardware is identical between all Stellaris and corresponding Tiva C-Series boards. If the hardware is not identical, then shouldn't the libraries shipped in TivaWare_C_Series-2.0.1.11577 be rebuilt, after changing the device code ?

  • stepman said:

    Perhaps I should add that after adding the include paths, the errors were 'invalid compiler', so I added predefined names ccs="ccs", PART_TM4C123GH6PM, and TARGET_IS_BLIZZARD_RB1. There were then 1535 errors beginning with 'expected a semicolon' in usbbuffer.c, which pointed to a comment line in the middle of a block of comments. What would you do next ?

    Enable the GCC language extensions (project properties -> build -> arm compiler -> advanced -> language)

    [/quote]

    Thanks, that works.

  • Thanks for everyone's responses. I could rebuild the library after choosing device TM4C123GH6PM and adding predefined symbols, file search paths, etc. to put the project together. One thing cost me time was somehow I had to manually add compiler option "-me" to generate little endian codes although the General page of project Properties already selected "little".

    Yanli

  • Richard,

    The procedure I listed builds the library for the Stellaris part. But I was successful in building the library for TM4C123GH6PM by choosing this part from the drop down list for (Device) "Variant" in the "General" screen of project properties.

    Sai

  • Hello!
    I have the same problem, but other reason.
    I trying to rebuild usblib for TI_RTOS 1.20 from folder \tirtos_1_20_00_28\products\TivaWare_C_Series-2.0b\usblib and CCS5.5, but arise fatal error #1965: cannot open source file "tiva_rtos.h".

    This file included in file "rtos_bindings.h" but missing. Where I can download this file?