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

【C6670】BCP 和 SRIO 冲突问题

bcpInitCfg.BcpTunnel_txOpen = &srio_tx_open;
bcpInitCfg.BcpTunnel_txClose = &srio_tx_close;
bcpInitCfg.BcpTunnel_rxOpen = &srio_rx_open;
bcpInitCfg.BcpTunnel_rxClose = &srio_rx_close;
bcpInitCfg.BcpTunnel_send = &srio_send;
bcpInitCfg.BcpTunnel_recv = &srio_recv;
bcpInitCfg.BcpTunnel_freeRecvBuffer = &srio_freeRecvBuffer;

上面一组代码是 BCP 在初始实例的时候需要配置的,

在bcp_transport_srio.c中可以看到,赋值表达式右边的函数都是形如下面代码,返回 NULL 或者 0

Void* srio_tx_open (Void* hSrioCfg)
{
/* Do nothing */
return NULL;}

当工程没有用到 SRIO 作为其他用途时,BCP 工作正常,输出数据也是正确的。

但现在需要将 SRIO 与其他设备(FPGA)交换数据,这样一来,就需要重新配置开头那段代码,否则 BCP 的 RX/TX 都打不开

我不使用 SRIO 传输 BCP 数据。

请问

我怎样配置上述代码,才能保证我所使用的 BCP 只作为 LOCAL,而且不会影响到 SRIO?

Andy Yin1:

你这是参考的哪个例子,pdk中有独立测试使用BCP的例子,与SRIO等无关,如Bcp_testProject就是一个独立测试BCP工作在不同模式的例子。

Bear Melon:

回复 Andy Yin1:

Andy 你好

参考的是Bcp_exampleProject,但是我同样查看了Bcp_testProject,

在 System_init() 函数中,初始化BCP instance的时候同样也有srio,和上述代码块是一样的。

PS: 硬核应用中,包括bcp fftc 和 srio ,都有一个_osal.c的文件,在同时应用这些硬核时,

是不是要重新整合一个公用的 _osal.c文件?

若要重新整合,其中有若干宏定义并不一致,比如 QMSS_HW_SEM , 那么如何解决这样的冲突?

谢谢! 

赞(0)
未经允许不得转载:TI中文支持网 » 【C6670】BCP 和 SRIO 冲突问题
分享到: 更多 (0)