Multithreading

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

cross mob
Anonymous
Not applicable

Hi

   

 

   

Is it possible to have two threads running on the host computer that are communicating to the same FX3 device but use different endpoints?

   

 

   

-Sil

0 Likes
4 Replies
Anonymous
Not applicable

Hi Sil,

   

What exactly is your application requirement?

   

I have one application that does data transfers on EP0 from the main() and IN data transfers on EP2 from a seperate thread. Both data paths are active all the time. But EP0 transfers happen at a lesser frequency.

   

Regards,

   

sai krishna.

0 Likes
Anonymous
Not applicable

I have two bulk endpoints, one sending large amount of upstream data (more than 100 MB/s), the second is used to send and receive data to the I2C interface (400 kBit/s).

   

 

   

Cypress should be able to tell us based on the CyApi design if this is supported or not rather than saying that is was working in some applications.

   

 

   

-Sil

0 Likes
Anonymous
Not applicable

Yes. You can do that.

0 Likes
Anonymous
Not applicable

But it does not work reliably: Sometimes when accessing from one thread to its assigned endpoints the other thread crashes with in function XferData() with the following debug message:

   

 

   

"Unhandled exception at 0x000007fef8f03a39: Access violation reading location 0xffffffffffffffff."

   

 

   

Both threads are only accessing their assigned endpoints. Has somebody thoroughly tested this and found it working?

0 Likes