Hi all,
I have CCS5 on a Linux host, EVM6678, XDS560v2STM, ndk_2_20_04_26 and mcsdk_2_00_05_17.
For my first steps in networking, I have modified the NDK's 'hello world'
example to use TCP instead of UDP. The purpose of the program is to receive image data
from a host PC and store it in a byte array for later processing.
(I can post the code here, but maybe it is not necessary).
The TCP transport works fine, but there are two strange problems:
(1) I have set the TCP buffer size to 8k:
rc = 8192;
CfgAddEntry( hCfg, CFGTAG_IP, CFGITEM_IP_SOCKTCPRXLIMIT, CFG_ADDMODE_UNIQUE,
sizeof(uint), (UINT8 *)&rc, 0 );
but if I try to send chunks of size > 1k from the host, the whole TCP communication
becomes very slow, irregular, sometimes stops completely for a while, and then
continues, or hangs forever. A packet size of 1k is the maximum that works.
(There are no other user task running on the DSP so far, just copying into the
image array).
(2) If I reload the program, I have to do a system reset before, otherwise
the DHCP communication fails (maybe because the PHY is already configured).
However, if I do so, the TCP communication becomes *very* slow afterwards.
Transporting a 2MB image takes about 30sec over an GBit network, no matter if
I use Debug or Release configuration. To get back to the normal speed,
I have to power-cycle the EVM and the debugger.
If you have nay idea about this behavior or need more information,
please let me know.
Thanks in advance,
Marcus