谢谢Andy,接上次的提问http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/p/69186/164797.aspx#164797。
目前:TCP3d_C.目前这个片只要使用,头两个块肯定就是错的 ,即使头两个块是 TCP3d_A做的。
比如:TCP3d_A做#1-# 9 TCP3d_C做#10-# 17 TCP3d_C做#18 -# 25 这时候#1 和#2 肯定错;
单独让A、B、A&B跑都没问题,单独跑C、A&C B&C都会出现问题。
(电源打开了的)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
/* hardware resource init */
ucUsedTcpId_A = 0; tTcp3dResInfo.ucTCPId = ucUsedTcpId_A; tTcp3dResInfo.ucInEdmaTpcc = gtTcp3dInstInfo[ucUsedTcpId_A].ucEdmaCCInst; tTcp3dResInfo.ucInEdmaTc[0] = 0; tTcp3dResInfo.ucInEdmaTc[1] = 0; tTcp3dResInfo.ucOutEdmaTc[0] = 0; tTcp3dResInfo.ucOutEdmaTc[1] = 0; tTcp3dResInfo.ucInEdmaCh[0] = 10; tTcp3dResInfo.ucInEdmaCh[1] = 11; tTcp3dResInfo.uwInPaRAMSetStartIdx = 10; tTcp3dResInfo.uwOutPaRAMSetStartIdx = 50; /* common application parameters */
tTcp3dComAppInfo.ucModeSel = TEST_MODE; tTcp3dComAppInfo.ucStopSel = STOP_SEL; tTcp3dComAppInfo.ucMaxItr = 8; tTcp3dComAppInfo.ucSNRVal = 14; /* called after cell setup */
Keystone_TCP3D_Init(( void *)>Tcp3dHdl[ucUsedTcpId_A], &tTcp3dResInfo, &tTcp3dComAppInfo, gtTcp3dIcCfg_A, TCP3d_A_BLOCK_NUM); /* hardware resource init */
ucUsedTcpId_B = 1; tTcp3dResInfo.ucTCPId = ucUsedTcpId_B; tTcp3dResInfo.ucInEdmaTpcc = gtTcp3dInstInfo[ucUsedTcpId_B].ucEdmaCCInst; tTcp3dResInfo.ucInEdmaTc[0] = 1; tTcp3dResInfo.ucInEdmaTc[1] = 1; tTcp3dResInfo.ucOutEdmaTc[0] = 1; tTcp3dResInfo.ucOutEdmaTc[1] = 1; tTcp3dResInfo.ucInEdmaCh[0] = 12; tTcp3dResInfo.ucInEdmaCh[1] = 13; tTcp3dResInfo.uwInPaRAMSetStartIdx = 110; tTcp3dResInfo.uwOutPaRAMSetStartIdx = 150; /* common application parameters */
tTcp3dComAppInfo.ucModeSel = TEST_MODE; tTcp3dComAppInfo.ucStopSel = STOP_SEL; tTcp3dComAppInfo.ucMaxItr = 8; tTcp3dComAppInfo.ucSNRVal = 14; /* called after cell setup */
Keystone_TCP3D_Init(( void *)>Tcp3dHdl[ucUsedTcpId_B], &tTcp3dResInfo, &tTcp3dComAppInfo, gtTcp3dIcCfg_B, TCP3d_B_BLOCK_NUM); /* hardware resource init */
ucUsedTcpId_C = 2; tTcp3dResInfo.ucTCPId = ucUsedTcpId_C; tTcp3dResInfo.ucInEdmaTpcc = gtTcp3dInstInfo[ucUsedTcpId_C].ucEdmaCCInst; tTcp3dResInfo.ucInEdmaTc[0] = 2; tTcp3dResInfo.ucInEdmaTc[1] = 2; tTcp3dResInfo.ucOutEdmaTc[0] = 2; tTcp3dResInfo.ucOutEdmaTc[1] = 2; tTcp3dResInfo.ucInEdmaCh[0] = 14; tTcp3dResInfo.ucInEdmaCh[1] = 15; tTcp3dResInfo.uwInPaRAMSetStartIdx = 210; tTcp3dResInfo.uwOutPaRAMSetStartIdx = 250; /* common application parameters */
tTcp3dComAppInfo.ucModeSel = TEST_MODE; tTcp3dComAppInfo.ucStopSel = STOP_SEL; tTcp3dComAppInfo.ucMaxItr = 8; tTcp3dComAppInfo.ucSNRVal = 14; /* called after cell setup */
Keystone_TCP3D_Init(( void *)>Tcp3dHdl[ucUsedTcpId_C], &tTcp3dResInfo, &tTcp3dComAppInfo, gtTcp3dIcCfg_C, TCP3d_C_BLOCK_NUM); |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
Keystone_TCP3D_TTICfg(( void *)>Tcp3dHdl[ucUsedTcpId_A], gtTcp3dBlockInfo_A, TCP3d_A_BLOCK_NUM, 1); // Keystone_TCP3D_TTICfg((void *)>Tcp3dHdl[ucUsedTcpId_B],
// gtTcp3dBlockInfo_B,
// TCP3d_B_BLOCK_NUM,
// 1);
Keystone_TCP3D_TTICfg(( void *)>Tcp3dHdl[ucUsedTcpId_C], gtTcp3dBlockInfo_C, TCP3d_C_BLOCK_NUM, 1); /* get the TCP3D handle according to ucFreeTcpId */
Keystone_TCP3D_Submit(( void *)>Tcp3dHdl[ucUsedTcpId_A],TCP3d_A_BLOCK_NUM); /* get the TCP3D handle according to ucFreeTcpId */
// Keystone_TCP3D_Submit((void *)>Tcp3dHdl[ucUsedTcpId_B],TCP3d_B_BLOCK_NUM);
/* get the TCP3D handle according to ucFreeTcpId */
Keystone_TCP3D_Submit(( void *)>Tcp3dHdl[ucUsedTcpId_C],TCP3d_C_BLOCK_NUM); /* check all UE's decoder status */
// Keystone_TCP3D_PollFree((void *)>Tcp3dHdl[ucUsedTcpId_B], TCP3d_B_BLOCK_NUM);
/* check all UE's decoder status */
Keystone_TCP3D_PollFree(( void *)>Tcp3dHdl[ucUsedTcpId_C], TCP3d_C_BLOCK_NUM); /* check all UE's decoder status */
Keystone_TCP3D_PollFree(( void *)>Tcp3dHdl[ucUsedTcpId_A], TCP3d_A_BLOCK_NUM); |
谢谢Andy!
Xie
Andy Yin1:
我基于你的配置修改只测试TCP3D_C, 输入3个block,输出译码结果都是对的,你那边先用例程中的测试数据进行TCP3D C单独测试能对么。
chen xie:
回复 Andy Yin1:
您好!
1.使用的是测试数据;
2.只测试TCP_C我这也是对的,A、B、A&B也是对的,错误的是A&B&C、B&C、A&C同时使用的情况。而且多输入几个块,每个intsance 8个块。
(测试数据的对错没看数,就是和例程一样看他的output status寄存器是对的)
3.我又想了想不同的地方可能是我开启了BCP,不知道这个会不会有影响,我在测试一下BCP不初始化的情况。
谢谢!
xie