Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
I'm developing an application using the GPIF and a multi-channel DMA based on AN75779 for the cyusb3014 chip. I am receiving data on the PC end with my implementation, so I know the state machine and the DMA is set up correctly, however I have noticed that if I set the state machine running none of my threads execute. They will run through once, and then never return from CyU3PThreadSleep();
As an example of what I mean, and for testing purposes, I have the following thread running (with a thread priority of 10):
void GPIOBlinkThread (uint32_t input)
This will print "Hello" to the terminal once, and toggle the LED once, but nothing after that.
If, however, in my CyFxApplnStart() function I comment out the CyU3PGpifSMStart() function, the thread above will repeat successfully. The same is true of all the other threads in my program, regardless of priority.
Can anyone think what might be going on? I'm at a bit of a loss as to why starting the state machine would cause this?