Hi,
I plan to use C6678 based platforms for my signal processing application where c6678 core_0 will capture the digitized data sent in UDP format in real time. I prepared a simple windows application which pumps 1440 bytes UDP packets in every 50 msecs (20 hertz). Just to check if everything is in order on c6678 side, I placed a counter in the first 4 bytes of UDP payload in unsigned integer format. I used the helloworld example in CCS and placed a "platform_write (Counter....%d.. \n",counter)" after receive function in udphello task created by daemon tool. When I run this scheme, I observed the followings:
1. When I start my PC software and see that it is pumping data, c6678 core_0 gets the first data approximately 1 seconds late.
2. 4 percent of the frames (4 out of 100) are dropped always.
3. The counter number in c6678 is approximately 100 behind theone in PC software.
4. When I stopped PC software, receiving in c6678 also stops immediately but when I start again, receive in c6678 goes on from where it stopped. For example, counter number in c6678 when stopped was 462 and when it runs again the next counter number is 463 while PC counter is 563!!
5. This is an example counter sequence I see in c6678:
234
235
236
337 !!!!!!
237
238
I did everything written in NDK help file for dropped UDP packets (increasing buffers etc.) but no help at all.
I use the CCS V5.2.1.00018 and MCSDK V2_01_00_03 NDK V2_21_01_38
Any suggestion to how to proceed??
best regards
Özhan