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.

MSP432E411Y: Watchdog Timer Issue on MSP432E411Y BGAEVM Processor

Part Number: MSP432E411Y
Other Parts Discussed in Thread: MSP432E401Y, SYSCONFIG

Hi TI Experts,

I am encountering difficulties while attempting to integrate a Watchdog Timer into the MSP432E411Y BGAEVM processor. My current code base fails to build after adding a watchdog timer (specifically Watchdog 0 with default configuration) through the .syscfg file. Interestingly, I successfully implemented the same watchdog configuration on the MSP432E401Y, where it works flawlessly.

Unfortunately, there are limited example projects available for the MSP432E411Y (unlike the MSP432E401Y, which benefits from having a launchpad). However, I did find a relevant GPIO interrupt example named “gpiointerrupt_MSP432E411Y_BGAEVM_tirtos_ccs” in the resource explorer for TIRTOS. When I load this project into my IDE and attempt to add a watchdog using the gpiointerrupt.syscfg file, I encounter approximately 100 errors similar to the ones below:

Description: "ADC0SS0_IRQn" has already been declared in the current scope
Location: .ccsproject/gpiointerrupt_MSP432E411Y_BGAEVM_tirtos_ccs, line 91
External location: C:\ti\old_msp432_sdk\simplelink_msp432e4_sdk_4_20_00_12\source\ti\devices\msp432e4\inc\msp432e401y.h
Type: C/C++ Problem

Description: "ADC0SS1_IRQn" has already been declared in the current scope
Location: .ccsproject/gpiointerrupt_MSP432E411Y_BGAEVM_tirtos_ccs, line 92
External location: C:\ti\old_msp432_sdk\simplelink_msp432e4_sdk_4_20_00_12\source\ti\devices\msp432e4\inc\msp432e401y.h
Type: C/C++ Problem

Upon further investigation, I’ve narrowed down the issue to the Watchdog area of the ti_drivers_config.c file. This file is auto-generated into the Debug build folder using the gpiointerrupt.syscfg file. Specifically, adding the Watchdog to the MSP432E411Y syscfg file introduces the line #include <ti/devices/msp432e4/inc/msp432e401y.h>. Unfortunately, this inclusion leads to redefinition errors because it adds an E410Y header file to the E411Y project.

I’m unsure how to address this issue, especially since the ti_drivers_config.c file is automatically generated. Any insights or guidance would be greatly appreciated.

