4 Replies Latest reply on Sep 14, 2012 6:36 AM by userc_41359

    Multithreading

      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

        • 1. Re: Multithreading

          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.

          • 2. Re: Multithreading

            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

            • 3. Re: Multithreading

              Yes. You can do that.

              • 4. Re: Multithreading

                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?