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

板上4片6678用switch连接,想要两片间SRIO通信,在SRIO_TputBenchmarking示例中, CSL_SRIO_SetTLMPortBaseRoutingInfo是干什么的,是用来配置Switch吗?

Switch型号CPS 1848, 我配置路由表之后,将TputBenchmarking工程的BOARD_TO_BOARD选项打开,一块运行producer,一块运行consumer,但是始终停在:

Debug: Measuring latency for 4 to 8192 byte packets. Packet count:100 就不动了.

Allen35065:

例子只能直连,你需要自行配置switch的参数(用maintainace方式进行配置)

CSL_SRIO_SetTLMPortBaseRoutingInfo这个函数是用来配置片内的inbound 的route,跟switch没有关系。

sir Li:

回复 Allen35065:

非常感谢Allen.

CSL_SRIO_SetTLMPortBaseRoutingInfo( h, portNum, brrNum, ….)相关的寄存器一共有4组,SP0 — SP4, 分别对应一个端口, 也就是portNum, 每个portNum下又有4组BRR, 这4组BRR有什么作用呀?是分别对应4个port到自已的match规则吗? 比如我想设定port0只接收port2的maintenance数据, 那我就设定 portNum == 0,  brrNum == 2,  这样理解对吗?

chen yi xue:

回复 Allen35065:

你好想请教下用maintance配置SWITCH的问题。

基于例程SRIOdioexampleproject修改的

在DSP侧配置

首先port修改为改为normal  mode模式,

是不是设置hop count=0 ,(这样在maintance包被SWITCH接受时,不会进行路由而是直接process register)

最后lsu配置的目的地址to.dio.rapidIOLSB 为SWITCH中相应寄存器的地址,而不是全局地址。

这是我理解的配置SWITCH参数的流程,请问有问题么

还有就是想请教下整个SWITCH启动的过程,比如RESET,initization等等都能通过maintance包来控制么?

chen yi xue:

回复 sir Li:

应该不是这样的。我的理解是bbr+portnum决定了你本片的路由表,本来是只能接收到DESTID=本片BASEDEVICEID的包,通过这个与muticast 等的设置你可已接收不同DESTID的包,并决定转发还是把这个包路由到LLM或者是CORE里去

Zhengdong Li:

回复 chen yi xue:

你好,请问你关于SWITCH的maintenance包配置成功了吗?

我现在在做跟你之前做的类似的东西,两片6678通过switch 1848互联,按照你在上面说的一样的步骤操作的,想请教一下你关于1848的配置问题。

我使用ARM通过I2C配置1848可以成功,两片6678可以进行正常通信。但是,想用6678发送维护包给1848进行配置时,发现ARM写进去的寄存器的值都可以通过维护包读到,但是没法让6678使用维护包进行更改1848的各个寄存器的值。也就是说6678只能读1848而不能写,请问你遇到这种问题了吗,是怎么解决的?进行维护包写1848的时候,需要一些额外的操作比如说打开1848的写开关之类的吗,谢谢!

chen yi xue:

回复 Zhengdong Li:

我使用时候都可以操作的既能读也能写啊 

你确定配置包的格式没问题么

赞(0)
未经允许不得转载:TI中文支持网 » 板上4片6678用switch连接,想要两片间SRIO通信,在SRIO_TputBenchmarking示例中, CSL_SRIO_SetTLMPortBaseRoutingInfo是干什么的,是用来配置Switch吗?
分享到: 更多 (0)