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.

Errors importing Example_2806xLaunchPad demo example

Other Parts Discussed in Thread: CONTROLSUITE, LAUNCHXL-F28069M


My 28069M LaunchPad, delivered a few days ago, fires up and talks to the ttyUSB0 device just fine.  However, I'm having much less luck getting the demo app compiled and loaded to make the board do... well, exactly what it does now. But with code I have compiled, of course. <grin>

After importing the controlSUITE3 project Example_2806xLaunchPad I am unable to compile the project due to (at least) nonexistent path errors for the FPUfastRTS and IQmath libraries.

More specifically, when I load the Example_2806xLaunchPad project from:

  /opt/ti/controlSUITE/development_kits/LAUNCHXL-F28069M/

I see an error message: "Unrecognized product of type 'com.ti.rtsc.XDAIS'", which other postings in this forum  seem to indicate is safe to ignore. Ignoring things is fairly simple, but there's more.

After the Import completes, Problem Explorer shows the following Warnings:

  Build variable 'XDAIS_CG_ROOT' cannot be resolved.
         Example_2806xLaunchPad        properties    Problems

  Invalid project path: Include path not found
      (/libs/math/FPUfastRTS/FPUFASTRTS_VERSION/include).
      Example_2806xLaunchPad        pathentry    Path Entry Problem

  Invalid project path: Include path not found
      (/libs/math/IQmath/IQMATH_VERSION/include).
      Example_2806xLaunchPad        pathentry    Path Entry Problem

  Invalid project path: Include path not found
      (/packages/ti/xdais).
      Example_2806xLaunchPad        pathentry    Path Entry Problem

  This project was created using a version of compiler that
    is not currently installed: 6.1.0 [C2000]. Another version
    of the compiler will be used during build: 6.4.3. Please go
    to <a href="liveaction:OpenAppCenter">CCS App Center</a> to
    install the compiler of the required version, or migrate
    the project to one of the available compiler versions by
    adjusting project properties.
    Example_2806xLaunchPad        properties    Problems

Okay. I assume that the first can also be ignored, and the last ought to be fixed by setting

  Project->Properties->General->/Main\->Compiler_version to TIv6.4.3

but it isn't -- the warning remains. (No "Quick Fix", either.)

If I build the project, I get all sorts of errors, understandable because:

 1) Those "variables"(?) FPUFASTRTS_VERSION and IQMATH_VERSION never get replaced, and
 2) The libraries are 'way down under /opt/ti. Searching for _anything_ in /libs/ is sort of useless, since that directory doesn't exist on my system.

So... if I ignore the Warnings and do a Clean build, I get 4 errors, two of which tell me that these are the missing libraries:

  cannot find file "rts2800_fpu32_fast_supplement.lib"
      Example_2806xLaunchPad             C/C++ Problem

  cannot find file "IQmath_fpu32.lib"
      Example_2806xLaunchPad             C/C++ Problem

Okay. Is there, somewhere in all this, enough information for someone to suggest a way to Import this project in a way that will make these problems go away?

Compiler: CCS Version: 6.1.0.00104 with controlSUITE3
OS:       Ubuntu Linux 14.04
Product:  LAUNCHXL-F28069M

Oh... Are there any plans afoot to allow installing controlSUITE3 directly from the CCSv6 Help menu via Install_New_Software?


