Hello, this is a long enough question.
I use DSP 6670 with Windows 7 PC in my work. I need to use a turbo decoder for an LTE application, so I try to run tcp3d example from pdk_C6670_1_0_0_17, but the result is not as I expected : the program stop executing (or I think it is waiting for a semaphore). The result is as follow:
[C66xx_0]
[C66xx_0] ******************************************************************
[C66xx_0]
[C66xx_0] ----- TEST #0 STARTED ------
[C66xx_0]
[C66xx_0] Reading test vector files started (including memory allocation)...
[C66xx_0] Reading test vector files complete
[C66xx_0]
[C66xx_0] ----- TEST INITIALIZATION STARTED -----
[C66xx_0]
[C66xx_0] EDMA3 LLD Initialization complete (TPCC #2, Region #3)
[C66xx_0] EDMA3 Channels opening started...
[C66xx_0] EDMA3 Channels opening complete
[C66xx_0] TCP3 Decoder Driver Initialization sequence started...
[C66xx_0] Tcp3d_getNumBuf() passed
[C66xx_0] Tcp3d_getBufDesc() passed
[C66xx_0] Tcp3d_init() passed
[C66xx_0] TCP3 Decoder Driver Initialization sequence complete
[C66xx_0]
[C66xx_0] Heap Usage/Staus
[C66xx_0] tcp3dDrvHeap : 1976 of 16384 free
[C66xx_0] tcp3dDataHeap : 991424 of 1047680 free
[C66xx_0]
[C66xx_0] ----- TEST INITIALIZATION COMPLETE -----
[C66xx_0]
After observing the program, I found that the program stop in line 463:
/* Wait for the Receive task to complete */
Semaphore_pend(semRcvDone, BIOS_WAIT_FOREVER);
Then, if I tried to comment that line, I will get the result below. As we can see, the result is wrong.
[C66xx_0]
[C66xx_0] ******************************************************************
[C66xx_0]
[C66xx_0] ----- TEST #0 STARTED ------
[C66xx_0]
[C66xx_0] Reading test vector files started (including memory allocation)...
[C66xx_0] Reading test vector files complete
[C66xx_0]
[C66xx_0] ----- TEST INITIALIZATION STARTED -----
[C66xx_0]
[C66xx_0] EDMA3 LLD Initialization complete (TPCC #2, Region #3)
[C66xx_0] EDMA3 Channels opening started...
[C66xx_0] EDMA3 Channels opening complete
[C66xx_0] TCP3 Decoder Driver Initialization sequence started...
[C66xx_0] Tcp3d_getNumBuf() passed
[C66xx_0] Tcp3d_getBufDesc() passed
[C66xx_0] Tcp3d_init() passed
[C66xx_0] TCP3 Decoder Driver Initialization sequence complete
[C66xx_0]
[C66xx_0] Heap Usage/Staus
[C66xx_0] tcp3dDrvHeap : 1976 of 16384 free
[C66xx_0] tcp3dDataHeap : 991424 of 1047680 free
[C66xx_0]
[C66xx_0] ----- TEST INITIALIZATION COMPLETE -----
[C66xx_0]
[C66xx_0]
[C66xx_0] Test vectors memory freeing started...
[C66xx_0] Test vectors memory freeing complete
[C66xx_0]
[C66xx_0] ----- TEST DE-INITIALIZATION STARTED -----
[C66xx_0]
[C66xx_0] EDMA3 Channels freeing started...
[C66xx_0] EDMA3 Channels freeing complete
[C66xx_0] TCP3 Decoder Driver De-Initialization sequence started...
[C66xx_0] Tcp3d_deInit() passed
[C66xx_0] TCP3 Decoder Driver De-Initialization sequence complete
[C66xx_0] EDMA3 LLD De-Initialization complete
[C66xx_0]
[C66xx_0] Heap Usage/Staus
[C66xx_0] tcp3dDrvHeap : 16384 of 16384 free
[C66xx_0] tcp3dDataHeap : 1047680 of 1047680 free
[C66xx_0]
[C66xx_0] ----- TEST DE-INITIALIZATION COMPLETE -----
[C66xx_0]
[C66xx_0] ----- TEST #0 PASSED -----
[C66xx_0]
[C66xx_0] +++++++++++++++++++++++ TEST #0 SUMMARY +++++++++++++++++++++++++
[C66xx_0] TCP3D Peripheral Configuration
[C66xx_0] Instance : TCP3D_A(0)
[C66xx_0] Mode Tested : LTE(1)
[C66xx_0] Double Buffer Mode : Enable(1)
[C66xx_0] Max code blocks (Input Capacity) : 86
[C66xx_0] Code blocks sent for decoding : 6
[C66xx_0] Call back counters : 0 - interrupts
[C66xx_0] (0-SOLDOUT, 0-PAUSE, 0-PENDPAUSE)
[C66xx_0] Total Notificaiton Interrupts : 0
[C66xx_0] Throughput Calculations
[C66xx_0] Total Bits Decoded : 10472
[C66xx_0] Time Taken (in cycles) : 0
[C66xx_0] Effective Throughput : (error) Mbps
[C66xx_0] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[C66xx_0]
[C66xx_0] ******************************************************************
[C66xx_0]
[C66xx_0] ******************************************************************
[C66xx_0]
[C66xx_0] ----- TEST #1 STARTED ------
[C66xx_0]
[C66xx_0] Reading test vector files started (including memory allocation)...
[C66xx_0] Reading test vector files complete
[C66xx_0]
[C66xx_0] ----- TEST INITIALIZATION STARTED -----
[C66xx_0]
[C66xx_0] EDMA3 LLD Initialization complete (TPCC #2, Region #3)
[C66xx_0] EDMA3 Channels opening started...
[C66xx_0] EDMA3 Channels opening complete
[C66xx_0] TCP3 Decoder Driver Initialization sequence started...
[C66xx_0] Tcp3d_getNumBuf() passed
[C66xx_0] Tcp3d_getBufDesc() passed
[C66xx_0] Tcp3d_init() passed
[C66xx_0] TCP3 Decoder Driver Initialization sequence complete
[C66xx_0]
[C66xx_0] Heap Usage/Staus
[C66xx_0] tcp3dDrvHeap : 1976 of 16384 free
[C66xx_0] tcp3dDataHeap : 947008 of 1047680 free
[C66xx_0]
[C66xx_0] ----- TEST INITIALIZATION COMPLETE -----
[C66xx_0]
[C66xx_0]
[C66xx_0] Test vectors memory freeing started...
[C66xx_0] Test vectors memory freeing complete
[C66xx_0]
[C66xx_0] ----- TEST DE-INITIALIZATION STARTED -----
[C66xx_0]
[C66xx_0] EDMA3 Channels freeing started...
[C66xx_0] EDMA3 Channels freeing complete
[C66xx_0] TCP3 Decoder Driver De-Initialization sequence started...
[C66xx_0] Tcp3d_deInit() passed
[C66xx_0] TCP3 Decoder Driver De-Initialization sequence complete
[C66xx_0] EDMA3 LLD De-Initialization complete
[C66xx_0]
[C66xx_0] Heap Usage/Staus
[C66xx_0] tcp3dDrvHeap : 16384 of 16384 free
[C66xx_0] tcp3dDataHeap : 1047680 of 1047680 free
[C66xx_0]
[C66xx_0] ----- TEST DE-INITIALIZATION COMPLETE -----
[C66xx_0]
[C66xx_0] ----- TEST #1 PASSED -----
[C66xx_0]
[C66xx_0] +++++++++++++++++++++++ TEST #1 SUMMARY +++++++++++++++++++++++++
[C66xx_0] TCP3D Peripheral Configuration
[C66xx_0] Instance : TCP3D_A(0)
[C66xx_0] Mode Tested : WCDMA Split(3)
[C66xx_0] Double Buffer Mode : Disable(0)
[C66xx_0] Max code blocks (Input Capacity) : 86
[C66xx_0] Code blocks sent for decoding : 32
[C66xx_0] Call back counters : 0 - interrupts
[C66xx_0] (0-SOLDOUT, 0-PAUSE, 0-PENDPAUSE)
[C66xx_0] Total Notificaiton Interrupts : 0
[C66xx_0] Throughput Calculations
[C66xx_0] Total Bits Decoded : 15360
[C66xx_0] Time Taken (in cycles) : 0
[C66xx_0] Effective Throughput : (error) Mbps
[C66xx_0] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[C66xx_0]
[C66xx_0] ******************************************************************
[C66xx_0]
[C66xx_0] ******************************************************************
[C66xx_0]
[C66xx_0] ----- TEST #2 STARTED ------
[C66xx_0]
[C66xx_0] Reading test vector files started (including memory allocation)...
[C66xx_0] Reading test vector files complete
[C66xx_0]
[C66xx_0] ----- TEST INITIALIZATION STARTED -----
[C66xx_0]
[C66xx_0] EDMA3 LLD Initialization complete (TPCC #2, Region #3)
[C66xx_0] EDMA3 Channels opening started...
[C66xx_0] EDMA3 Channels opening complete
[C66xx_0] TCP3 Decoder Driver Initialization sequence started...
[C66xx_0] Tcp3d_getNumBuf() passed
[C66xx_0] Tcp3d_getBufDesc() passed
[C66xx_0] Tcp3d_init() passed
[C66xx_0] TCP3 Decoder Driver Initialization sequence complete
[C66xx_0]
[C66xx_0] Heap Usage/Staus
[C66xx_0] tcp3dDrvHeap : 1976 of 16384 free
[C66xx_0] tcp3dDataHeap : 1025536 of 1047680 free
[C66xx_0]
[C66xx_0] ----- TEST INITIALIZATION COMPLETE -----
[C66xx_0]
[C66xx_0]
[C66xx_0] Test vectors memory freeing started...
[C66xx_0] Test vectors memory freeing complete
[C66xx_0]
[C66xx_0] ----- TEST DE-INITIALIZATION STARTED -----
[C66xx_0]
[C66xx_0] EDMA3 Channels freeing started...
[C66xx_0] EDMA3 Channels freeing complete
[C66xx_0] TCP3 Decoder Driver De-Initialization sequence started...
[C66xx_0] Tcp3d_deInit() passed
[C66xx_0] TCP3 Decoder Driver De-Initialization sequence complete
[C66xx_0] EDMA3 LLD De-Initialization complete
[C66xx_0]
[C66xx_0] Heap Usage/Staus
[C66xx_0] tcp3dDrvHeap : 16384 of 16384 free
[C66xx_0] tcp3dDataHeap : 1047680 of 1047680 free
[C66xx_0]
[C66xx_0] ----- TEST DE-INITIALIZATION COMPLETE -----
[C66xx_0]
[C66xx_0] ----- TEST #2 PASSED -----
[C66xx_0]
[C66xx_0] +++++++++++++++++++++++ TEST #2 SUMMARY +++++++++++++++++++++++++
[C66xx_0] TCP3D Peripheral Configuration
[C66xx_0] Instance : TCP3D_A(0)
[C66xx_0] Mode Tested : WIMAX(2)
[C66xx_0] Double Buffer Mode : Enable(1)
[C66xx_0] Max code blocks (Input Capacity) : 86
[C66xx_0] Code blocks sent for decoding : 5
[C66xx_0] Call back counters : 0 - interrupts
[C66xx_0] (0-SOLDOUT, 0-PAUSE, 0-PENDPAUSE)
[C66xx_0] Total Notificaiton Interrupts : 0
[C66xx_0] Throughput Calculations
[C66xx_0] Total Bits Decoded : 4560
[C66xx_0] Time Taken (in cycles) : 0
[C66xx_0] Effective Throughput : (error) Mbps
[C66xx_0] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[C66xx_0]
[C66xx_0] ******************************************************************
[C66xx_0] !!! ALL TESTS PASSED !!!
I've tried to run the program from both MCSDK_2_00_05_17 and MCSDK_2_00_09_21, but the result is still the same. Can somebody help me, please???
Thank you