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:
我使用时候都可以操作的既能读也能写啊
你确定配置包的格式没问题么