TI中文支持网
TI专业的中文技术问题搜集分享网站

BCP little Endian 设置问题

使用BCP example的程序时,ccs设为big Endian模式,现在BCP的 RD 模块的输入用big endian对齐的输入是可以输出正确的RD结果,而且结果也是为big endian对齐的输出。但是LLR是按little endian得来的,请问怎样设置BCP的 RD 模块使得输入和输出都用little endian的格式?谢谢了!

King Wang1:

BCP全部是按照小端工作,但是BCP根据配置的寄存器可以自动转换端点模式来适配大端数据。

还请楼主仔细阅读下BCP的User Guide,里面提到了如何配置输入数据的格式和输出数据的格式。如果有问题可以继续交流。

在bcp user guider的3.3章节,3.3 Data Reformatting and Endian Conversion

John:

回复 King Wang1:

谢谢提醒。3.3章节提到的了数据转换,但我的意思是直接设置BCP寄存器,这样就不用进行数据转换了,怎样才能设置呢?

要求如下:

1.  得到的解扰输出是这样的(按字节排列):

        1  2  3  4  5  6  7  8  9  10  11  12…..

2.  为了RD把 上述数据格式为:

        4  3  2  1  8  7  6  5  12  11  10   9…..

3.  RD 输出字节顺序为:

       4  3  2  1  8  7  6  5  12  11  10   9…..

4.  对输出进行格式:

       1  2  3  4  5  6  7  8  9  10  11  12…..

现在通过1-4是可以完成工作,现在就是希望省去2 和 4 的格式化,直接通过下面的1,2使用RD:

1.  得到的解扰输出是这样的(按字节排列),作为RD输入:

        1  2  3  4  5  6  7  8  9  10  11  12…..

3.  RD 输出字节顺序为:

       1  2  3  4  5  6  7  8  9  10  11  12…..

Andy Yin1:

回复 John:

LLR输出是小端,直接让RD工作在小端模式就ok呀,为何你上述讲到将CCS工程设置为大端呢?我觉得不需要进行转换,在小端模式下BCP会认为内存中的数据1 2 3 4对应总线上就是MSB4 3 2 1LSB

在大端模式下BCP的格式转换可以通过设置flow table的endian_in/out及format_in/out,具体请看TM一节。

John:

回复 Andy Yin1:

BCP user guide上endian_in/out只有

0 = 128 bit words1 = 32 bit words2 = 16 bit words3 = 8 bit words

这几个选项,没有明确的大小端设置。

请问,如果DSP工作在大端模式,那么RD 的endian_in/out设置为3 = 8 bit words,format_in/out设置为0 = No Change,是不是这个时候RD就相当于输入输出都是小端模式了。这样可以完成如下功能吗?谢谢!

1.  得到的解扰输出是这样的(按字节排列),作为RD输入:

        1  2  3  4  5  6  7  8  9  10  11  12…..

3.  RD 输出字节顺序为:

       1  2  3  4  5  6  7  8  9  10  11  12…..

赞(0)
未经允许不得转载:TI中文支持网 » BCP little Endian 设置问题
分享到: 更多 (0)