Frank McKenney

  • An update to my previous message.

    Among other things, there appears to be some sort of conflict between the variables which get set up for the Example_2806xLaunchPad project as it is imported.

    CCSv6:

      File->Import...
      Code_Composer_Studio->CCS_Projects
      [Next>]
      Select root directory:
        /opt/ti/controlSUITE/development_kits/LAUNCHXL-F28069M/
      [x] Example_2806xLaunchPad

      Error dialog box:
      Unrecognized product of type 'com.ti.rtsc.XDAIS' is required by
        project 'Example_2806xLaunchPad' - please install at least one
        product of this type before building this project.

    Once the import process has completed I get the same 5 Warnings I did on previous attempts.

    Here are the newly-imported project's  properties:

      Project->Properties
      [Resource->Linked_Resources]:
     
        ORIGINAL_PROJECT_ROOT         (1)
          /opt/ti/controlSUITE/development_kits/LAUNCHXL-F28069M/LaunchPadDemo
        INSTALLROOT_IQMATH_VERSION    (2)
          ${ORIGINAL_PROJECT_ROOT}/../../../libs/math/IQmath/v160
        INSTALLROOT_FASTRTS_VERSION   (3)
          ${ORIGINAL_PROJECT_ROOT}/../../../libs/math/FPUfastRTS/V100

      [Build]->/Variables\
        ORIGINAL_PROJECT_ROOT         (4)
          /opt/ti/controlSUITE/development_kits/LAUNCHXL-F28069M/LaunchPadDemo
        INSTALLROOT_IQMATH_VERSION    (5)
          ${ORIGINAL_PROJECT_ROOT}/../../../../../../libs/math/IQmath/IQMATH_VERSION
        INSTALLROOT_FASTRTS_VERSION   (6)
          ${ORIGINAL_PROJECT_ROOT}/../../../../../../libs/math/FPUfastRTS/FPUFASTRTS_VERSION


    Directories (1) and (4) are identical, exist, and are the original project directory. (Mildly reassuring)

    Directory (2) appears correct also, as does (3). Both have ./lib/ subdirectories, (2) containing IQmath_fpu32.lib and IQmath.lib and (3) containing rts2800_fpu32_fast_supplement.lib.

    So far, so good. But (5) and (6) are mangled: not only are there no directories on my system containing the strings IQMATH_VERSION or FPUFASTRTS_VERSION, the three additional "up directory" adjustments ('/../') force path traversal back up to the root ('/') directory. And, of course, there is no '/libs/' directory.

    Workaround: I copied the "Linked_Resources" values for the offending variables over to the [Build]->/Variables\ entries. The two Warnings related to these items have disappeared, which I rake as A Good Sign.

      "But wait! There's more..."  (U.S. TV commercial for RONCO)

    I now have several Warnings, plus one train-stopping Error -- two actually, but one of them is the generic "An Error Was Encountered So We Stopped" error. Here's the important one, a message-less error:

      /Example_2806xLaunchPad/F28069.cmd Line 141

      (resolved location: /opt/ti/controlSUITE/device_support/f2806x/v140/F2806x_common/cmd/F28069.cmd )


    So... going to the file, here's the error context:

        139   /* Allocate uninitalized data sections: */
        140   .stack              : > RAMM0,      PAGE = 1
    (x) 141   .ebss               : > RAML2,      PAGE = 1
        142   .esysmem            : > RAML2,      PAGE = 1

    >>> Added an hour later...

    The output from the link portion of the build provides a little more information:

    Building target: Example_2806xLaunchPad.out
    Invoking: C2000 Linker
    "/opt/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.3/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 -g --define="_DEBUG" --define=_FLASH --define="LARGE_MODEL" --quiet --verbose_diagnostics --diag_warning=225 --issue_remarks --output_all_syms --cdebug_asm_data -z -m"Example_2806xLaunchPad.map" --stack_size=0x200 --warn_sections -i"/opt/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.3/lib" -i"/opt/ti/ccsv6/tools/compiler/ti-cgt-c2000_6.4.3/include" -i"/opt/ti/controlSUITE/device_support/f2806x/v140/F2806x_common/lib" -i"/opt/ti/controlSUITE/libs/math/IQmath/v160/lib" -i"/opt/ti/controlSUITE/libs/math/FPUfastRTS/V100/lib" --reread_libs --priority --verbose_diagnostics --issue_remarks --xml_link_info="Example_2806xSci_Echoback_linkInfo.xml" --entry_point=code_start --rom_model -o "Example_2806xLaunchPad.out" -l"rts2800_fpu32_fast_supplement.lib" -l"rts2800_fpu32.lib" "./Example_F2806xLaunchPadDemo.obj" "./F2806x_Adc.obj" "./F2806x_CodeStartBranch.obj" "./F2806x_CpuTimers.obj" "./F2806x_DefaultIsr.obj" "./F2806x_GlobalVariableDefs.obj" "./F2806x_PieCtrl.obj" "./F2806x_PieVect.obj" "./F2806x_Sci.obj" "./F2806x_SysCtrl.obj" "./F2806x_TempSensorConv.obj" "./F2806x_usDelay.obj" "./sci_io.obj" "/opt/ti/controlSUITE/device_support/f2806x/v140/F2806x_common/cmd/F28069.cmd" "/opt/ti/controlSUITE/device_support/f2806x/v140/F2806x_headers/cmd/F2806x_Headers_nonBIOS.cmd"  -l"IQmath_fpu32.lib"
    warning: creating output section ".cio" without a SECTIONS specification
    warning: creating ".esysmem" section with default size of 0x400; use the -heap
       option to change the default size
    "/opt/ti/controlSUITE/device_support/f2806x/v140/F2806x_common/cmd/F28069.cmd", line 141: error:
       program will not fit into available memory.  run placement with
       alignment/blocking fails for section ".ebss" size 0x221 page 1.  Available
       memory ranges:
       RAML2        size: 0x400        unused: 0x0          max hole: 0x0       
       .ebss               : > RAML2,      PAGE = 1
    warning: entry-point symbol other than "_c_int00" specified:  "code_start"
    error: errors encountered during linking; "Example_2806xLaunchPad.out" not
       built

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

    **** Build Finished ****

    I can see how assigning 'most anything to a 0-sized "hole" could be a problem, but as the 28069 reportedly has 128k of FLASH and 50k of SRAM, there should be enough and to spare... if only I could convince the linker of that. <grin>

    At this point I'm stuck. Any hints or observations would be appreciated.


    There are also, I suspect, more problems beyond these, but it would be nice to have a clue as to what is causing all these problems to occur in the first place, and, perhaps more usefully, how to work around them the next time I need to import a project.

    Thanks.


    Frank McKenney

  • Hi Frank,

    Yes this has been very well discussed here: e2e.ti.com/.../396813

    First of all, you can ignore XDAIS warning. Secondly try using complete paths instead of relative ones in include options.

    Regards,
    Gautam
  • Frank,

    We appreciate the feedback on suggestion of controlSUITE installation via CCS and will take it into consideration for future enhancements!

    Yes, there seems to be some linking issues that never got resolved and I'll file a bug to get these resolved in the next revision of this project.

    For fixing the two library linking issues:

    1. Go to Project Properties -> Build -> Variables tab

    2. Select INSTALLROOT_FASTRTS_VERSION and click edit. Then update the value to: ${PROJECT_ROOT}/../../../libs/math/FPUfastRTS/V100

    3. Select INSTALLROOT_IQMATH_VERSION and click edit. Then update the value to: ${PROJECT_ROOT}/../../../libs/math/IQmath/v160

    For the linker file:

    1. Open F28069.cmd

    2. Replace line 141 with:     .ebss               : >> RAML2 | RAML3,      PAGE = 1


    (To learn more about editing the linker command files and memory splitting: Click Here)

    The remaining warnings should be able to be ignored. 

    Let me know if this resolves your issue!

    Best Regards,

    Chris

  • Hi, Chris.

    Thanks for responding.

    Christopher Chiarella said:

    We appreciate the feedback on suggestion of controlSUITE installation via CCS and will take it into consideration for future enhancements!

    You're welcome. And thank you for the patches.

    Christopher Chiarella said:

    Let me know if this resolves your issue!

    I put your fixes in and was able to successfully compile and link the project. However, moving on to the Debug phase I hit another problem: getting the board to talk to CCS.

    First I configured the debugger according to the silkscreen printing on the PCB:

    Project->Properties [General] /Main\ Connection is

      "Texas Instruments XDS100v2 USB Debug Probe"

    ( Please extend my thanks to whoever put that text there -- it saved me a lot of headscratching. <grin> )

    Starting Debug produced this dialog:

      C28xx: Error connecting to the target: (Error -1135 @ 0x0) The debug probe
      reported an error. Confirm debug probe configuration and connections, reset
      the debug probe, and retry the operation. (Emulation package 5.1.641.0)


    In trying to get past this, I discovered this useful way of finding whether the board was recognized by the OS:

      /opt/ti/ccsv6/ccs_base/common/uscif/xds100serial

      Scanning for XDS100 emulators...

      VID/PID    Type            Serial #    Description
      0403/a6d0  XDS100v1/v2     TIY4SM6V    Texas Instruments Inc.XDS100 Ver 2.

    So that wasn't my problem. After several more blind alleys I finally re-read the LAUNCHXL-F28069M User's Guide (sprui11.pdf) and discovered something I'd ha previously missed:

      Section 5.3 Boot Mode Selection

      ... Keep in mind that the debugger does not connect if the device is not in the emulation boot mode (TRST switch in the up position)

    Guess which way SW1-3 (TRSTn) is set as shipped? Give the man a cigar! It's OFF.

    That's a long-winded way of saying that I have, with your assistance, successfully compiled, linked, and loaded. The result even blinks. <grin>

    So, to summarize... the process for successfully importing seems to require these steps:

    • CCS File->Import of the Project
    • Repairing Build->/Variables\ INSTALLROOT_IQMATH_VERSION
    • Repairing Build->/Variables\ INSTALLROOT_FASTRTS_VERSION
    • Updating  [General]->Compiler version to [TI v6.4.3]
    • Fixing the F28069.cmd linker file as you described
    • Setting Project->Properties [General] /Main\ Connection to [Texas Instruments XDS100v2 USB Debug Probe]
    • Setting SW1-3 on the LAUNCHXL-F28069M board to ON.

    Gee. When you put it that way, it sounds so simple. <grin>

    Thanks again.

    Frank