ModusToolbox hang and errors

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
jomoc_3144201
Level 4
Level 4
25 replies posted 10 replies posted 5 replies posted

Hi,

I was working with ModusToolbox to program a PSoC® 6 BLE Pioneer Kit (CY8CKIT-062-BLE) and at one point the IDE would hang and stopped responding to commands.   Looking at the log file for this, I seen the following:

2019/01/02 01:12:04 INFO: CyWebClient CREATED (size=1 thread='CyVeryEarlyRemoteLoader Thread [id=26]' queueReference=1869907585 contents=[http://lassen.aus.cypress.com/~repoman/cystudio/content_psoc6_1_0_0/manifest.xml])

2019/01/02 01:12:04 DEBUG: Log file(s) for this session are stored at: C:\Users\jomodev\AppData\Local\Temp\Logs7802163284613996743

2019/01/02 01:12:04 INFO: CyWebClient RUNNING (size=1 thread='CyWebClient Manifest Downloader[0] [id=28]' queueReference=1869907585 contents=[http://lassen.aus.cypress.com/~repoman/cystudio/content_psoc6_1_0_0/manifest.xml])

2019/01/02 01:12:04 INFO: CyWebClient RUNNING (size=1 thread='CyWebClient Manifest Downloader[2] [id=30]' queueReference=1869907585 contents=[http://lassen.aus.cypress.com/~repoman/cystudio/content_psoc6_1_0_0/manifest.xml])

2019/01/02 01:12:04 INFO: CyWebClient DEQUEUE (file=http://lassen.aus.cypress.com/~repoman/cystudio/content_psoc6_1_0_0/manifest.xml thread='CyWebClient Manifest Downloader[0] [id=28]' queueReference=1869907585)

2019/01/02 01:12:04 INFO: CyWebClient EMPTY (thread='CyWebClient Manifest Downloader[2] [id=30]' queueReference=1869907585)

2019/01/02 01:12:04 INFO: CyWebClient RUNNING (size=1 thread='CyWebClient Manifest Downloader[1] [id=29]' queueReference=1869907585 contents=[http://lassen.aus.cypress.com/~repoman/cystudio/content_psoc6_1_0_0/manifest.xml])

2019/01/02 01:12:04 INFO: CyWebClient EMPTY (thread='CyWebClient Manifest Downloader[1] [id=29]' queueReference=1869907585)

2019/01/02 01:12:04 INFO: CyWebClient DOWNLOADING : CyWebClient

2019/01/02 01:12:04 INFO: CyWebClient RESULT : 'http://lassen.aus.cypress.com/~repoman/cystudio/content_psoc6_1_0_0/manifest.xml' => 'null' [lassen.aus.cypress.com]

2019/01/02 01:12:04 INFO: CyWebClient EMPTY (thread='CyWebClient Manifest Downloader[0] [id=28]' queueReference=1869907585)

2019/01/02 01:12:06 INFO: Loading UDD from: C:\Users\jomodev\ModusToolbox_1.0\libraries\udd-1.0\udd

The "CyWebClient DOWNLOADING: CyWebClient" seemed interesting since I do not understand why it was Downloading anything from a remote site.

Also, using the CE221120 PSoC6_SPIMaster example as a starting point, I made some changes to this using the Device Configuration tool; namely changing the Master and Slave SPI configurations.  After performing this, cleaning the project and rerunning the Index mapping, the program stopped working.  Looking at the configuration files, I noticed that some of the changes were not made in the associated SPI files such as SPIMaster.c where the Slave Select was still set to the same value as the previous config.

/* Set active slave select to line 0 */

    Cy_SCB_SPI_SetActiveSlaveSelect(mSPI_HW, CY_SCB_SPI_SLAVE_SELECT1);

This should have been set to CY_SCB_SPI_SLAVE_SELECT0 instead.

Should the values in the files under the mainapp Source folder get updated from the Device Configuration tool or is it required to manually edit these if a change is made in the tool?

I am seeing these errors from the log file which may point to why the code does not work.

2019/01/02 09:28:43 INFO: Fitter run started at 2019/01/02 09:28:43

2019/01/02 09:28:43 ERROR: Invalid location from constraint ioss[0].port[9].pin[2]

2019/01/02 09:28:43 ERROR: Invalid location from constraint ioss[0].port[9].pin[0]

2019/01/02 09:28:43 ERROR: Invalid location from constraint ioss[0].port[9].pin[1]

2019/01/02 09:28:43 ERROR: Invalid location from constraint ioss[0].port[9].pin[4]

2019/01/02 09:28:43 ERROR: Invalid location from constraint ioss[0].port[12].pin[2]

2019/01/02 09:28:43 ERROR: Invalid location from constraint ioss[0].port[12].pin[0]

2019/01/02 09:28:43 ERROR: Invalid location from constraint ioss[0].port[12].pin[1]

2019/01/02 09:28:43 ERROR: Invalid location from constraint ioss[0].port[12].pin[3]

The log file is attached.

Thanks,

Jon

0 Likes
6 Replies
JamesT_21
Moderator
Moderator
Moderator
10 solutions authored 5 solutions authored First solution authored

I can't speak to the hang. I can to the example.

In the case of the example, yes, you need to modify any source file provided with the example. In this case, that's SPIMaster and/or SPISlave .c and .h. And main.c of course. These files are created by the engineer who wrote the example. They are not generated by the Device Configurator. So when you change the design, the files that use the design must also change.

I'll modify our code example creation process to mention this limitation, because it is not immediately obvious what's a user file, and what's a generated file.

Jett,

I appreciate the reply.  This makes sense and I guess it should have been obvious.  Also, I found when making such changes in the Device Configuration tool, cleaning the build and rebuilding the Index for each associated project folder was needed.

To get the new code to work, I found I had to change the scb interrupt as well in both the SPIMaster.c and SPISlave.c to match the associated Serial Communication Block for the new ports..

Example for SPIMaster.c:

scb_2_interrupt_IRQn,

to

scb_6_interrupt_IRQn,

Ex:

const cy_stc_sysint_t mSPI_SCB_IRQ_cfg =

  {

  .intrSrc = scb_6_interrupt_IRQn,

.intrPriority = 7u

  };

After changing this, the code ran as expected with the result of blinking the RED LED.

I had changed the Port mappings for the SPI example, namely the Master,  to match what the set for the E-Ink Display and the SPI assignment for the Arduino Header.  Originally in the example these are set to

SPI Master - Port 9

SPI Slave  -  Port 6

But, port 6 on the CY8CKIT-062-BLE is used for the i2C port so I moved the Slave to Port 9 and Master to Port 12.  I'll see if this has any conflict with the E-Ink Display but wanted to use the SPI port for other devices as well as the E-Ink Display but with separate Slave Selects.

Also, I found the 'ioss' entries in the cylogger.txt Log file are from the design.modus XML file in the project config folder:

Example

  <Block location="ioss[0].port[12].pin[0]" alias="mSPI_MOSI" template="mxs40pin" version="1.0">

  <Param id="DriveModes" value="CY_GPIO_DM_STRONG_IN_OFF"/>

  <Param id="initialState" value="1"/>

  <Param id="vtrip" value="CY_GPIO_VTRIP_CMOS"/>

  <Param id="isrTrigger" value="CY_GPIO_INTR_DISABLE"/>

  <Param id="slewRate" value="CY_GPIO_SLEW_FAST"/>

  <Param id="driveStrength" value="CY_GPIO_DRIVE_FULL"/>

  <Param id="sioOutputBuffer" value="true"/>

  <Param id="inFlash" value="true"/>

  </Block>

Something must have got funked up in the config causing an error to be reported in the log file.  I'll see if I can locate what the issue is.

Cheers,

Jon

Thanks for the update Jon. I have pointed the engineer who developed the example at this thread. We may be able to do some "fixing" on the "how to reuse this example" instructions.

Vison_Zhang
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 250 sign-ins

About the ModusToolbox hang issue, i tired to reproduce the  issue on my side but failed. Could you please help provide below info, then we can discuss with software team to debug it.

*Steps to Reproduce*(if possible please upload the project):

*Platform*:

*OS Version*:

*Build*:

Actually I do not know how to reproduce this.  It just started the other night when I working with IDE and the tool just kept not responding.  I have not see this reoccur again yet.

I am running this on Window 10 64-bit Version 1809 (OS Build 17763.195)

Jon

0 Likes

Any more occurrences?

Have you had a chance to play with ModusToolbox 1.1 yet?

We greatly simplified the project/file structure.

--Matt

0 Likes