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/MSP432E401Y: Problems upgading to TIRTOS and CCS10

Part Number: MSP432E401Y
Other Parts Discussed in Thread: SYSCONFIG

Tool/software: Code Composer Studio

I've been working with the SimpleLink WiFi plug-in examples using CCS9.  I was able to build and learn what I needed using the projects that where installed by Resource Explorer.  

Then I tried to add the WiFi support to my existing project.  First problem was the TIRTOS I had as a dependency of my project was old and needed to be upgraded.  Then I ran into problems with having a wrong version of SysConfig to be able to build.  To fix this I tried to install the stand alone version into the SysConfig folder under CCS.  After this I started receiving errors that the ti_drivers_config.h file could not be found.  It looks like SysConfig is not creating this file.  At this point I gave up, installed CCS10 to get the latest of everything, then reopened my project.  My original project without any WiFi will now build if I have the older copy of the TIRTOS as a dependency, but when I switch to the newer one I get the same errors about the missing file and SysConfig also reports an error "TypeError: unknown property: serviceReportHook"  when I try to open it.  I tried to backup to CCS9, but since the workspace has been upgraded, it won't open my projects any more.

How do I get out of this mess?  I would like to run the latest versions of everything available from TI.  How do I keep projects updated in the future?  I apply updates as CCS notifies me, but still found myself with an older version of the TIRTOS, SysConfig, and the entire CCS environment.  Should I just uninstall every TI tool I can find and start over?  I have a copy of my last successful build environment from CCS9 before I tried to add WiFi.

  • No need to uninstall CCS.  You should be able to keep CCSv10 fine. The SysConfig in CCS is backwards compatible.

    This looks like a compatibility issue with the device software packages that you are using.  Typically the SDK plug-ins will require a specific version of an SDK.

    I found another thread with the same serviceReportHook message here. https://e2e.ti.com/support/tools/ccs/f/81/t/895483

    Note that a CCS project will specify the version of software packages to use.  You can have multiple copies of SDKs installed and then each project will determine which version to use.

    I will loop in the Wifi team to further assist.

    Regards,

    John

  • Hi Robert,

    The TI-RTOS version comes from the host SDK, not the Wi-Fi plugin or CCS.

    SysConfig comes packaged in CCS, but is also separately available as a standalone tool. You can pick your SysConfig version from your project properties under the General->Products tab.

    With a MSP432 SDK, you have a dependent tirtos_builds kernel project in your workspace. This is linked via the Build->Dependencies tab in your project properties. The relevant SDK version (and therefore TI-RTOS version) is inherited from the tirtos_builds kernel project.

    Please note the Wi-Fi Plugin is not supported in SysConfig today. The board configuration files in the Wi-Fi Plugin 4.20 plugin are handled manually as source files.

    You can start with SysConfig-generated source files for the rest of your MSP432 configuration if you prefer, but you will need to manually add the Wi-Fi host driver content somewhere in your project. In the latest plugin examples, this content is the Wi-Fi struct at the bottom of ti_drivers_config.c and the file ti_drivers_net_config.c.

    Best regards,

    Sarah

  • HI Sarah,

    Thanks for the info.  I'm getting myself straightened out.  I now have my app building with the latest tools, next I need to integrate the WiFi plugin.

    I've found that I also needed to change the SDK version through General->Products tab as well as editing the Build->Dependencies to get it working correctly.  

    I've looked at the examples and understand how to configure the WiFi plugin, I just couldn't get a build to work due to the old versions of SDK, compiler, and CCS.

    What I would like to know is how to stay current. I have been applying updates as CCS notifies me, but found myself back in revisions far enough to be unable to use the WiFi plugin with my existing code base.  Is there a way to get notified of these additional changes, or have them installed automatically?

    Thanks,

    Rob

  • Hi Rob,

    All of the SDK and tool download pages have an "Alert Me" button that will email you when a new version of the software is available.

    Best regards,

    Sarah

  • What is the function of the upgrades that happen inside CCS?  Doesn't CCS update the environment and all the tools and plugins that have been installed?

    Now that I'm running the latest tools, I'm still having problems integrating the WiFi plugin.  I see the sample projects have many system variable additions, and other changes to the project settings.  Is there any way to have these WiFi related changes installed automatically?  I'm having trouble manually copying them between projects, it doesn't seem to find some of the ones I add, they show as user added and not part of the build system, so something is different. I also can't seem to add a path for the library needed at link time, I can't figure out how to add them the same way they are specified in the example projects.

  • Hi Robert,

    CCS is the IDE and compiler. The embedded device software is published separately in SDKs and plugins.

    There is a desktop version of TI Resource Explorer integrated into CCS (View->Resource Explorer) where you can import the latest SDK examples without going to ti.com to download the SDK packages. Those packages are still installed locally by Resource Explorer though. (The cloud version of TI Resource Explorer is dev.ti.com/tirex/)

    Once you have a SDK or plugin installed locally, you can go to your project properties -> General -> Products and add a Product from your list of installed packages. This will add a file path symbol, like ${COM_TI_SIMPLELINK_x}, to your workspace that you can use to add a specific library path or include path in your ARM Compiler and ARM linker project properties. Since this symbol is managed by your project, that means you can update the product version from the Products tab and it will update all the references in your project.

    If you can send a screenshot of your issues, I may be able to give a clearer answer.

    Best regards,

    Sarah

  • Hi Sarah,

    I'm getting a little closer.  Is there any documentation that describes this process?  I read the user guide and it mentions checking the installation through the CCS->Products section, but nothing ever mentioned to open the Project settings and use General->Products to enable the plugin in a project.  I've been manually comparing every Build setting between my project and an example and trying to patch in all these variables as user variables.  

    I went back to a version just after porting to CCS 10, my app builds correctly with no WiFi support.  Then I used the General->Products function to add the WiFi plugin.  Next I tried to add some of the example files to my project.  I added sl_host, and network_if to my project.  On the next build, the simplelink.h include file cannot be found, so I have to edit the variable COM_TI_SIMPLELINK_MSP432_SDK_WIFI_PLUGIN_INCLUDE_PATH to make it build.  This has no value showing in the example, yet the example builds.  Next I run into unresolved references in the link.  I add a value to the variable COM_TI_SIMPLELINK_MSP432_SDK_WIFI_PLUGIN_LIBRARY_PATH but that still doesn't fix the unresolved symbols.  So I hunted down the simplelink.a file and added it directly to my project and resolved most of the symbols.  Now I get an unresolved symbol on SlNetIfConfigWifi which is used in sl_host to add the network interface.  I cannot find where this structure is defined in the example, only an external reference.  Where is this structure defined?

    I've been through the examples, I just can't figure out how to get something similar to work in a project of my own.  How do these example project build without having paths to the include files or the library?

    Thanks for your help,

    Rob

  • I was able to resolve the SlNetIfConfigWifi reference by adding slnetifwifi.a and slnetsock_release.a to my project.  Now the link fails with unresolved symbols for sl_FsClose, sl_FsOpen, and sl_FsWrite.

    How do I resolve these references?  Where are they defined in the example projects?

  • I thought maybe these where part of the build of the base OS project, so I picked Refactor->Upgrade Product Versions on the TI RTOS project.  I guess that was the wrong thing to do. Now the TI RTOS doesn't compile with some strange XDC errors reported.  I can't figure out how to undo my change, so I deleted the project and imported another sample application to get the TI RTOS project generated again.  I can build the example project I just imported, but when I try to build my project again I get errors that the ti_driver_config.h file cannot be found.  It looks like SysConfig isn't running now, no files are generated and I can't open SysConfig to view my configuration without a serviceReportHook error.

    The last time this happened I removed the entire compiler and had to reinstall everything again to fix it.  Is there any simpler way?

    Rob

  • Sarah,

    I'm completely down now.  I uninstalled all the TI products from my computer, even deleted the c:\ti folder and reinstalled everything.  This did not fix the problem.  I know this project built before, I have recovered to this point and it worked.  I'm stuck with the SysConfig function not working, so the auto-generated header files are missing and I can't compile.

    I have my project stored in GitHub, but the workspace file and the TIRTOS is not part of that, so it's probably one of those that's messed up now.  I'm starting to install the tools on another computer to see if I can get something to work again.

    Once I get the environment working again, I would like some clear instructions on how to use the WiFi plugin in my own code.  I enabled the plugin as you mentioned through the General->Products section, but this didn't resolve all the build problems.  Include files could not be found, the link failed with many unresolved symbols.  The examples have the variable set the same way, yet it compiles.  What's different?  How do I get mine to compile?

    Thanks,

    Rob

  • I installed the whole toolchain on a new computer and my project still won't build.  Same errors from SysConfig.

    I guess the next step will be to try to rebuild my entire project from an example again.

    Anything else I can do?

  • Sarah,

    I've isolated the problem to the SDK.  I now have CCS10 installed with both the 3.40 and 4.20 releases of the SDK installed.  I can switch which one is active by selecting Properties->General->Products on the tirtos_builds_MSP_EXP432E401Y_release_ccs project.  When I use 3.40, I can open my .syscfg file and the project builds correctly.  When I switch to 4.20 I cannot open the .syscfg file without errors and the build fails due to the missing auto generated files.

    Here's the error reported by SysConfig:

    TypeError: unknown property: serviceReportHook
    Hide Details...

    at Object.set (file:///C:/ti/ccs1010/ccs/utils/sysconfig_1.5.0/dist/ui.js:44:451022) at eval (C:\Users\Rob\Senix\cc\senix_msp432\sensor_connector.syscfg:90:27) at s.runAsUserScript (file:///C:/ti/ccs1010/ccs/utils/sysconfig_1.5.0/dist/ui.js:44:343417) at Object.t.withDeprecatedAccess (file:///C:/ti/ccs1010/ccs/utils/sysconfig_1.5.0/dist/ui.js:34:244623) at Object.t.runAsUserScript (file:///C:/ti/ccs1010/ccs/utils/sysconfig_1.5.0/dist/ui.js:27:53994) at r.each.e (file:///C:/ti/ccs1010/ccs/utils/sysconfig_1.5.0/dist/ui.js:44:343397) at Kt (file:///C:/ti/ccs1010/ccs/utils/sysconfig_1.5.0/dist/ui.js:9:5239) at Function.Ho (file:///C:/ti/ccs1010/ccs/utils/sysconfig_1.5.0/dist/ui.js:9:40286) at Object.t.runScript (file:///C:/ti/ccs1010/ccs/utils/sysconfig_1.5.0/dist/ui.js:44:343309) at <anonymous>
    I cannot use the WiFi Plugin until I can build my app with the 4.20 release of the SDK.  What is the proper way to upgrade a project from one version of the SDK to another?
    Thanks,
    Rob
  • Hi Rob,

    Can you delete the .syscfg file in your project and add one from the MSP 4.20 SDK instead? SysConfig may have broken compatibility between those versions.

    After you get your base MSP example building, I suggest also importing the wifi_ethernet_sockets example from the Wi-Fi Plugin and comparing the project properties to see exactly what libraries and include paths you need to add.

    Best regards,

    Sarah

  • Sarah,
    I've spent a lot of time building my .syscfg file to match my target system.  Are you saying I need to rebuild that again in with the new SDK loaded?  That's a lot of work.
    The wifi_ethernet_sockets example is the one I have been referencing.  I have been digging through the project settings and manually adding as many of the differences as I can find.  Then you told me about the feature that adds them automatically, so I tried that. But that doesn't work either.  My variables match the example project, but mine won't build because libraries cannot be found.
    Since CCS doesn't provide any easy way to compare project files, I've had to take screen shots of the pages in the example and then use those to edit my project settings.  This is not what I would call a "plugin".  If I have to manually enter all these settings, there should be something in the documentation that mentions it.  There should be explanations of what libraries are needed for what functions, and how to link to them.
    Rob
  • Hi Robert,

    Your issue updating your MSP432E4 application to the latest SDK is not related to the Wi-Fi libraries. Let's resolve this issue first.

    If you open a .syscfg file as a text file, you can see it is essentially a script. If you compare a .syscfg file from an example in the 3.40 SDK versus the 4.20 SDK, you can see the scripting names for the emac changed. If you just update this section, it should resolve your SysConfig issue.

    For your second issue, many customer start with an example in the Wi-Fi plugin so they do not need to add the libraries. This is complicated though because you are using SysConfig, and we do not yet have support for plugins in the tool. If you take screenshots of your errors, I can better help.

    Best regards,

    Sarah

  • Hi Sarah,

    Thanks for the info.  I did some compares to the newer examples, made changes, got new errors, fixed those.  There are a number of new changes, an NIMU needed to be created.  Then I was able to load my .syscfg file in the editor.  It had some warnings on the network adapter pinouts that  I cleared.

    I was still unable to build due to some additional name changes in the ADC channels, it looks like the new SysConfig changed these during the import.  After more code updates, I was able to compile.

    Next the link failed due to "ti/ndk/tools/cgi/cgi.aem4f" not being present.  I found this listed specifically in the linker settings and removed it.  The code was able to link without that module.

    I've run some basic tests on my app and it appears to be working correctly.  I think I am now setup with the correct environment to try the WiFi plugin again.

    Thanks for your help,

    Rob