Hi,
I made a small example project in CCS5.0.3 to test the function of the starvation counter.
For me with "C6670 Device Cycle Accurate Simulator" the starvation counter doesn't work.
If I pop a descriptor from the empty starvation counter queue the starvation count is not incremented.
So my question:
Must the starvation counter queues functionality be enabled or
is there no support for starvation counters in the simulator yet?
Here the example code:
(...)
if ((txFreeQueHnd = Qmss_queueOpen(
Qmss_QueueType_STARVATION_COUNTER_QUEUE,
736, &isAllocated)) < 0) {
System_printf(
"Error Core %d : Opening Transmit free descriptor queue\n",
coreNum);
return;
} else
System_printf("Core %d : Transmit Free Queue Number : %d opened\n",
coreNum, txFreeQueHnd);
int i;
for( i=0;i<100;i++){
System_printf("-----------------------------------------\n");System_flush();
System_printf("Starvation counter queue %d entry count : %d \n", txFreeQueHnd, Qmss_getQueueEntryCount(txFreeQueHnd));System_flush();
System_printf("Popped descriptor 0x%08x\n", Qmss_queuePop(txFreeQueHnd) );System_flush();
System_printf ("Starvation count: %d \n", Qmss_getStarvationCount(738));System_flush();
}
(...)
The output:
[TMS320C66x_0] -----------------------------------------
[TMS320C66x_0] Tx Free Queue 736 Entry Count : 0
[TMS320C66x_0] Popped descriptor 0x 0
[TMS320C66x_0] Starvation Count : 0