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/CODECOMPOSER: Conflict handling during porting to SYSCONF

Part Number: CODECOMPOSER
Other Parts Discussed in Thread: SYSCONFIG

Tool/software: Code Composer Studio

Using ccs version 8.3

Sdk: simplelink_msp432p4_sdk_2_40_00_10

Using: TIRTOS on MSP432P401R and MSP432P4111 Launchpads

Windows 10

 

I am trying to move an existing working project over to using sysconf. I assumed I could just use your file out of your example projects. The files are:

outofbox_msp432p401r.syscfg

outOfBox_msp432p4111.syscfg

I am attempting to get the Kentec Boosterpack touch screen to work with this code. My old code worked but this means sharing ADC pins with GPIO pins (for the touchscreen).

Before sysconf, I would just have the four needed GPIO lines defined as "Do not config". Unfortunately this does not work with sysconf as there is now a resource conflict with the ADC unit.

This should be allowed!

The GPIO pins I defined were "Dynamic" (aka Do not config). In my (working) code, the GPIO lines are used only outside any ADC_open / ADC_close calls, so this is a non-issue.

If anything, for a GPIO pin marked "Dynamic", the default conflicting pin error is ok, but an option to accept the conflict and allow it should be made available.

Sure I can “get around” this issue but it is not as clean as being able to put it in with sysconf.

Is there another way or am I missing something?

Another similar problem is when I added two ADC channels to the syscfg file and wanted to get ADCBuf support as well.

The ADCBuf reports an error but does not say what the error is – so I can’t fix it. It just has the red circle with an X beside the channel description:

> ADCBuf Channel 0(hide) <Insert red X here>

I am new to TI’s mcu offerings so I am not sure what this error is: is it another resource conflict or just a bug?

 

Well, enough issues for now. I’ll check back later on this post. (I need sleep.)

  • Alvin,

    Unfortunately allowing for pin conflicts is not supported in the current version of SysConfig. However this feature is supported in the next version that is part of CCSv9.1. Would you be willing to give an early version a try? The feature has already been implemented. I will check it it is something that can be dropped into a CCSv9.0 install or if you would need a full 9.1 image.

    Regards,
    John
  • Sure! Just let me know where I can "pick up the parts" and I'll give it a go.
  • The feature exists in 9.0, but simply isn't exposed in the UI.

    • In the ADC and GPIO components, lock down both pins as you want them and then save
    • Close sysconfig and open up the saved .syscfg script
    • You should see two $assign = "pin name" for those two pins.  Change the "$assign" to "$assignAllowConflicts"
    • Delete every line in the script that includes $suggestSolution (not just for those two pins, but everything)
    • Re-open the script in the UI

    Darian

  • I'm downloading CCS 9 now and will try this. I've got a real slow internet connection so it will take a while, but I will post back later in the day, once I get the chance to try this. Thanks.
  • After installing CCS9, nothing works.

    I checked the Properties page for my application : Resource / CS General / Properties and I have a note at the top:

    None of the currently selected products include Platform support. This project may require a pre-3.30 version of XDCtools  or the addition of a repository containing the Platform named below.

    Should I have uninstalled ccs8 beforehand or can they coexist?

    Please advise.  Thanks.

  • Versions of CCS can co-exist, and $assignAllowConflicts also worked in CCS 8.3.

    There are also compatibility changes in sysconfig between 8.3 and 9.0, and the 9.0 version only works with the latest SDKs. So if things were working with 8.3 other than this issue, please stick with that version for the time being.
  • Ok I am using CCS 8.3 and did the changes but it had no effect.

    I have deleted all lines with $suggestSolution, changed the two pins to $assignAllowConflicts, saved the file, and reopened it. (I even tried restarting CCS)

    Here are my four wires for the touchscreen. Notice TOUCH_XP and TOUCH_YP have been modified.

    GPIO4.$name = "TOUCH_XP";
    // Pull - Specifies the internal pull-up or pull-down resistor configuration of this GPIO pin.
    GPIO4.pull = "Pull Up";
    // Mode - Select the GPIO mode. `Dynamic` mode indicates the application will dynamically configure the GPIO at runtime using the GPIO APIs
    GPIO4.mode = "Dynamic";
    // Assign pin
    GPIO4.gpioPin.$assignAllowConflicts = "boosterpack.24"; // P4.0
    // Name
    GPIO5.$name = "TOUCH_XN";
    // Mode - Select the GPIO mode. `Dynamic` mode indicates the application will dynamically configure the GPIO at runtime using the GPIO APIs
    GPIO5.mode = "Dynamic";
    // Assign pin
    GPIO5.gpioPin.$assign = "boosterpack.31"; // P3.7
    // Name
    GPIO6.$name = "TOUCH_YP";
    // Mode - Select the GPIO mode. `Dynamic` mode indicates the application will dynamically configure the GPIO at runtime using the GPIO APIs
    GPIO6.mode = "Dynamic";
    // Assign pin
    GPIO6.gpioPin.$assignAllowConflicts = "boosterpack.23"; // P6.1
    // Name
    GPIO7.$name = "TOUCH_YN";
    // Mode - Select the GPIO mode. `Dynamic` mode indicates the application will dynamically configure the GPIO at runtime using the GPIO APIs
    GPIO7.mode = "Dynamic";
    // Assign pin
    GPIO7.gpioPin.$assign = "boosterpack.11"; // P3.6
    

  • Alvin,

    Even though the error is on the GPIO pins only, that's only because you added the GPIOs second.  You will also need use $assignAllowConflicts on the ADC pins too to indicate that everything using the same pins is ok with the conflict being ignored.

    Darian

  • When I add the $assignAllowConflicts to the ADC pins, I get a orange triangle with an exclamation for those conflicts. I understand it is only a warning now.

    sysconf processes the file now.

    Thanks.