您好!
我最近使用6678的多核导航器进行核间通信,有些地方不明白,想问下各位专家。
我是这么做的,我通过CIC把48事件映射到中断4上,DSP事件48是高优先级队列
704到711对应的PDSP通道对应的事件,分别对应0核到7核。首先,由0核完成一些
初相关的初始化操作。然后,比如1核想给0核发消息,那么1核往704队列里压描述符,
这样会给0核产生中断,告知描述符的到来。同样,0核想给1核发消息,那么0核就往705
队列里压描述符…
不知道上面我这样理解的对不对?同时我还想问几个问题:
1. 8个核能不能同时(并行,不是并发)发消息(如都给自己发消息),中断能不能响应?中断事件会不会丢失?
2. 8个核能不能同时从一个空闲队列里pop描述符,会不会产生什么问题?
Andy Yin1:
你的理解是对的。
可以同时发消息,在中断服务函数中按照Navigator user guide中关于中断处理流程进行处理即可。
QMSS支持原子操作,可以同时对同一个queue pop描述符,QMSS硬件会保证处理的先后。
xinrong long:
回复 Andy Yin1:
您好!我要8核同时给0核发消息,也就是同时往704队列里压描述符,发现有些消息丢失了,我应该怎么做才能保所有证消息不丢失?
xinrong long:
回复 xinrong long:
您好!8核同时往704队列里压描述符,8个不同的描述符最终都能成功的
入队还是只有部分才能成功的入队?1. 如果都成功的入队了,那是否能成功的产生8个中断?2. 如果只能部分才能成功的入队,怎样保证它们全部成功的入队?
xinrong long:
回复 Andy Yin1:
是的,是我中断服务程序写的有问题。
user4436248:
你好,我想问下你是用的什么程序调试的,能否告知一下