Thank you in advance for your assistance.

  • Hi,

      First of all, the MSP432E411Y BGAEVM is obsolete. I think you must have purchased the EVM a long time ago. If possible, please use the LaunchPad for your development. 

      Regarding the compile issue, I have found a solution. As you already know, the ti_drivers_config.c file is autogenerated file. What you can do is to let sysconfig autogenerate the file first. Once the file is generated, make a local copy of it. In the local copy, make the below change:

    From:

    #include <ti/devices/msp432e4/inc/msp432e401y.h>

    To:

    #include <ti/devices/msp432e4/inc/msp432e411y.h>

    Next, you will exclude ti_drivers_config.c file from getting regenerated again as follows:

    Rebuild the project again. I tried it and it works for me. 

  • Hi Charles,

    Thanks for your reply.

    Unfortunately, I cannot find an option to exclude these specific files from my build (see below).

    I am using CCS v12.0.0.00009.

    How can I get syscfg to exclude this from my build?

    I have also realised that this is actually a MSP432E411YTZAD, although I do not see any examples or any mention of this in the simplelink sdk for MSP432E.

  • In my image, I highlighted <> symbol to expand it. Please try it. 

  • I have pressed that "Show generated files", which shows the generated files in the screenshot above. But unlike your screenshot, I have no slider next to the generated file to exclude it. Do you know why this is?

  • I don't know why you are not seeing the slider. What CCS version and what sysconfig version are you using? Can you try the latest sysconfig version? https://www.ti.com/tool/SYSCONFIG

  • Hi Charles,

    Looks like I am using SysConfig v1.5.0+1353 in my project. My CCS version is v12.0.0.00009. Is there an issue here?

    I have managed to get the project to build by copying the ti_drivers_config.c and ti_drivers_config.h files from the Debug/syscfg/ folder to my project root directory, and then excluding the .syscfg file from the build. Do I have to also move ti_ndk_config.c and ti_net_config from the Debug/syscfg folder to my local root project directory if I exclude the .syscfg file from the build - as these will not be auto-generated anymore as well?

    Thanks.

  • Hi Charles,

    Can you please clarify what you mean by the MSP432E411Y BGAEVM being obsolete? 

    We are not using the EVM (or launchpad/dev kit?), but instead we are using the MSP432E411YTZAD on our own boards. Apologies, that's my mistake.

    Using the MSP432E401Y is not an option, as we need a MSP432E411Y with the Ethernet PHY exposed to allow some additional functionality.

    From the MSP432E4 SDK and SimpleLink Academy examples, I can see that there are only examples for the MSP432E411Y BGAEVM? Hence, these drivers and examples are the obvious candidates to aid development on the MSP432E411YTZAD (I think the EVM uses this same MSP432E411YTZAD?). Can you please clarify if the MSP432E411YTZAD is also obsolete, or just he BGAEVM dev kit?

    And why are there issues in the syscfg code generators for the MSP432E411Y and not the MSP432E401Y? Is this because the MSP432E411Y is obsolete? I am curious as there seem to be only 2 versions of the MSP432E4, and copying auto-generated driver files to the local directory doesn't feel like a very elegant solution, especially for maintainability..

  • From the MSP432E4 SDK and SimpleLink Academy examples, I can see that there are only examples for the MSP432E411Y BGAEVM? Hence, these drivers and examples are the obvious candidates to aid development on the MSP432E411YTZAD (I think the EVM uses this same MSP432E411YTZAD?). Can you please clarify if the MSP432E411YTZAD is also obsolete, or just he BGAEVM dev kit?

    Hi Parryh,

      What I mean by obsolete is only the EVM development board. It does not impact the availability of MSP432E411YTZAD part number. 

    And why are there issues in the syscfg code generators for the MSP432E411Y and not the MSP432E401Y? Is this because the MSP432E411Y is obsolete? I am curious as there seem to be only 2 versions of the MSP432E4, and copying auto-generated driver files to the local directory doesn't feel like a very elegant solution, especially for maintain

    The reason as explained is that the BGAEVM (just the Evaluation board) is obsolete and your reporting is the first occurrence that there is an issue with the the generated files for MSP432E411Y only when watchdog module is used. Currently, the MSP432E SDK is in long term maintenance and I hope the workaround solution will work for you.

  • Hi Charles, 

    Thanks for responding to my questions.

    I have found a workaround for now where I place the auto-generated Watchdog code from ti_drivers_config.c/h in my own Watchdog Class with the corrected header. This leaves the syscfg settings as they are (without a Watchdog in there) and makes the code more maintainable.

    Do you have any idea when an official fix for this code generator bug will be released by TI?

    Thanks.

  • Hi Parry,

    I have found a workaround for now where I place the auto-generated Watchdog code from ti_drivers_config.c/h in my own Watchdog Class with the corrected header. This leaves the syscfg settings as they are (without a Watchdog in there) and makes the code more maintainable.

      Glad you found another workaround. You are basically initialing the Watchdog in your own application and not use the auto-generated code for the Watchdog. There are only a few handful of registers in the Watchdog module to setup Watchdog operation, I think initializing it in your own code is a good workaround. 

    Do you have any idea when an official fix for this code generator bug will be released by TI?

    Sorry, as I mentioned earlier, the MSP432E SDK is in long term maintenance. There is currently no plan to release an update.