Hi team,
Here's an issue from the customer may need your help:
UDP multicast is used in 6678 and 6672 chips.
The current unicast function is good. Multicast is sent to the multicast group normally, and data is able to be received on the PC port. While when multicast sends data through the PC to the DSP's multicast group, the DSP is unable to receive the data.
Multicast send Code: Create a new Send Task in the UDP routine of the NDK, create a new socket in the Send Task, and socket bind the local IP (192.168.4.156). Then setsocket joins the multicast group (224.1.2.4) and sends data out through this socket, which will be sent normally.
Multicast receive Code: Create a new receive Task in the UDP routine of the NDK, create a new socket in the receive Task, socket binding local IP (192.168.4.156). Setsocket then joins the multicast group (224.1.2.4) and gets it through the while(1) {recvfrom();} function. However, the code is stuck in the recvfrom function and cannot continue execution with no return value.
1) In the 667X family, can the DSP theoretically implement UDP multicast reception?
2) Is there a UDP multicast receive routine for reference? Or is the multicast receive code above incorrect?
3) Can UDP multicast reception create processes like unicast reception and trigger processes directly after receiving data?
Could you help check this case? Thanks.
Best Regards,
Cherry