Hi,
I've run into an exception in tduOpen() when running the code on the evaluation board for TMS320C6748. I've traced through the steps of tduGetSizes(), tduNew(), and when in calling tduOpen() the exception occurs. Can anyone provide feedback as to what might be happening? I see that the internal tduDetContexts affects the tduBufs sizes. When tduDetContexts is same as from example code, then most of the time tduOpen() is okay. I say most of the time because once the exception still occurred. I had thought that any detector that's not needed, don't have to be included in tduDetContexts. When I remove a few, the tduBufs's sizes decrease, and tduOpen() fails. I've run the code on the simulator and it works fine. Below is the tduDetContexts from the example code, and the tduBufs sizes.
/* TDU Internal Contexts */
const tduDetContext_t *tduDetContexts[] = {
/*** Put all th SFDF detectors together, one after another ***/
&tduIncV23BW_MARKS_F,
&tduIncV21LOW_MARKS_F,
&tduIncTT1khz_F,
&tduIncCNG_F,
&tduIncV21LOW_SPACES_F,
&tduIncB202_MARKS_F,
&tduIncBELLTX2_F,
&tduIncV23FW_MARKS_F,
&tduIncV18A_F,
&tduIncV21UPPER_MARKS_F,
&tduIncSS7COR_F,
&tduIncV18A_S_F,
&tduIncSS7COT_F,
&tduIncV25_F,
&tduIncB202_SPACES_F,
&tduIncBELLTX1_F,
&tduIncSF_F,
&tduIncSIA_F,
&tduIncSIA_S_F,
/*** Put all the SFDT detectors together, one after another ***/
&tduIncV23FW_MARKS_T,
&tduIncSS7COT_T,
&tduIncV25_T_RX,
&tduIncBELLRX1_T,
&tduIncBELLRX2_T,
// NULL,/* tdu_SFDT_DET_V18A_RX */
// NULL,/* tdu_SFDT_DET_V18A_S_RX */
// NULL,/* tdu_SFDT_DET_V21LOW_MARKS_RX */
// NULL,/* tdu_SFDT_DET_V21LOW_S_RX */
// NULL,/* tdu_SFDT_DET_CIDCAS_RX,tdu_SFDT_DET_CASH_RX */
// NULL, /* tdu_SFDT_DET_CASH_RX */
&tduIncSIA_T_RX,
&tduIncSIA_S_T_RX,
&tduIncSFDT_DUMMY1_T,
&tduIncSFDT_DUMMY2_T,
&tduIncSFDT_DUMMY3_T,
/*** Put all th MF detectors together, one after another ***/
&tduIncDTMF,
&tduIncR1,
&tduIncR2FW,
&tduIncR2BW,
&tduIncV8BIS_FS_F,
&tduIncCOIN_TONES,
/*** ... the rest ***/
&tduIncV21,
&tduIncCPT,
NULL
};
[0] = {...}
mclass = 0
log2align = 1
size = 100
volat = 0
base = 0xC0016488
[1] = {...}
mclass = 0
log2align = 10
size = 1024
volat = 1
base = 0xC0016800
[2] = {...}
mclass = 0
log2align = 1
size = 440
volat = 0
base = 0xC00164F8
[3] = {...}
mclass = 0
log2align = 0
size = 362
volat = 0
base = 0xC0016C08
[4] = {...}
mclass = 0
log2align = 0
size = 106
volat = 0
base = 0xC00166B8