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.

The commnunication between C6455 chips with UDP protocol

1.Commnunication between 2 C6455 chips with UDP protocol

Supposing that the C6455 called A  is the transfer and the  B is the receiver. After the initialization of A and B,  B runs the rcvfrom function and then A runs sendto function. In normal condition,B should receive packages that come from A,but we found B received nothing. Therefor, B gets the data packages from A  when A running rcvfrom function. Is this right?  If not, can you explain to us what's wrong in the communication?

2.Commnunication between 3 C6455 chips with UDP protocol

Supposing that the C6455s called A and B are transfer, and  C is receiver. A and B send data packages to C at the same time.And finally we found  the communication between A and C is normal ,but B and C is abnormal. Does C6455 support the communication that  A and B send data packages to C at the same time?if does,what's the problem in the communication we may meet?And can you give us some advice that could look for what's wrong has happend in our communication?

  • Hi Jie,
    Moved this thread to correct forum for faster response. Thank you for your patience.
  • Hi,
    Are you mentioning here A,B,and C are EMAC and transferring the data between EMAC ?
  • Hi Titus S:

    Thank you for your reply !

    It is Yes.The A,B and C are all C6455s in three different  boards .And we initialized the EMAC registers,but we didn't directly use the EMAC transferring functions that you have supplied us to transfer the data between C6455s.In fact, the applications we used are based on the BIOS OS.And we used the "socket()" ,one of parameters  is UDP protocol.

    In our applications, firstly,the BIOS OS set the EMAC and IP owned the C6455 chips.And then ,we initialized the Ethenet port through configurating the EMAC registers.Later we create the UDP socket .As first mentioned,B is the receiver and it runs the "recvfrom()"  function first, A is the transfer  and it runs the "sendto()" funtion.When application runs to this step, B worked as receiver should receive the data packages ,but we found not.And when A goes on to run the "recvfrom()" function,we found B does receive the first data packages ,and if B  runs the "sendto()" function later,A also receive the packages .In other words,the communication is normal now. So, my question is the phenomonen in the communication above is right?If not, what's wrong ?

    As for the communication between the three C6455s,we let A(C6455) and B(C6455) both run the "sendto()" function and C(C6455) runs the "recvfrom()" function .When A runs,we found the communication between A and C is normal.But when B runs the "sendto()" function ,we found it is abnormal,the "sendto()" function that B runs returns err 55 which may mean the buffer is not sufficient . So,my question is is it possible for C6455 to supply the communication between three C6455 which one is receiver and two are transfer?If does,what's wrong with our application?

    I will be grateful for your reply again!