我的系统是,两个板子搭载4个DSP,每个板子一个CPS1616 switch然后 两个板子再通过1848级联起来,每个CORE分配一个LSU, 基于SRCID_MAP来进行传输。
可是我发现 只有当我把SRCID_MAP设置成 0、4的时候传输才会成功 ,而当设置成其他时,查看LSU_STAT_REG就会发现,产生001这个错误,即transection timeout on non-posted Transection,我已开始以为与中断有关系,结果设置成不产生中断,也同样会出现这个问题,急求 SRCID_MAP的设置不是只决定终端位的部分么 还会影响到其他地方么?
chen yi xue:
问题完美的解决了
sridmap 的使用不仅仅是可以在完成后触发对应的ICSR置位,而且 还可以给map相应的srio Transfer 到不同的SRCID 。即不同的SRCIDMAP可以使用不同的SRCID。Srcid 的内容是继承 TLM 的Base Routing Register,由于SRCID 0 是继承 Base Device Id 所以我使用 srcid = 0 的时候可以收到响应包,而使用其他 SrcId 的时候,由于没有设置对应 BBR 的 Pattern 所以响应包全部都会发往 destid = 0 的设备 (不存在),所以自然是收不到响应包了
被自己的聪明才智折服了
hello, Fantasy
TI中文支持网