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.

Compiler/CC3200-LAUNCHXL: Problem building simplesample_http from azure iot device example

Part Number: CC3200-LAUNCHXL
Other Parts Discussed in Thread: CC3200, CC3200SDK, CC3100, UNIFLASH

Tool/software: TI C/C++ Compiler

I have followed the steps in this Azure IoT device sample here: https://catalog.azureiotsuite.com/details?title=TI_CC3200&source=home-page

Following this has been frustrating because there are many steps that do not work without the exact versions listed in this example.

I now have every package of the exact version number listed in this example. Also, I have located the elfcc32.exe tool. The link is the azure example is no longer working.

Now, I am at the step of building the simplesample_http demo but ran into another error. 

Error text:

PS C:\Users\krisr\git\azure-iot-sdk-c\azure-iot-sdk-c\serializer\samples\simplesample_http\tirtos\cc3200> C:\ti\xdctools_3_31_01_33_core\gmake.exe clean
cleaning ..
Could Not Find C:\Users\krisr\git\azure-iot-sdk-c\azure-iot-sdk-c\serializer\samples\simplesample_http\tirtos\cc3200\*.o
PS C:\Users\krisr\git\azure-iot-sdk-c\azure-iot-sdk-c\serializer\samples\simplesample_http\tirtos\cc3200> C:\ti\xdctools_3_31_01_33_core\gmake.exe all
making package.mak (because of package.bld) ...
generating interfaces for package main (because package/package.xdc.inc is older than package.xdc) ...
configuring main.xem4 from package/cfg/main_pem4.cfg ...
js: "C:/Users/krisr/git/azure-iot-sdk-c/azure-iot-sdk-c/serializer/samples/simplesample_http/tirtos/cc3200/main.cfg", line 125: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.mw.fatfs' along the path: 'C:/ti/ns_1_10_00_00_eng/packages;C:/ti/tirtos_cc32xx_2_16_01_14/products/bios_6_45_02_31/packages;C:/ti/tirtos_cc32xx_2_16_01_14/packages;C:/ti/tirtos_cc32xx_2_16_01_14/products/uia_2_00_05_50/packages;C:/ti/CC3200SDK_1.1.0/cc3200-sdk/simplelink_extlib/provisioninglib;C:/ti/xdctools_3_31_01_33_core/packages;..;'. Ensure that the package path is set correctly.
    "./package/cfg/main_pem4.cfg", line 181
gmake.exe: *** [package/cfg/main_pem4.xdl] Error 1
Warning: directory "C:/ti/CC3200SDK_1.1.0/cc3200-sdk/simplelink_extlib/provisioninglib" on package path does not exist
js: "C:/ti/xdctools_3_31_01_33_core/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
gmake: *** [main/compiler.opt] Error 1

How do I resolve this issue to continue the example project?

It appears that the clean command did not work, but I am unsure because the clone from git does not seem to contain built objects.

When I examined the error, it seems there is a problem with a missing package. I am dubious that there is a much more significant error which occurred in a previous step.

I have examined the main.cfg file at line 125.

  • 125: var TIRTOS = xdc.useModule('ti.tirtos.TIRTOS');
  • 126: TIRTOS.useGPIO = true;
  • 127: TIRTOS.useUART = true;

I see nothing I can do here to change a path. 

How does this get resolved?

Thank you,

Kris Jensen

  • I went back to the first steps and rebuilt the project.

    This has gotten me further in the process, but not to completion.

    Now the command "c:\ti\xdctools_3_31_01_33_core\gmake.exe all" builds the entire project. There is an error during linking. It seems there is a library the linker needs to rebuild. When the linker tries to invoke gmake there is a path failure.

    "../../simplesample_http.c", line 79: warning: function "sendMessage" was declared but never referenced
    building simplesample_http.out ..
    <Linking>
    warning: automatic library build: using library
    "C:\ti\ti-cgt-arm_5.2.5\lib\rtsv7M4_T_le_eabi.lib" for the first time, so it
    must be built. This may take a few minutes.
    >> ERROR: mklib: could not find program "sh", required for building libraries. Modify the PATH environment variable to contain a directory containing this program.
    warning: automatic RTS selection: resolving index library "libc.a" to
    "rtsv7M4_T_le_eabi.lib", but "rtsv7M4_T_le_eabi.lib" was not found

    undefined first referenced
    symbol in file
    --------- ----------------
    __TI_decompress_none
    __TI_decompress_rle24
    __TI_zero_init

    I have tried adding the line "PATH=$(XDCTOOLS_INSTALLATION_DIR)" to the products.mak file. This had the same effect.

    Where to go from here?
  • I had to run the following command on the command line
    " $env:path += ';c:\ti\xdctools_3_31_01_33_core;c:\ti\xdctools_3_31_01_33_core\bin'"

    Then I found out the elf3cc32.exe does not belong in the directory described in the example.

    The file "elf2cc32.exe" belongs in c:\ti\ns_1_10_00_00_eng\tools\

    At this point I now have the simesample_http.bin file.

    Turns out that even the UniFlash version has to be V3.4 because V4 has deprecated the CC3100/CC3200.

    This product seems quite rushed.
  • Hi Kris,

    The note that CC3100 and CC3200 should use version 3.4 of UniFlash is on the software download page. Version 4 does not support these products at this time.

    Best regards,
    Sarah