你好,我想请教一个问题,就是我用6474 SRIO,每次发送完一个4Kbyte包后,我需要SRIO响应一个中断。而不是像例程这样: /* Wait for the completion of transfer */
response.index = lsu_no;
response.data = 1;
do {
CSL_srioGetHwStatus (hSrio, CSL_SRIO_QUERY_LSU_BSY_STAT, &response);
}while(response.data == 1);
请我最好引那个中断出来?
min chaoyue:
回复 Thomas Yang1:
谢谢,我大概明白了,您提到的“当SRIO按照DIRECTIO模式成功传输数据时”,这里的DIRECTOR指的 是什么,而且我看了有LSU(0~3),这四组寄存器是和4X口相互关联,嘛?还有就是我现在是在样例程序上想加入发送完成中断,我还需要更改其他的什么嘛?
Thomas Yang1:
回复 min chaoyue:
Hi, DIRECTIO 就是SRIO的一种传输方式,你使用LSU时就是采用这种方式。LSU和线上速率没有关系。你需要根据我上贴中的提示,进行中断映射和中断挂接。谢谢
min chaoyue:
回复 Thomas Yang1:
你好:
我想问的问题是,LUS(1~4)分别对应的是4X的接口嘛?
Thomas Yang1:
回复 min chaoyue:
您好
6455,6482可以支持1*4x或者4*1x
6474支持2个1x端口
这个1x和线上速率即serdes有关,可以为1.25G,2.5G,3.125Gbps
gang wang9:
回复 Thomas Yang1:
你好,我的硬件平台是TI的EVM板。DSP0给DSP1发送一个门铃信号。DSP0没有做任何设置,DSP1这边先做了一个SRIO事件与INT5的映射。但是没有进入中断。关于SIRO这边,用的是CSL的例程来初始化的ISRO。但是并没有进入中断函数。是不是我缺少配置ISRO相关的中断寄存器了?还是其它什么问题。求指点。。
gang wang9:
回复 min chaoyue:
4X是指一次传送四位数据。6474不支持这种方式。因为他只有两个SRIO。也就是说,他只能支持1X模式。他也只有LUS(0-1),3,4寄存器是不存在的。
Thomas Yang1:
回复 gang wang9:
谢谢楼上的回答。
请您检查您发送端doorbell是否正常发送,如果是,再检查接受段中断译码寄存器是否匹配上了。
min chaoyue:
回复 Thomas Yang1:
你好,中断译码器不是只读的吗?其功能是标注中断是由那个具体的中断源产生的吧?