目前正在测试Bcp_exampleProject这一个工程,我看到在添加Header的时候,对于每个子模块Header的定义中没有MOD_ID这一项,文档中MOD_ID说是用于traffic manager 决定packet该发送到哪个子模块。那请问在这个工程中,具体traffic manager 是怎么决定包发送到子模块的顺序。

如文档所说,头的添加可以这样,但是我在工程中并没有看到MOD_ID的定义以及赋值,请问这里该怎么理解,非常谢谢!
Andy Yin1:
每个module header第一个word有字段用于配置module ID,例程中肯定是有的。
xueyao:
回复 Andy Yin1:
您好,我截图看了,再比如在CRC的头的第一个word的定义,我是没有看到有module ID的定义,请问这是什么问题造成的?
Andy Yin1:
回复 xueyao:
你截的图只是上层参数配置的结构体定义,并非底层BCP module header,深入代码可以看到bcp如何组包,对照bcp user guide看看。
xueyao:
回复 Andy Yin1:
我把工程上传了,您能抽点时间帮我看看您说的底层BCP module header是在哪里有提到吗?我觉得我找完了还是没有找到,非常谢谢啊 谢谢
xueyao:
回复 Andy Yin1:
对于BCP我还有一点疑问,当我添加CRC包头的时候,那么BCP会对输入数据做CRC处理,但我最后添加的24bit,跟我将数据拿去MATLAB做出的数据对不上。
请问这个问题是不是Endian模式不对啊,我DSP用的是little Endian,同样一组输入数据,DSP和matlb的取数是一样的吗,比如0x54625444,0x56789788…
DSP是按照4445265488798765 而MATLAB是5462544456789788这样取数的呢?请问是这个问题造成的CRC对不上吗?还是有其他问题?
综上,就是如何把DSP的crc与MATLAB的进行有效的对比?
xueyao:
回复 xueyao:
目前上面的问题已基本的得到解决,在DSP中小端模式输入的数据要拿到MATLAB中去做CRC的话,要按每个bIt位从低地址到高地址输入就可以了。最后结果一样。
比如x12345678,0x12345678数据,换成二进制 0001 0010 0011 0100 0101 0110 0111 1000, 0001 0010 0011 0100 0101 0110 0111 1000,那MATLAB就要
0001 1110 0110 1010 0010 1100 0100 1000, 0001 1110 0110 1010 0010 1100 0100 1000这样取数才可以,按BIT为反着取。。
现在又遇到一个问题就是我输入88个数据,一共2816bit,当我选择TBS=2792的时候,测试结果没什么问题,输出2792+24bit,数据从pRxDataBuffer中获
得,存储也是从头开始存储。但是当我TBS=2816的时候,取得描述符的pRxDataBuffer区域看到数据不是从头开始存储的而是有地址偏移,低地址有补零的情
况,请问这是什么问题造成的,这种得到的数据用于的ENC模块是否会正确读取,还是将补零的数据块一起带进去了,这样就会影响后面的数据正确性,这个该怎
么解决呢?谢谢
TI中文支持网