在整合前,在单核模式下,DSP能正常与PC机之间进行UDP通信(采用PDK 中Pa 单核的例程改的,接收采用中断模式);在8核模式下,sys/bios中的IPC模块能正常进行多核同步与Notify进行核间通信。
在测试Notify的多核工程下(8个核分别有8个工程,主从模式,从核共用一套程序),将网口驱动加入主核中,结果,在测试时,主核 从核同步后,主核向从核发送notify时,不是知道是主核未发出去还是从核没有接收到,从核无法进入到 IPC回调函数中。而把网口驱动注释后,又能恢复正常。
不知道这个是为何,难道 notify 过程 与 中断模块冲突?
麻烦专家指导一下,谢谢
Andy Yin1:
合在一起的代码网络收发正常么?有可能是中断复用导致,可以查看ISTP寄存器存储地址对应的中断矢量表内容,如果确认有复用,可以把IPC notify interrupt register放在PA中断注册后面,或者修改一下PA中断注册矢量号试试。
Wu Feng:
回复 Andy Yin1:
合在一起网络收发正常。网络中断用的是中断号8,IPC用的是默认的5,PA初始化过程就是在IPC注册前。
今天我在发送notify 前,打开kick寄存器后,现在可以正常发送与接收ipc事件了。难道在bios中初始化中断时把kick给自动关了?
Jack Dong:
回复 Wu Feng:
你好,我在把ipc与网络整合的时候也出现类似的问题,ipc我才用的是messageQ方式,请问具体应该是怎么修改的?能把你的测试例程代码发给我一下吗?我的qq邮箱949216402@qq.com 这个问题困扰我很久了,急求帮忙
zhao jd:
回复 Wu Feng:
您好!我现在也是结合PA_EMAC的例子和IPC 的notify_multicore ,也出现了类似问题,只能实现一次的 核间通信,我看您的解决方法说是要打开kick寄存器,但是操作呢,希望指点一下!
ZJD