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

Ipc通讯问题

目前Ipc通讯开发使用到cache_wbInv(),MessageQ_put(), MessageQ_get(),遇到几个棘手的问题:

1、使用的MessageQ_Forever,如果另一方不回复,通讯就会卡死,但把MessageQ_Forever改成其他小一些的数值,程序会跑飞,原因未知;

2、cache_wbInv()和MessageQ_put()/get()似乎会多次关闭中断Hwi_disable(),这会导致我主程序的主控制中断受到严重影响,这个是最严重的,如何解?

Denny%20Yang99373:

想办法优化一下,把共享的那片内存CACHE DISABLE,这样就不用每次调用cache_wbinv

MessageQ_Forever本来设计就是一直等待的,换成其他小数值程序跑飞,是不是程序设计有问题?

Jingang Yang:

回复 Denny%20Yang99373:

Denny, 关于内部RAM和Cache的属性切换,我一直有个问题:

现在我的platform里L1P,L1D,L2都是部分设置为RAM,部分设置为Cache,基于此:

1)我们的internal memory(0x80000000~0x8001FFFF)区域对应的MAR128设为0时,我DSP/ARM去读这块区域的数据时,数据时通过L1/L2的cache部分进来还是L1/L2的RAM部分进来?

进一步的,我想确认,internal memory的MAR128 bit disable后,双核通过该区域交互数据时,读写前是否要类似于cache那样先“刷新”一下?

2)ARM的.cfg跟DSP的.cfg不一样,看不到可以设置MAR的地方,怎么确认有否可能DSP侧的MAR128与ARM侧的MAR128设置一致?

MessageQ_Forever跑飞的问题,问题还无法定位。

赞(0)
未经允许不得转载:TI中文支持网 » Ipc通讯问题
分享到: 更多 (0)