Other Parts Discussed in Thread: SYSBIOS
Hi,
We ran the Direct IO example (NWRITE) using the evm6678l board, with minor changes described
below in order to send 4K Bytes and 8K Bytes buffers.
We measured the time from the SRIO send till the completion (see T_measured below).
During performing of time measuring, we have received one of 2 different time results for the same message size.
After powering up or resetting the board, we ran the example and we got one of the two measurement; the
received result persisted until the next power up or reset.
We have received 2 different time results form the same message (running the same test many times):
T_measured Results:
For 4K Bytes T_measured = 3.1 usec. After few evm RESETS T_measured = 11.9 usec.
For 8K Bytes T_measured = 5.8 usec. After few evm RESETS T_measured = 28.4 usec.
T_measured calculation:
-----------------------------------
t_start =TSC_read()
Srio_sockSend(srioSocket ....)
.
.
.
while(1)
Srio_getSockOpt(srioSocket, Srio_Opt_DIO_SOCK_COMP_CODE....)
T_measured =TSC_read() - t_start;
-------------------------------------
The example is found in the folder:
pdk_C6678_1_0_0_12\packages\ti\drv\srio\test\Loopback. (we also tried pdk_C6678_1_0_0_11).
1. I ran only the test_dioSockets() test. I used the SRIO_LoopbackTestProject only in core 0
without using the MULTICORE.
2 Changes in the file test_main.c:
#define SIZE_DIO_PACKET 4096 //8192 //its original value was 128. In this line I define the buffer length
to be sent 4096 or 8192 bytes.
#define BUFFER_DATA_SIZE (SIZE_DIO_PACKET + 1024) //New define
if(Osal_dataBufferInitMemory(BUFFER_DATA_SIZE) <0) //Changed. The original define was SRIO_MAX_MTU
instead of BUFFER_DATA_SIZE.
3. In the file srio_cfg I changed the ty.sysbios.heps.HeapMem heap0 to 350K bytes in order to avoid errors with
memory allocation.
4. I changed the pll configuration to
CSL_BootCfgSetSRIOSERDESConfigPLL (0x235);
Also I tried with the new value 0x241 and the problem persisted.
Thanks in advance.